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
/*NON-PAYABLE*/
{
uint256
var0
=
sub_1E8
();
var0
=
sub_CF3
(*
0x40
,
var0
);
return
(*
0x40
,
var0
- *
0x40
); }
function
sub_C8
()
public
/*NON-PAYABLE*/
{
var2
=
msg.data
.length; (
uint256
var1
,
var2
,
uint256
var3
) =
sub_AB2
(
0x4
,
var2
);
sub_2C1
(
var3
,
var2
,
var1
);
stop
(); }
function
logWinner
()
public
/*NON-PAYABLE*/
{
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
/*NON-PAYABLE*/
{
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
/*NON-PAYABLE*/
{
var1
= storage[
0x0
];
return
; }
function
isWinner
()
public
view
/*NON-PAYABLE*/
{
var2
=
msg.data
.length;
uint256
var1
=
sub_A8C
(
0x4
,
var2
);
sub_695
(
var1
);
return
; }
function
sub_179
()
public
/*NON-PAYABLE*/
{
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
/*NON-PAYABLE*/
{
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
/*NON-PAYABLE*/
{
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
; } }