Generated by JEB v3.0-beta.6 (2018/11/20)
contract
ContractPolyswarmChallengePart2
{
uint256
g0_0
;
uint256
g1_0
;
function
start
() {
*0x40
= 0x80
;
var1
= msg.data
.length;
if
(var1
>= 0x4
) {
uint256
var0
= (uint256
)$msg.sig
;
if
(var0
== 0x31d2111c
) {
getWinnerNames
();
}
if
(var0
== 0x3e27df2a
) {
sub_C8
();
}
if
(var0
== 0x7fd4b61a
) {
logWinner
();
}
if
(var0
== 0x8d578121
) {
winner_addr_list
();
}
if
(var0
== 0x8da5cb5b
) {
owner
();
}
if
(var0
== 0x9d9ca28d
) {
isWinner
();
}
if
(var0
== 0xc3e85124
) {
sub_179
();
}
if
(var0
== 0xd2ec9fe7
) {
getWinnerAddrs
();
}
if
(var0
== 0xd4a55161
) {
winner_name_list
();
}
}
revert
(0x0
, 0x0
);
}
function
getWinnerNames
() public
view
{
uint256
var0
= sub_1E8
();
var0
= sub_CF3
(*0x40
, var0
);
return
(*0x40
, var0
- *0x40
);
}
function
sub_C8
() public
{
var2
= msg.data
.length;
(uint256
var1
, var2
, uint256
var3
) = sub_AB2
(0x4
, var2
);
sub_2C1
(var3
, var2
, var1
);
stop
();
}
function
logWinner
() public
{
uint256
var10
;
uint256
var8
;
var2
= msg.data
.length;
(uint256
var1
, var2
, uint256
var3
) = sub_AB2
(0x4
, var2
);
var4
= storage[0x3
];
var9
= msg.sender
;
if
((address(var4
)) != msg.sender
) {
revert
(0x0
, 0x0
);
}
if
(*var3
< 0x40
) {
var8
= *0x40
;
*var8
= 0x8c379a000000000000000000000000000000000000000000000000000000000
;
var8
= sub_D23
(var8
+ 0x4
);
revert
(*0x40
, var8
- *0x40
);
}
if
(*var3
< 0x40
) {
revert
(0x0
, 0x0
);
}
var8
= sub_802
(0x40
, 0x20
, var3
);
var9
= storage[0x1
];
var4
= var8
;
uint256
var5
= (address(var1
)) ^ var9
;
uint256
var6
;
for
(var6
= 0x0
; (var6
& 0xffffffff
) < *var4
; ++var6
) {
var8
= var5
;
var9
= var6
& 0x1f
;
if
(var9
>= 0x20
) {
invalid
();
}
var8
= ((var9
& 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
? 0x0
: (var8
>>> (0x100
- (((uint256
)(0
)) | (((uint256
)(((uint256
)(var9
+ 0x1
)))) << 3
)))) & 0xff
) * 0x100000000000000000000000000000000000000000000000000000000000000
) ^ 0x4200000000000000000000000000000000000000000000000000000000000000
;
var9
= var4
;
var10
= var6
& 0xffffffff
;
if
(*var4
<= var10
) {
invalid
();
}
var9
= var9
+ var10
+ 0x20
;
*var9
= (unsigned char
)((((*var9
/ 0x100000000000000000000000000000000000000000000000000000000000000
* 0x100000000000000000000000000000000000000000000000000000000000000
) ^ var8
) & 0xff00000000000000000000000000000000000000000000000000000000000000
) >>> 0xf8
);
}
var9
= storage[0x2
];
uint256
var11
= *0x40
;
uint256*
var12
= ((((uint256
)((var9
& 0x1
) == 0x0
)) * 0x100
+ 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
) & var9
) / 0x2
;
*0x40
= ((uint256
)(((char*
)var12
) + 0x1f
)) / 0x20
* 0x20
+ var11
+ 0x20
;
*var11
= var12
;
var9
= var4
;
var10
= var11
;
uint256*
var13
= var11
+ 0x20
;
uint256*
var15
= var12
;
if
(!((unsigned char
)(((int
)var12
) == 0x0
))) {
if
(!((unsigned char
)(((int
)var12
) > 0x1f
))) {
var18
= storage[0x2
];
*var13
= var18
/ 0x100
* 0x100
;
}
else
{
uint256*
$tmp
= var13
;
var13
= (uint256*
)(((int
)var13
) + ((int
)var12
));
uint256*
var14
= $tmp
;
*0x0
= 0x2
;
var15
= keccak256
(0x0
, 0x20
);
$tmp
= var15
;
var15
= var14
;
var14
= $tmp
;
do
{
var16
= storage[var14
];
*var15
= var16
;
var14
= (uint256*
)(((char*
)var14
) + 0x1
);
++var15
;
}
while
(((unsigned char
)(((int
)var13
) > ((int
)var15
))));
}
}
var8
= sub_8B8
(var10
, var9
);
if
(var8
!= 0x0
) {
*0x0
= address(var1
);
*0x20
= 0x4
;
var10
= keccak256
(0x0
, 0x40
);
var11
= storage[var10
];
storage[var10
] = (var11
& 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
) | 0x1
;
var8
= sub_802
(0x20
, 0x0
, var3
);
var10
= storage[0x6
];
g1_0
= var10
+ 0x1
;
*0x0
= 0x6
;
uint256
var7
= var8
;
sub_981
(*var8
, var7
+ 0x20
, var10
+ 0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f
);
var9
= storage[0x5
];
g0_0
= var9
+ 0x1
;
*0x0
= 0x5
;
var8
= var9
+ 0x36b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0
;
var9
= storage[var8
];
storage[var8
] = (address(var1
)) | (var9
& 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
);
var9
= sub_CB3
(*0x40
, var2
, var7
, var1
);
log1
(*0x40
, var9
- *0x40
, 0x7804feab32c9029e450d463575157bebe1cb6700ad1104371721398aaff9aad3
);
return
;
}
else
{
**0x40
= 0x8c379a000000000000000000000000000000000000000000000000000000000
;
jump
0xd23
;
}
}
function
winner_addr_list
() public
view
{
var2
= msg.data
.length;
uint256
var1
= sub_B17
(0x4
, var2
);
(uint256
var0
, var1
) = sub_65E
(var1
);
sub_B35
(var1
, *0x40
);
return
;
}
function
owner
() public
view
{
var1
= storage[0x0
];
return
;
}
function
isWinner
() public
view
{
var2
= msg.data
.length;
uint256
var1
= sub_A8C
(0x4
, var2
);
sub_695
(var1
);
return
;
}
function
sub_179
() public
{
var2
= msg.data
.length;
uint256
var1
= sub_A8C
(0x4
, var2
);
var2
= storage[0x0
];
var3
= msg.sender
;
if
((address(var2
)) != msg.sender
) {
revert
(0x0
, 0x0
);
}
var3
= storage[0x3
];
storage[0x3
] = (address(var1
)) | (var3
& 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
);
}
function
getWinnerAddrs
() public
view
{
uint256
var0
= sub_6F9
();
uint256*
var2
= *0x40
;
uint256
var1
= var0
;
*var2
= 0x20
;
uint256
var5
= var2
+ 1
;
uint256
var6
= var0
;
uint256
var8
= sub_D88
(var0
);
*var5
= var8
;
var5
+= 0x20
;
uint256
var9
= sub_D82
(var0
);
for
(uint256
var10
= 0x0
; var10
< var8
; ++var10
) {
sub_B35
(*var9
, var5
);
uint256
var11
= sub_D82
(var9
);
var5
+= 0x20
;
var9
= var11
;
}
}
function
winner_name_list
() public
view
{
var2
= msg.data
.length;
uint256
var1
= sub_B17
(0x4
, var2
);
(uint256
var0
, var1
) = sub_75B
(var1
);
uint256*
var3
= *0x40
;
*var3
= 0x20
;
sub_C0B
(var1
, var3
+ 1
);
jump
0xd23
;
}
function
sub_1E8
() private
view
returns
(uint256
) {
uint256*
$tmp
;
var2
= storage[0x6
];
uint256*
var3
= *0x40
;
*0x40
= ((uint256
)(((uint256
)(((int
)(((int256*
)var2
))) * 0x20
)) + ((int
)var3
))) + 0x20
;
uint256*
var1
= var3
;
uint256*
var4
= var3
;
var3
= var2
;
*var4
= var2
;
uint256*
var5
= var4
+ 1
;
for
(var4
= 0x0
; !((unsigned char
)(((int
)var3
) <= ((int
)var4
))); var4
= $tmp
) {
*0x0
= 0x6
;
var7
= keccak256
(0x0
, 0x20
);
var7
= (uint256*
)(((int
)var4
) + ((int
)var7
));
var8
= storage[var7
];
uint256*
var10
= *0x40
;
var8
= ((uint256
)((((uint256
)(((uint256
)(((int
)var8
) & 0x1
)) == 0x0
)) * 0x100
+ 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
) & ((int
)var8
))) / 0x2
;
*0x40
= ((uint256
)(((uint256
)(((char*
)var8
) + 0x1f
)) / 0x20
* 0x20
+ ((int
)var10
))) + 0x20
;
*var10
= var8
;
uint256*
var6
= var10
;
uint256*
var9
= var10
+ 1
;
var10
= var7
;
uint256*
var11
= var8
;
if
(!((unsigned char
)(((int
)var8
) == 0x0
))) {
if
(!((unsigned char
)(((int
)var8
) > 0x1f
))) {
var14
= storage[var10
];
*var9
= var14
/ 0x100
* 0x100
;
}
else
{
$tmp
= var9
;
var9
= (uint256*
)(((int
)var9
) + ((int
)var8
));
var11
= var7
;
var10
= $tmp
;
*0x0
= var7
;
var11
= keccak256
(0x0
, 0x20
);
$tmp
= var11
;
var11
= var10
;
var10
= $tmp
;
do
{
var12
= storage[var10
];
*var11
= var12
;
var10
= (uint256*
)(((char*
)var10
) + 0x1
);
++var11
;
}
while
(((unsigned char
)(((int
)var9
) > ((int
)var11
))));
}
}
*var5
= var6
;
$tmp
= var5
+ 1
;
var5
= var4
;
var4
= $tmp
;
$tmp
= (uint256*
)(((char*
)var5
) + 0x1
);
var5
= var4
;
}
return
var1
;
}
function
sub_2C1
(uint256
par1
, uint256
par2
, uint256
par3
) private
{
var0
= storage[0x0
];
var1
= msg.sender
;
if
(!((unsigned char
)(((uint256
)(address(((int
)var0
)))) == ((int
)msg.sender
)))) {
revert
(0x0
, 0x0
);
}
var1
= *0x40
;
*0x40
= var1
+ 3
;
*var1
= par2
;
uint256*
var3
= var1
+ 1
;
*var3
= par3
;
*(var1
+ &loc_2
) = 0x1
;
*0x0
= address(par1
);
*0x20
= 0x7
;
var4
= keccak256
(0x0
, 0x40
);
storage[var4
] = *var1
;
uint256*
$tmp
= var4
;
var4
= *var3
;
var0
= var1
;
var1
= $tmp
;
sub_981
(*var4
, var4
+ 1
, ((uint256
)(((char*
)var1
) + 0x1
)));
var1
= (uint256*
)(((char*
)var1
) + 0x2
);
var2
= storage[var1
];
storage[var1
] = (var2
& 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
) | ((uint256
)(*(var0
+ &loc_2
) != 0x0
));
}
function
sub_65E
(uint256
par1
) private
view
returns
(uint256
) {
var1
= storage[0x5
];
uint256
var2
= var1
;
var1
= par1
;
if
(par1
>= var2
) {
invalid
();
}
*0x0
= 0x5
;
uint256
$tmp
= var1
;
var1
= keccak256
(0x0
, 0x20
);
var0
= storage[$tmp
+ var1
];
return
address(var0
);
}
function
sub_695
(uint256
par1
) private
view
returns
(uint256
) {
*0x0
= address(par1
);
*0x20
= 0x4
;
par1
= keccak256
(0x0
, 0x40
);
par1
= storage[par1
];
return
par1
& 0xff
;
}
function
sub_6F9
() private
view
returns
(uint256
) {
var2
= storage[0x5
];
uint256*
var3
= *0x40
;
*0x40
= ((uint256
)(var2
* 0x20
+ ((int
)var3
))) + 0x20
;
uint256*
var1
= var3
;
*var3
= var2
;
uint256
var4
= var3
+ 1
;
var6
= storage[0x5
];
if
(var6
!= 0x0
) {
int256
$tmp
= var4
;
var4
+= var6
* 0x20
;
int256
var5
= $tmp
;
*0x0
= 0x5
;
var6
= keccak256
(0x0
, 0x20
);
$tmp
= var6
;
var6
= var5
;
var5
= $tmp
;
do
{
var7
= storage[var5
];
*var6
= address(var7
);
++var5
;
var6
+= 0x20
;
}
while
(var4
> ((uint256
)var6
));
}
return
var1
;
}
function
sub_75B
(uint256*
par1
) private
view
returns
(uint256
) {
var1
= storage[0x6
];
uint256*
var2
= var1
;
var1
= par1
;
if
(!((unsigned char
)(((int
)par1
) < ((int
)var2
)))) {
invalid
();
}
*0x0
= 0x6
;
var2
= keccak256
(0x0
, 0x20
);
var1
= (uint256*
)(((int
)var1
) + ((int
)var2
));
var2
= storage[var1
];
uint256*
var4
= *0x40
;
var2
= ((uint256
)((((uint256
)(((uint256
)(((int
)var2
) & 0x1
)) == 0x0
)) * 0x100
+ 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
) & ((int
)var2
))) / 0x2
;
*0x40
= ((uint256
)(((uint256
)(((char*
)var2
) + 0x1f
)) / 0x20
* 0x20
+ ((int
)var4
))) + 0x20
;
*var4
= var2
;
par1
= var4
;
uint256*
$tmp
= var1
;
var1
= var2
;
var2
= var4
+ 1
;
uint256*
var3
= $tmp
;
var4
= var1
;
if
(!((unsigned char
)(((int
)var1
) == 0x0
))) {
if
(!((unsigned char
)(((int
)var1
) > 0x1f
))) {
var7
= storage[var3
];
*var2
= var7
/ 0x100
* 0x100
;
}
else
{
$tmp
= var2
;
var2
= (uint256*
)(((int
)var2
) + ((int
)var1
));
var4
= var3
;
var3
= $tmp
;
*0x0
= var4
;
var4
= keccak256
(0x0
, 0x20
);
$tmp
= var4
;
var4
= var3
;
var3
= $tmp
;
do
{
var5
= storage[var3
];
*var4
= var5
;
var3
= (uint256*
)(((char*
)var3
) + 0x1
);
++var4
;
}
while
(((unsigned char
)(((int
)var2
) > ((int
)var4
))));
}
}
return
par1
;
}
function
sub_802
(uint256*
par1
, uint256*
par2
, uint256
par3
) private
pure
returns
(uint256
) {
uint256*
var4
= (uint256*
)(par3
- ((int
)par2
));
uint256*
var3
= *0x40
;
*var3
= var4
;
*0x40
= ((uint256
)((((uint256
)(((char*
)var4
) + 0x1f
)) & 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
) + ((int
)var3
))) + 0x20
;
if
(!((unsigned char
)(((int
)var4
) == 0x0
))) {
var8
= codesize
();
codecopy
(var3
+ 1
, var8
, ((uint256
)(((int
)(((int256*
)var4
))) * 0x20
)));
}
uint256*
var1
= var3
;
for
(uint256*
var2
= par2
; !((unsigned char
)(par3
<= ((int
)var2
))); var2
= (uint256*
)(((char*
)var2
) + 0x1
)) {
var3
= par1
;
var4
= var2
;
if
(!((unsigned char
)(*par1
> ((int
)var2
)))) {
invalid
();
}
var3
= *(((uint256
)(((int
)var3
) + ((int
)var4
))) + 0x20
) / 0x100000000000000000000000000000000000000000000000000000000000000
* 0x100000000000000000000000000000000000000000000000000000000000000
;
var4
= var1
;
uint256
var5
= (uint256
)(((int
)var2
) - ((int
)par2
));
if
(*var1
<= var5
) {
invalid
();
}
*(((uint256
)(((int
)var4
) + var5
)) + 0x20
) = (unsigned char
)(((uint256
)(((int
)var3
) & 0xff00000000000000000000000000000000000000000000000000000000000000
)) >>> 0xf8
);
}
return
var1
;
}
function
sub_8B8
(uint256*
par1
, uint256*
par2
) private
pure
returns
(uint256
) {
uint256
var0
;
if
(*par1
!= *par2
) {
var0
= 0x0
;
}
else
{
uint256*
var1
= 0x0
;
loc_8DC:
do
{
if
(!((unsigned char
)(*par1
<= ((int
)var1
)))) {
uint256*
var2
= par2
;
uint256*
var3
= var1
;
if
(!((unsigned char
)(*par2
> ((int
)var1
)))) {
invalid
();
}
else
{
var2
= (*(((uint256
)(((int
)var2
) + ((int
)var1
))) + 0x20
) / 0x100000000000000000000000000000000000000000000000000000000000000
* 0x100000000000000000000000000000000000000000000000000000000000000
) & 0xff00000000000000000000000000000000000000000000000000000000000000
;
var3
= par1
;
uint256*
var4
= var1
;
if
(!((unsigned char
)(*par1
> ((int
)var1
)))) {
invalid
();
}
else
if
(!((unsigned char
)(((*(((uint256
)(((int
)par1
) + ((int
)var1
))) + 0x20
) / 0x100000000000000000000000000000000000000000000000000000000000000
* 0x100000000000000000000000000000000000000000000000000000000000000
) & 0xff00000000000000000000000000000000000000000000000000000000000000
) == ((int
)var2
)))) {
var0
= 0x0
;
}
else
{
var1
= (uint256*
)(((char*
)var1
) + 0x1
);
goto
loc_8DC
;
}
}
return
var0
;
}
}
while
(!((unsigned char
)(*par1
<= ((int
)var1
))));
var0
= 0x1
;
}
return
var0
;
}
function
sub_981
(uint256
par1
, uint256
par2
, uint256
par3
) private
returns
(uint256
) {
var1
= storage[par1
];
uint256
var0
= ((((uint256
)((var1
& 0x1
) == 0x0
)) * 0x100
- 0x1
) & var1
) / 0x2
;
*0x0
= par1
;
var1
= keccak256
(0x0
, 0x20
);
uint256
$tmp
= var1
;
var1
= var0
;
var0
= $tmp
;
$tmp
= (var1
+ 0x1f
) / 0x20
+ var0
;
var1
= par2
;
par2
= $tmp
;
if
(par3
<= 0x1f
) {
storage[par1
] = (par3
* 0x2
) | (*var1
& 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
);
}
else
{
storage[par1
] = par3
* 0x2
+ 0x1
;
if
(par3
!= 0x0
) {
$tmp
= var1
;
var1
= par3
;
par3
= $tmp
;
var1
+= $tmp
;
while
(par3
< var1
) {
storage[var0
] = *par3
;
par3
+= 0x20
;
++var0
;
}
}
}
sub_9FF
(var0
, par2
);
return
par1
;
}
function
sub_9FF
(uint256
par1
, uint256
par2
) private
returns
(uint256
) {
uint256
var0
= par2
;
par2
= par1
;
while
(par2
> var0
) {
storage[var0
] = 0x0
;
++var0
;
}
return
par2
;
}
function
sub_A19
(uint256
par1
, uint256
par2
) private
pure
returns
(uint256
) {
var2
= calldataload
(par2
);
return
sub_D8C
(var2
);
}
function
sub_A2C
(int256
par1
, uint256
par2
) private
pure
returns
(uint256
) {
if
(par2
+ 0x1f
>= par1
) {
revert
(0x0
, 0x0
);
}
var1
= calldataload
(par2
);
uint256
var3
= sub_D5A
(var1
);
uint256
var2
= sub_D33
(var3
);
uint256
var0
= var2
;
*var2
= var1
;
var2
= par2
+ 0x20
;
var3
= var0
+ 0x20
;
if
(var1
+ var2
> ((uint256
)par1
)) {
revert
(0x0
, 0x0
);
}
sub_D9D
(var2
, var3
, var1
);
return
var0
;
}
function
sub_A80
(uint256
par1
, uint256
par2
) private
pure
returns
(uint256
) {
return
calldataload
(par2
);
}
function
sub_A8C
(uint256
par1
, uint256
par2
) private
pure
returns
(uint256
) {
if
(par1
- par2
< 0x20
) {
revert
(0x0
, 0x0
);
}
return
sub_A19
(par2
, par1
);
}
function
sub_AB2
(uint256
par1
, uint256
par2
) private
pure
returns
(uint256
) {
if
(par1
- par2
< 0x60
) {
revert
(0x0
, 0x0
);
}
sub_A19
(par2
, par1
);
sub_A80
(par2
+ 0x20
, par1
);
var3
= calldataload
(par2
+ 0x40
);
if
(var3
> 0xffffffffffffffff
) {
revert
(0x0
, 0x0
);
}
return
sub_A2C
(par2
+ var3
, par1
);
}
function
sub_B17
(uint256
par1
, uint256
par2
) private
pure
returns
(uint256
) {
if
(par1
- par2
< 0x20
) {
revert
(0x0
, 0x0
);
}
sub_A80
(par2
, par1
);
jump
0xb35
;
}
function
sub_B35
(uint256*
par1
, uint256
par2
) private
pure
{
uint256
var0
= sub_D8C
(par2
);
*par1
= var0
;
}
function
sub_C0B
(uint256*
par1
, uint256
par2
) private
pure
returns
(uint256
) {
uint256
var1
= sub_D88
(par2
);
*par1
= var1
;
sub_DA9
(par2
+ 0x20
, par1
+ 1
, var1
);
uint256
var2
= sub_DD9
(var1
);
return
((uint256
)(((int
)par1
) + var2
)) + 0x20
;
}
function
sub_CB3
(uint256
par1
, uint256
par2
, uint256
par3
, uint256
par4
) private
pure
returns
(uint256
) {
uint256
var0
= par4
+ 0x60
;
sub_B35
(par1
, par4
);
*(par4
+ 0x20
) = var0
- par4
;
sub_C0B
(par2
, var0
);
return
par3
;
}
function
sub_CF3
(uint256
par1
, uint256*
par2
) private
pure
returns
(uint256
) {
*par2
= 0x20
;
uint256*
var2
= par2
+ 1
;
uint256
var3
= par1
;
uint256
var5
= sub_D88
(par1
);
*var2
= var5
;
++var2
;
uint256*
var6
= var2
;
uint256
var7
= (uint256
)(var5
* 0x20
+ ((int
)var2
));
uint256
var8
= sub_D82
(par1
);
for
(uint256
var9
= 0x0
; var9
< var5
; ++var9
) {
*var2
= (uint256
)(var7
- ((int
)var6
));
uint256
var10
= sub_C0B
(*var8
, var7
);
var7
= var10
;
var10
= sub_D82
(var8
);
++var2
;
var8
= var10
;
}
return
var7
;
}
function
sub_D23
(uint256*
par1
) private
pure
returns
(uint256
) {
*par1
= 0x20
;
uint256*
var2
= par1
+ 1
;
*var2
= 0x22
;
*(var2
+ 1
) = 'that wasn\'t very cash money of y'
;
*(var2
+ &loc_2
) = 'ou\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000'
;
return
var2
+ 3
;
}
function
sub_D33
(uint256
par1
) private
pure
returns
(uint256
) {
uint256
var0
= *0x40
;
uint256
var1
= par1
+ var0
;
if
((((uint256
)(var0
> var1
)) | ((uint256
)(var1
> 0xffffffffffffffff
))) != 0x0
) {
revert
(0x0
, 0x0
);
}
*0x40
= var1
;
return
var0
;
}
function
sub_D5A
(uint256
par1
) private
pure
returns
(uint256
) {
if
(par1
> 0xffffffffffffffff
) {
revert
(0x0
, 0x0
);
}
return
((par1
+ 0x1f
) & 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
) + 0x20
;
}
function
sub_D82
(uint256
par1
) private
pure
returns
(uint256
) {
return
par1
+ 0x20
;
}
function
sub_D88
(uint256*
par1
) private
pure
returns
(uint256
) {
return
*par1
;
}
function
sub_D8C
(uint256
par1
) private
pure
returns
(uint256
) {
return
address(par1
);
}
function
sub_D9D
(uint256
par1
, uint256
par2
, uint256
par3
) private
pure
{
calldatacopy
(par2
, par3
, par1
);
*(par1
+ par2
) = 0x0
;
}
function
sub_DA9
(uint256
par1
, uint256
par2
, uint256
par3
) private
pure
{
uint256
var0
;
for
(var0
= 0x0
; var0
< par1
; var0
+= 0x20
) {
*(par2
+ var0
) = *(par3
+ var0
);
}
if
(par1
< var0
) {
*(par1
+ par2
) = 0x0
;
}
}
function
sub_DD9
(uint256
par1
) private
pure
returns
(uint256
) {
return
(par1
+ 0x1f
) & 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
;
}
}