Function at 0x10054b50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x54
mov eax, dword [0x100726d4]
mov ecx, dword [0x100726d8]
and ecx, eax
mov edx, eax
sub edx, ecx
not eax
add eax, edx
mov edx, dword [0x10075f0c]
add eax, ecx
add eax, 0xb
cmp dword [0x10075f10], eax
setl al
mov ecx, edx
xor ecx, 1
sub ecx, edx
mov esi, edx
xor esi, 0xfe
add ecx, esi
add ecx, 0xa7e8bc78
imul ecx, edx
and al, cl
add al, cl
test al, 1
jne 0x10054e26
push eax
mov dword [ebp - 0x1c], esp
push eax
mov dword [ebp - 0x50], esp
push eax
mov edx, esp
push eax
mov esi, esp
push eax
mov edi, esp
push eax
mov ebx, esp
mov ecx, dword [ebp + 8]
mov dword [ebx], ecx
mov dword [ebp - 0x5c], ebx
mov eax, dword [ebx]
mov eax, dword [eax]
mov dword [ebp - 0x4c], edi
mov dword [edi], eax
lea eax, [ecx + 4]
mov dword [esi], eax
mov dword [ebp - 0x54], esi
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x58], edx
mov dword [edx], eax
mov edi, dword [0x100726bc]
mov eax, edi
not eax
mov dword [ebp - 0x24], eax
and eax, 0xfa2db7f2
lea ecx, [eax + edi*2]
mov eax, edi
or eax, 0xfa2db7f2
sub ecx, eax
lea eax, [ecx - 0x5d2480e]
mov edx, eax
and edx, 0x5d2480e
add edx, ecx
add edx, 0xfa2db7f2
mov ecx, edi
not eax
add edx, eax
or eax, 0x5d2480e
sub edx, eax
mov dword [ebp - 0x34], edx
mov esi, dword [0x100726c0]
and ecx, esi
add ecx, edi
mov edx, edi
or edx, esi
not edx
add edx, ecx
mov ebx, esi
not ebx
mov eax, edi
or eax, ebx
mov dword [ebp - 0x10], eax
mov eax, edi
and eax, ebx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
mov ecx, eax
and ecx, ebx
mov dword [ebp - 0x2c], ebx
or ebx, eax
add ebx, ecx
add ebx, edi
mov dword [ebp - 0x14], esi
xor edi, esi
add edi, dword [ebp - 0x30]
or eax, esi
add eax, edi
add eax, 1
sub edx, dword [ebp - 0x10]
or eax, edx
mov esi, dword [ebp - 0x34]
lea edi, [esi + 0x5d2480e]
mov ecx, edi
and ecx, 0xa622624a
mov edx, edi
xor edx, 0xa622624a
add edx, ecx
or edi, 0xa622624a
sub edx, edi
lea ecx, [edx + esi]
add ecx, 0xabf4aa58
mov edx, eax
neg edx
and edx, ecx
sub ecx, edx
sub ecx, eax
sub ecx, eax
add ecx, eax
add edx, ecx
add edx, 0x59dd9db6
mov ecx, dword [ebp - 0x14]
mov eax, ecx
xor eax, 0xb8e3cc7d
add eax, ecx
or ecx, 0xb8e3cc7d
sub eax, ecx
mov ecx, dword [ebp - 0x2c]
and ecx, 0xb8e3cc7d
or eax, ecx
mov ecx, eax
not ecx
mov esi, eax
and esi, 0x471c3382
xor eax, 0x471c3382
add esi, eax
and ecx, 0xb8e3cc7d
add ecx, esi
add ecx, eax
mov eax, edx
not eax
mov esi, eax
and esi, 0x390aa93e
add esi, esi
sub edx, esi
add eax, eax
or eax, 0x8deaad82
lea esi, [edx + eax]
mov dword [ebp - 0x24], esi
lea edi, [edx + eax]
add edi, 0xab1ffbbc
mov edx, ecx
not edx
mov esi, edi
and esi, edx
mov eax, edi
and eax, ecx
sub eax, esi
mov esi, dword [ebp - 0x24]
add eax, esi
add eax, 0xab1ffbbc
xor edi, edx
sub eax, ecx
not edi
add edi, eax
sub edi, ecx
lea eax, [edi - 1]
lea ecx, [eax + eax*2]
and eax, 0x390aa93e
sub ecx, eax
sub ecx, edi
neg edi
or edi, 0x390aa93e
lea eax, [ecx + edi]
add ecx, edi
add ecx, 0xc6f556c4
mov edi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x10]
lea edx, [ebx + ebx*2]
add ebx, ebx
sub edx, ebx
mov esi, ecx
and esi, 0xfc66c687
add eax, eax
add eax, 0x8deaad88
sub eax, esi
not ecx
or ecx, 0xfc66c687
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xfc66c688
mov ecx, eax
xor ecx, 0xfc66c687
mov edx, eax
sub edx, ecx
not eax
mov ecx, eax
and ecx, 0x3993978
add ecx, ecx
sub edx, ecx
lea ecx, [edx + eax]
add eax, edx
add eax, 0x85677f60
mov edx, eax
not edx
and edx, 0x7e350c6f
add ecx, edx
add ecx, 0x85677f60
and eax, 0x7e350c6f
add eax, ecx
add eax, 0x395e722
cmp dword [ebp + 0xc], eax
sete byte [edi]
push eax
mov ebx, esp
mov dword [ebx], 0x30d21d00
push eax
mov dword [ebp - 0x24], esp
push eax
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0x30], esp
push eax
mov dword [ebp - 0x48], esp
push eax
mov dword [ebp - 0x44], esp
push eax
mov edi, esp
mov dword [edi], 0x60353d6e
mov eax, dword [0x100762f8]
cmp dword [0x100762f4], 0xa
setl cl
mov edx, eax
or edx, 1
add edx, eax
add edx, eax
mov esi, eax
not esi
add edx, esi
add edx, 0xffffffff
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x1005500f
push eax
push eax
mov dword [ebp - 0x10], esp
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
mov edx, esp
push eax
mov esi, esp
mov edi, dword [ebp + 8]
mov dword [esi], edi
mov esi, dword [esi]
mov esi, dword [esi]
mov dword [edx], esi
lea edx, [edi + 4]
mov dword [ecx], edx
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov edi, dword [0x100726bc]
mov ecx, dword [0x100726c0]
mov esi, ecx
not esi
mov eax, edi
and eax, esi
mov ebx, edi
xor ebx, ecx
add eax, ebx
not ebx
add ebx, eax
mov eax, edi
or eax, esi
sub ebx, eax
mov eax, edi
and eax, ecx
or ebx, eax
mov eax, edi
and eax, 0x59dd9db5
add eax, eax
mov edx, edi
sub edx, eax
mov eax, edi
xor eax, 0xa622624a
add eax, edx
mov dword [ebp - 0x1c], eax
mov eax, edi
not eax
mov dword [ebp - 0x2c], esi
mov edx, esi
mov dword [ebp - 0x30], ecx
sub edx, ecx
add edx, esi
add edx, ecx
sub edx, esi
mov ecx, edx
not ecx
and ecx, eax
mov dword [ebp - 0x24], ecx
mov esi, eax
or eax, edx
mov dword [ebp - 0x34], eax
or edx, edi
or edi, 0x59dd9db5
add edi, dword [ebp - 0x1c]
or esi, 0xa622624a
sub edi, esi
mov esi, ebx
neg esi
add edi, 0xa622624a
mov ecx, edi
not ecx
and ecx, esi
add ecx, ecx
mov eax, edi
sub eax, ecx
sub eax, ebx
add ebx, ebx
sub eax, ebx
and edi, esi
not edi
lea ecx, [eax + edi*2]
lea edi, [eax + edi*2]
add edi, 2
mov eax, edi
and eax, 0xa622624a
mov esi, edi
and esi, 0x59dd9db5
sub esi, eax
lea eax, [esi + ecx]
add eax, 2
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
lea ecx, [eax + eax]
sub ecx, eax
mov eax, dword [ebp - 0x30]
mov esi, eax
and eax, 0x471c3382
or esi, 0xb8e3cc7d
mov ebx, eax
sub ebx, esi
add eax, ebx
add eax, 0xb8e3cc7d
and ecx, 0xb8e3cc7d
mov esi, ecx
and esi, eax
mov ebx, ecx
or ebx, eax
add ebx, esi
not ecx
add ebx, ecx
or ecx, eax
sub ebx, ecx
xor edi, 0x59dd9db5
mov eax, dword [ebp - 0x1c]
add eax, edi
add eax, 0x390aa93f
xor ebx, 0x471c3382
mov ecx, ebx
neg ecx
mov esi, eax
not esi
and esi, ecx
mov edi, eax
sub edi, esi
sub edi, ebx
or ecx, eax
add edi, ecx
not ecx
add ecx, edi
add ebx, 0xffffffff
or ebx, eax
sub ecx, ebx
mov eax, ecx
and eax, 0x390aa93e
add eax, eax
sub eax, ecx
mov esi, ecx
xor esi, 0x390aa93e
add esi, eax
mov eax, ecx
or eax, 0xc6f556c1
add eax, esi
not ecx
or ecx, 0x390aa93e
sub eax, ecx
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x24]
add edx, ecx
add eax, edx
add eax, 0xc6f556c3
imul ecx, eax, 0x25c446e7
imul eax, eax, 0x8eb32b4b
add eax, ecx
not ecx
sub eax, ecx
sub eax, ecx
add eax, ecx
imul eax, eax, 0xc1169329
add eax, 0x3ee96cd7
cmp dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x10]
sete byte [eax]
push eax
mov eax, esp
mov ecx, dword [0x1007293c]
xor ecx, dword [0x10072940]
mov edx, ecx
not edx
add edx, edx
lea ecx, [edx + ecx*2]
mov edx, 0x30d21cfe
sub edx, ecx
mov dword [eax], edx
push eax
push eax
push eax
push eax
push eax
push eax
mov eax, esp
mov dword [eax], 0x60353d6e
jmp 0x10054ba8
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x2c], ebx
nop word cs:[eax + eax]
nop
mov esi, dword [ebp - 0x10]
mov eax, dword [esi]
mov ecx, dword [0x10076278]
cmp dword [0x10076274], 0xa
setl dl
mov ebx, 1
sub ebx, ecx
imul ebx, ecx
test bl, 1
sete cl
or cl, dl
cmp cl, 1
jne 0x10055023
cmp eax, 0x1935b55c
jle 0x10055100
cmp eax, 0x573e67b1
jg 0x100551a0
cmp eax, 0x1935b55d
je 0x1005524f
cmp eax, 0x32123a29
je 0x100552b4
cmp eax, 0x3fb5a5c0
jne 0x100554e0
mov eax, dword [0x100727e4]
mov ecx, dword [0x100727e8]
mov edx, ecx
not edx
and edx, eax
add edx, ecx
or eax, ecx
sub edx, eax
add edx, 0xa
cmp dword [0x10075e3c], edx
mov edx, dword [0x10075e40]
setl al
lea ecx, [edx + edx]
mov esi, edx
not esi
add ecx, esi
add ecx, 0x928f0a48
imul ecx, edx
and ecx, 1
mov edx, dword [0x100727ec]
mov esi, dword [0x100727f0]
mov edi, edx
not edi
or edi, edx
and edi, esi
sub edi, esi
cmp ecx, edi
setne cl
sete dl
or dl, al
or cl, al
add al, dl
not dl
add dl, al
add cl, dl
add cl, 1
test cl, 1
je 0x10055600
jmp 0x10055691
cmp eax, 0xc08c00ac
jle 0x100551ed
cmp eax, 0xc08c00ad
je 0x100552fc
cmp eax, 0xd26f0dc1
je 0x10055397
cmp eax, 0xdc364c3e
jne 0x100554e0
mov eax, dword [0x1007276c]
mov ecx, dword [0x10072770]
mov edx, ecx
not edx
mov esi, eax
and esi, edx
lea esi, [esi + esi*2]
mov edi, eax
or edi, ecx
sub edi, esi
xor ecx, eax
add ecx, edi
lea ecx, [ecx + edx*2]
add eax, ecx
add eax, 0xc
cmp dword [0x10075d2c], eax
mov edx, dword [0x10075d30]
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x10072774]
mov esi, dword [0x10072778]
mov edi, edx
and edx, esi
not esi
or edi, esi
sub edi, esi
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
cmp cl, 1
je 0x10055560
jmp 0x100555dd
cmp eax, 0x573e67b2
je 0x100553dd
cmp eax, 0x60353d6e
je 0x10055454
cmp eax, 0x6bf28c14
jne 0x100554e0
mov eax, dword [0x10075f18]
cmp dword [0x10075f14], 0xa
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x100558f0
jmp 0x10055981
cmp eax, 0xa00087d5
je 0x1005549c
cmp eax, 0xb98b6372
jne 0x100554c8
mov edx, dword [0x10075d8c]
cmp dword [0x10075d90], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x1007288c]
mov esi, dword [0x10072890]
mov edi, edx
not edi
and edi, esi
lea edi, [edx + edi*2]
sub edi, esi
xor edx, esi
sub edi, edx
cmp ecx, edi
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x10055b10
jmp 0x10055e66
mov esi, dword [0x10075dd0]
cmp dword [0x10075dcc], 0xa
setl al
setge ah
lea edx, [esi - 1]
imul edx, esi
mov ecx, dword [0x100727c4]
mov ebx, dword [0x100727c8]
mov esi, ecx
xor esi, ebx
mov edi, ecx
or edi, ebx
not edi
add edi, esi
not esi
add esi, edi
add esi, ebx
not ecx
or ecx, ebx
sub esi, ecx
and edx, 1
add esi, 1
cmp edx, esi
sete cl
and ah, cl
add ah, cl
mov edx, eax
or dl, cl
add dl, ah
and al, cl
not al
add al, dl
test al, 1
je 0x10055820
jmp 0x100558ac
mov ecx, dword [0x10075e90]
cmp dword [0x10075e8c], 0xa
setl al
mov edx, ecx
not edx
add edx, ecx
add edx, ecx
add edx, 0x2ea182b2
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
xor dl, cl
mov ah, al
or ah, cl
add dl, ah
not ah
add ah, dl
and al, cl
not al
add al, ah
test al, 1
jne 0x10056f60
jmp 0x1005704b
mov edx, dword [0x1007285c]
mov eax, dword [0x10072860]
mov ecx, edx
not ecx
and ecx, eax
mov esi, edx
or esi, eax
mov edi, esi
sub edi, ecx
mov ecx, dword [0x10075d64]
not esi
add esi, edi
not eax
or eax, edx
sub esi, eax
add esi, 0xa
cmp dword [0x10075d68], esi
setl al
mov edx, ecx
and edx, 1
add edx, edx
sub edx, ecx
mov esi, ecx
not esi
add esi, edx
lea edx, [ecx + esi]
add edx, 0xdf4c4b80
imul edx, ecx
mov ecx, dword [0x10072864]
mov esi, dword [0x10072868]
mov edi, ecx
or edi, esi
mov ebx, ecx
sub ebx, edi
mov edi, ecx
xor edi, esi
add edi, ebx
not ecx
or ecx, esi
add ecx, edi
add ecx, 1
and edx, 1
cmp edx, ecx
setne cl
sete dl
mov ah, al
and ah, dl
and cl, al
add cl, ah
add cl, al
or al, dl
add al, cl
add al, 1
test al, 1
je 0x10055a30
jmp 0x10055ad9
cmp dword [0x10075dbc], 0xa
mov edx, dword [0x10075dc0]
setl al
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x1007279c]
mov esi, dword [0x100727a0]
mov edi, esi
not edi
and edi, edx
add edi, esi
or edx, esi
sub edi, edx
cmp ecx, edi
sete cl
or cl, al
cmp cl, 1
je 0x10055780
jmp 0x100557f8
mov ecx, dword [0x10075e10]
mov eax, dword [0x10072834]
mov edx, dword [0x10072838]
mov esi, eax
and esi, edx
mov edi, eax
xor eax, edx
not edx
and edi, edx
sub edi, esi
not eax
add eax, edi
sub eax, edx
add eax, 0xa
cmp dword [0x10075e0c], eax
setl al
mov edx, ecx
not edx
sub edx, ecx
sub edx, ecx
imul edx, ecx
mov ecx, dword [str.TsZG]
mov esi, dword [0x10072840]
mov edi, esi
not edi
and edi, ecx
mov ebx, ecx
xor ebx, esi
sub ebx, edi
or esi, ecx
not esi
add esi, ebx
add ecx, esi
add ecx, 1
and edx, 1
cmp edx, ecx
sete cl
or cl, al
cmp cl, 1
je 0x100559c0
jmp 0x10055a1e
mov edx, dword [0x10075db8]
cmp dword [0x10075db4], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x1007274c]
mov esi, dword [str._g]
mov edi, edx
xor edi, edx
not edi
and edi, esi
xor edi, edx
xor edx, esi
sub edx, edi
cmp ecx, edx
sete cl
or cl, al
cmp cl, 1
je 0x100556e0
jmp 0x10055740
mov eax, dword [0x10075ec8]
cmp dword [0x10075ec4], 0xa
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x100561c0
jmp 0x10056939
cmp eax, 0x87d846f9
je 0x1005707e
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [0x10072734]
mov ecx, dword [0x10072738]
mov esi, eax
or esi, ecx
sub esi, eax
sub esi, ecx
not eax
sub esi, eax
or eax, ecx
add eax, esi
add eax, 0xa
cmp dword [0x100761c4], eax
mov esi, dword [0x100761c8]
setge cl
setl al
lea edx, [esi + 1]
imul edx, esi
and edx, 1
mov esi, dword [0x1007273c]
mov edi, dword [0x10072740]
mov ebx, edi
not ebx
and ebx, esi
not esi
or esi, edi
add esi, ebx
add esi, 1
cmp edx, esi
sete dl
setne ah
and ah, al
and cl, dl
or cl, ah
mov ah, al
xor ah, dl
add ah, cl
or al, dl
add al, ah
test al, 1
je 0x100554e0
jmp 0x10056ff0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [0x1007277c]
mov esi, dword [0x10072780]
mov ecx, edx
or ecx, esi
not ecx
add ecx, esi
not edx
or edx, esi
sub ecx, edx
add ecx, 0x30d21d00
cmp eax, ecx
mov eax, 0xd26f0dc1
mov ecx, 0x6bf28c14
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x10072784]
or eax, dword [0x10072788]
mov ecx, eax
not ecx
add ecx, ecx
lea eax, [ecx + eax*2]
add eax, 0xc
cmp dword [0x100761b8], eax
mov eax, dword [0x100761b4]
setge cl
setl dl
lea ebx, [eax - 1]
imul ebx, eax
test bl, 1
sete al
or al, dl
add al, dl
add al, cl
add al, 1
test al, 1
jne 0x10056ff0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, 0x30d21d00
mov eax, 0xd26f0dc1
mov ecx, 0x6bf28c14
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10055560
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x100727f4]
mov edx, dword [0x100727f8]
mov esi, edx
not esi
and esi, ecx
not ecx
or ecx, edx
add ecx, esi
add ecx, 0x30d21d01
cmp eax, ecx
mov eax, 0x573e67b2
mov ecx, 0xb98b6372
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov edx, dword [0x100761a0]
cmp dword [0x1007619c], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x10072804]
mov esi, dword [0x10072808]
mov edi, esi
not edi
and edi, edx
mov ebx, edx
xor ebx, esi
sub ebx, edi
or esi, edx
sub ebx, esi
add ebx, edx
and ecx, 1
cmp ecx, ebx
setne cl
sete dl
mov ah, al
and ah, dl
mov ch, ah
add ch, dl
or al, dl
add al, ch
add al, cl
not ah
add ah, al
test ah, 1
jne 0x10056ff0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x1007296c]
mov esi, dword [0x10072970]
mov edx, ecx
not edx
mov edi, edx
and edi, esi
xor ecx, esi
not ecx
add ecx, edi
or edx, esi
sub ecx, edx
add ecx, 0x30d21d00
cmp eax, ecx
mov eax, 0x573e67b2
mov ecx, 0xb98b6372
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10055600
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [0x1007275c]
mov ecx, dword [0x10072760]
mov edx, eax
not edx
and edx, ecx
mov esi, eax
xor esi, ecx
sub edx, esi
or eax, ecx
add eax, edx
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x100761bc], eax
mov edx, dword [0x100761c0]
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
or al, dl
add al, dl
add al, cl
mov ecx, dword [ebp - 0x10]
mov dword [ecx], 0xdc364c3e
add al, 1
test al, 1
jne 0x10056ff0
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [0x1007294c]
mov ecx, dword [0x10072950]
mov edx, eax
or edx, ecx
not edx
add edx, eax
not ecx
or ecx, eax
sub edx, ecx
add edx, 0xdc364c3e
mov eax, dword [ebp - 0x10]
mov dword [eax], edx
jmp 0x100556e0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x100727a4]
mov edx, dword [0x100727a8]
mov esi, ecx
or esi, edx
mov edi, ecx
sub edi, esi
add edi, edx
and ecx, edx
not ecx
add ecx, edi
add ecx, 0x5213d568
cmp eax, ecx
mov eax, 0x1935b55d
mov ecx, 0x3fb5a5c0
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov ecx, dword [0x100761b0]
cmp dword [0x100761ac], 0xa
setl al
mov edx, ecx
xor edx, 1
mov esi, ecx
sub esi, edx
mov edi, ecx
or edi, 1
add esi, edi
not edi
add edi, esi
add edx, edi
add edx, 0xb41d4ca6
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10056ff0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, 0x5213d567
mov eax, 0x1935b55d
mov ecx, 0x3fb5a5c0
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10055780
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x100727cc]
mov edx, dword [str.u_U5]
mov esi, ecx
xor esi, edx
mov edi, ecx
or edi, edx
not edi
add edi, esi
and ecx, edx
add ecx, edi
add ecx, 0x5213d568
cmp eax, ecx
mov eax, 0x573e67b2
mov ecx, 0x87d846f9
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x100727d4]
mov ecx, dword [0x100727d8]
and ecx, eax
mov edx, eax
sub edx, ecx
not eax
add eax, edx
mov edx, dword [0x100761a8]
add eax, ecx
add eax, 0xb
cmp dword [0x100761a4], eax
setl al
mov ecx, edx
xor ecx, 1
sub ecx, edx
mov esi, edx
xor esi, 0xfe
add ecx, esi
add ecx, 0xf619f622
imul ecx, edx
and al, cl
add al, cl
add al, 1
test al, 1
jne 0x10056ff0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x10072968]
mov edx, ecx
not edx
or edx, ecx
mov ecx, dword [0x10072964]
and edx, ecx
sub edx, ecx
add edx, 0x5213d567
cmp eax, edx
mov eax, 0x573e67b2
mov ecx, 0x87d846f9
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10055820
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [0x1007281c]
mov ecx, dword [0x10072820]
mov esi, ecx
not esi
mov edi, edx
and edi, esi
xor ecx, edx
not ecx
add ecx, edi
or esi, edx
sub ecx, esi
add ecx, 0x995f1671
cmp eax, ecx
mov ecx, 0x573e67b2
mov eax, 0xa00087d5
cmove ecx, eax
mov dword [ebp - 0x14], ecx
mov esi, dword [0x100762a8]
cmp dword [0x100762a4], 0xa
setl byte [ebp - 0x18]
lea edx, [esi + 1]
imul edx, esi
mov edi, dword [0x10072830]
mov esi, edi
not esi
mov ebx, dword [0x1007282c]
mov ecx, ebx
and ecx, esi
add ecx, ecx
mov eax, ebx
xor eax, edi
sub eax, ecx
or esi, ebx
add esi, eax
not ebx
or ebx, edi
sub esi, ebx
and edx, 1
cmp edx, esi
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
sete al
or al, byte [ebp - 0x18]
jne 0x10056ff0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x10072974]
mov edx, dword [0x10072978]
mov esi, ecx
not esi
and esi, edx
and ecx, edx
not edx
add edx, esi
add ecx, edx
add ecx, 0x995f1672
cmp eax, ecx
mov eax, 0x573e67b2
mov ecx, 0xa00087d5
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x100558f0
mov eax, dword [0x10072844]
mov ecx, dword [0x10072848]
mov edx, eax
and eax, ecx
not ecx
or edx, ecx
sub ecx, edx
add eax, ecx
add eax, 0xc08c00ad
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x10076198]
mov ecx, dword [0x1007284c]
mov edx, dword [0x10072850]
mov esi, ecx
and esi, edx
not ecx
add esi, ecx
or ecx, edx
sub esi, ecx
add esi, 0xa
cmp dword [0x10076194], esi
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x10056ff0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xc08c00ad
jmp 0x100559c0
mov edx, dword [0x1007286c]
mov eax, dword [0x10072870]
mov ecx, edx
and ecx, eax
mov dword [ebp - 0x14], ecx
mov esi, edx
not esi
and esi, eax
sub esi, ecx
not eax
or eax, edx
add eax, esi
mov dword [ebp - 0x18], eax
mov edx, dword [0x10072874]
mov esi, dword [0x10072878]
mov edi, esi
not edi
and edi, edx
not edx
or edx, esi
add edx, edi
add edx, 0xb
cmp dword [0x1007618c], edx
mov edi, dword [0x10076190]
setl dl
lea esi, [edi + 1]
imul esi, edi
mov eax, dword [0x1007287c]
mov ebx, dword [0x10072880]
mov ecx, eax
xor ecx, ebx
mov edi, eax
or edi, ebx
not edi
lea ecx, [ecx + edi*2]
not ebx
sub ebx, ecx
not eax
add eax, ebx
and esi, 1
cmp esi, eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
lea eax, [eax + ecx + 0x32123a2a]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
setne al
sete cl
mov ah, dl
or ah, cl
add ah, cl
or al, dl
add al, ah
and dl, cl
not dl
add dl, al
test dl, 1
jne 0x10056ff0
mov eax, dword [0x10072984]
mov ecx, dword [str.8_b]
mov esi, eax
or esi, ecx
sub esi, eax
sub esi, ecx
not eax
sub esi, eax
or eax, ecx
add eax, esi
add eax, 0x32123a29
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10055a30
mov eax, dword [ebp - 0x50]
cmp byte [eax], 0
mov eax, 0x995f1671
mov ecx, 0x5213d567
cmovne eax, ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov edx, dword [0x100726cc]
mov esi, dword [0x100726d0]
mov ecx, edx
not ecx
mov dword [ebp - 0x20], ecx
and ecx, 0xc66dba0f
mov eax, edx
and eax, 0x399245f0
or eax, ecx
mov ebx, esi
not ebx
mov dword [ebp - 0x18], ebx
mov ecx, ebx
and ecx, 0xc66dba0f
mov edi, ebx
or edi, 0xc66dba0f
add edi, ecx
mov ecx, ebx
or ecx, 0x399245f0
add ecx, edi
add ecx, esi
add ecx, 2
mov edi, esi
mov ebx, esi
and edi, 0x399245f0
or edi, ecx
xor edi, eax
mov ecx, 0xd3eb2dac
sub ecx, edi
mov edi, ecx
xor edi, 0x53eb2dac
add edi, edi
mov eax, ecx
sub eax, edi
xor ecx, 0x2c14d253
add ecx, ecx
sub eax, ecx
mov ecx, edx
and ecx, esi
add ecx, edx
mov edi, edx
mov dword [ebp - 0x28], edx
or edi, esi
mov dword [ebp - 0x14], esi
not edi
add edi, ecx
mov ecx, edx
mov esi, dword [ebp - 0x18]
or ecx, esi
sub edi, ecx
mov ecx, edx
xor ecx, ebx
or edi, ecx
mov edx, edi
neg edx
lea ecx, [eax + 0x2c14d252]
mov ebx, ecx
not ebx
and ebx, edx
add ebx, eax
add ebx, 0x2c14d252
add ebx, edi
add ebx, edi
and edx, ecx
mov edi, dword [ebp - 0x20]
mov eax, edi
sub eax, dword [ebp - 0x28]
sub eax, edi
mov edi, esi
sub edi, dword [ebp - 0x14]
sub edi, esi
lea ecx, [edi - 1]
neg edi
or edi, ecx
lea esi, [eax - 1]
and edi, esi
neg eax
or eax, ecx
lea esi, [edi + eax]
add eax, edi
add eax, 1
add esi, esi
add esi, 2
sub esi, eax
not eax
and esi, 0x4cf53dff
and eax, 0xb30ac200
or eax, esi
lea ecx, [edx + ebx]
add ecx, 0xc2061ce7
mov edi, eax
xor eax, 0x4cf53dff
mov esi, ecx
and esi, eax
lea esi, [esi + esi*2]
mov ebx, ecx
sub ebx, esi
xor edi, 0xb30ac200
add ebx, edi
mov esi, ecx
or esi, edi
add esi, ebx
xor edi, ecx
add edi, esi
lea eax, [edi + eax*2]
lea esi, [eax + ecx]
add eax, ecx
add eax, 2
not eax
mov ecx, eax
and ecx, 0xc2061ce7
add ecx, esi
add ecx, 2
mov edi, eax
and edi, 0x3df9e318
add edi, ecx
sub edi, eax
mov esi, dword [ebp - 0x20]
and esi, 0xe286f0dd
mov edx, dword [ebp - 0x28]
mov eax, edx
and eax, 0x1d790f22
or esi, eax
mov ecx, edx
or ecx, 0xe286f0dd
sub esi, ecx
or edx, 0x1d790f22
lea eax, [eax + edx*2]
not edx
lea ecx, [eax + edx*2]
add ecx, 2
add esi, 0xe286f0dd
or ecx, esi
mov eax, dword [ebp - 0x18]
and eax, 0xe286f0dd
mov esi, dword [ebp - 0x14]
and esi, 0x1d790f22
or esi, eax
mov edx, esi
not edx
and edx, ecx
add edx, esi
mov eax, ecx
xor eax, esi
add eax, edx
or esi, ecx
sub eax, esi
mov edx, eax
not edx
and edx, 0xa3fe37f
mov ecx, eax
and ecx, 0xf5c01c80
mov esi, eax
xor esi, 0xf5c01c80
sub ecx, esi
or eax, 0xf5c01c80
add ecx, eax
not eax
add eax, ecx
lea ecx, [esi + eax]
add ecx, 1
or ecx, edx
xor ecx, 0xf5c01c80
mov edx, ecx
neg edx
add edi, 0x216c3d17
mov esi, edi
sub esi, ecx
mov eax, edi
xor eax, edx
add esi, eax
mov ebx, edi
or ebx, edx
not ebx
add ebx, esi
not eax
add eax, ebx
sub eax, ecx
not edi
or edi, edx
sub eax, edi
add eax, 1
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x1c8da602
sub eax, edx
or ecx, 0xe37259fd
add ecx, eax
imul eax, ecx, 0x1630a1a5
lea ecx, [eax - 0x57a8dbc7]
mov edx, ecx
and edx, 0x17c652d4
add eax, eax
add eax, 0x50ae4872
sub eax, edx
not ecx
add ecx, eax
lea eax, [edx + ecx]
add eax, 0x17c652d5
mov ecx, eax
xor ecx, 0x82d175ab
sub ecx, eax
mov edx, eax
xor edx, 0x7d2e8a54
add edx, ecx
not eax
add eax, eax
sub edx, eax
imul eax, edx, 0x18655e2d
mov ecx, 0x49d24c62
sub ecx, eax
and ecx, 0x5c7d790f
sub ecx, eax
add ecx, eax
add ecx, 0xb62db39d
add eax, 0xb62db39d
or eax, 0x5c7d790f
sub ecx, eax
lea eax, [ecx - 0x59b03a8f]
add ecx, ecx
add ecx, 0x4c9f8ae2
sub eax, ecx
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x30]
mov dword [edx], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x44]
mov dword [ecx], eax
mov eax, dword [0x10072894]
mov ecx, dword [0x10072898]
mov edx, ecx
not edx
and edx, eax
not eax
or eax, ecx
add eax, edx
add eax, 0x32123a2a
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov edx, dword [0x10076188]
cmp dword [0x10076184], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x100728a4]
mov esi, dword [0x100728a8]
mov edi, esi
not edi
and edi, edx
mov ebx, edx
xor ebx, esi
sub ebx, edi
or esi, edx
sub ebx, esi
add ebx, edx
and ecx, 1
cmp ecx, ebx
setne cl
sete dl
mov ah, al
and ah, dl
mov ch, ah
add ch, dl
or al, dl
add al, ch
add al, cl
not ah
add ah, al
test ah, 1
jne 0x10056ff0
mov eax, dword [ebp - 0x50]
cmp byte [eax], 0
mov eax, 0x995f1671
mov ecx, 0x5213d567
cmovne eax, ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov edi, dword [0x100726cc]
mov dword [ebp - 0x14], edi
mov ecx, edi
not ecx
mov eax, ecx
sub eax, edi
sub eax, ecx
mov ebx, ecx
mov dword [ebp - 0x18], ecx
mov edx, eax
neg edx
or edx, 0xc66dba0f
add edx, eax
mov esi, edi
and esi, 0x399245f0
mov eax, edi
and eax, 0xc66dba0f
mov ecx, esi
sub ecx, eax
mov eax, ebx
and eax, 0x399245f0
add eax, ecx
mov ebx, edi
xor ebx, 0x399245f0
add ebx, eax
not esi
add esi, esi
sub ebx, esi
mov esi, dword [0x100726d0]
add ebx, 0x8cdb741e
or ebx, edx
mov ecx, esi
not ecx
mov dword [ebp - 0x38], ecx
mov eax, ecx
and eax, 0xc66dba0f
and ecx, 0x399245f0
sub eax, ecx
mov ecx, esi
and ecx, 0xc66dba0f
sub eax, ecx
mov ecx, esi
xor ecx, 0x399245f0
add ecx, eax
mov edi, esi
and edi, 0x399245f0
or edi, ecx
mov eax, ebx
not eax
and eax, edi
or ebx, edi
add ebx, eax
not edi
add edi, ebx
mov eax, dword [ebp - 0x14]
mov ebx, eax
and ebx, esi
mov ecx, dword [ebp - 0x18]
and ecx, esi
mov edx, esi
mov dword [ebp - 0x20], esi
or ecx, ebx
mov esi, eax
or eax, edx
not eax
add eax, ecx
mov edx, esi
xor edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x38]
sub edx, esi
mov ecx, dword [ebp - 0x14]
or ecx, esi
add ecx, edx
sub ecx, ebx
mov ebx, dword [ebp - 0x18]
sub eax, ebx
or ecx, eax
lea eax, [ecx + ecx]
sub eax, ecx
not ecx
lea eax, [eax + ecx*2]
add eax, edi
mov edi, 0xfffffffd
sub edi, eax
and ebx, esi
mov eax, ebx
and eax, 0x4cf53dff
mov edx, ebx
xor edx, 0x4cf53dff
sub eax, edx
mov ecx, ebx
or ebx, 0x4cf53dff
add eax, ebx
not ebx
add ebx, eax
lea eax, [edx + ebx]
add eax, 1
not ecx
and ecx, 0xb30ac200
or ecx, eax
mov edx, edi
xor edx, 0xc2061ce7
add edx, edi
mov eax, edi
not eax
mov ebx, eax
and ebx, 0x3df9e318
add ebx, edx
xor edi, 0x3df9e318
add edi, ebx
or eax, 0xc2061ce7
sub edi, eax
xor ecx, 0xb30ac200
add edi, 0x840c39cf
mov eax, edi
not eax
and eax, ecx
mov edx, edi
sub edx, eax
lea eax, [edx + ecx*2]
and edi, ecx
sub eax, edi
mov ecx, eax
not ecx
mov edx, eax
xor edx, 0xc2061ce7
add edx, eax
and ecx, 0x3df9e318
add ecx, edx
and eax, 0xc2061ce7
lea edx, [ecx + eax]
mov dword [ebp - 0x28], edx
add eax, ecx
add eax, 0x3df9e31a
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x18]
add ebx, ebx
mov edx, dword [ebp - 0x14]
mov ecx, ebx
sub ecx, edx
sub ecx, edx
add ecx, edx
not ebx
add ebx, ecx
mov eax, edx
or eax, 0x1d790f22
sub edx, eax
mov eax, 0xe286f0dd
sub eax, edx
and eax, ebx
and eax, 0xe286f0dd
lea ebx, [eax + edx]
add ebx, 0x1d790f22
mov edi, esi
mov ecx, esi
and ecx, 0x6286f0dd
mov esi, dword [ebp - 0x20]
mov edx, esi
and edx, 0xe286f0dd
lea eax, [edx + ecx*2]
add eax, 0x1d790f23
mov edx, esi
and edx, 0x1d790f22
add edx, esi
and edi, 0xe286f0dd
add edi, edx
or esi, 0xe286f0dd
sub edi, esi
mov edx, edi
not edx
and edx, eax
mov ecx, eax
or ecx, edi
add ecx, edx
not eax
or eax, edi
add ecx, eax
add ecx, 1
xor ecx, ebx
mov eax, ecx
not eax
lea edx, [eax + eax]
sub edx, eax
and edx, 0xa3fe37f
and ecx, 0xf5c01c80
or ecx, edx
xor ecx, 0xf5c01c80
mov esi, dword [ebp - 0x3c]
mov eax, esi
and eax, 0xe37259fd
mov edx, dword [ebp - 0x28]
add edx, eax
add edx, 0x3df9e31a
mov eax, esi
xor eax, 0xe37259fd
add eax, edx
or esi, 0xe37259fd
sub eax, esi
sub eax, ecx
lea ecx, [eax - 0x1c8da602]
mov edx, ecx
not edx
mov esi, ecx
and esi, 0x1c8da602
add eax, esi
add eax, 0xe37259fe
and edx, 0xe37259fd
add edx, eax
xor ecx, 0x1c8da602
add ecx, edx
imul eax, ecx, 0x1630a1a5
add eax, 0xdf43e2ef
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x17c652d4
add edx, edx
sub eax, edx
add ecx, ecx
or ecx, 0xd0735a56
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x4752f87e
mov ecx, eax
and ecx, 0x82d175ab
mov esi, eax
and esi, 0x7d2e8a54
sub esi, ecx
lea ecx, [esi + edx]
add ecx, 0x4752f87e
xor eax, 0x7d2e8a54
add eax, ecx
add eax, 0x5a2eb57
mov ecx, eax
and ecx, 0x17c652d4
lea edx, [eax + eax*2]
sub edx, ecx
not eax
add edx, eax
or eax, 0x17c652d4
add eax, edx
imul eax, eax, 0x18655e2d
mov ecx, 0x5d1faaea
sub ecx, eax
or ecx, 0xa38286f0
add ecx, eax
add eax, 0xa2e05515
or eax, 0xa38286f0
add eax, ecx
add eax, 0xa2e05518
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x30]
mov dword [edx], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x44]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x32123a29
jmp 0x10055b10
mov eax, dword [ebp - 0x30]
mov esi, dword [eax]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x5aa01ef1
add edx, eax
xor eax, 0xa55fe10e
add eax, edx
or ecx, 0x5aa01ef1
sub eax, ecx
mov ecx, eax
and ecx, 0x524db9d2
add ecx, ecx
mov edx, eax
sub edx, ecx
mov edi, eax
xor edi, 0xadb2462d
add edi, edx
mov ecx, eax
or ecx, 0x524db9d2
add ecx, edi
not eax
or eax, 0xadb2462d
sub ecx, eax
add ecx, 0x524db9d3
mov eax, ecx
not eax
mov edx, eax
and edx, 1
add edx, edx
sub ecx, edx
add eax, eax
or eax, 0xfffffffc
lea edx, [ecx + eax]
add eax, ecx
add eax, 5
mov ecx, eax
and ecx, 0xadb2462d
mov edi, eax
and edi, 0x524db9d2
sub edi, ecx
lea ecx, [edi + edx]
add ecx, 5
xor eax, 0x524db9d2
add eax, ecx
imul eax, eax, 0x739944bd
lea ecx, [eax - 0xe1934d1]
mov edx, ecx
not edx
mov edi, ecx
and edi, 0xe123c949
xor ecx, 0xe123c949
add ecx, edi
and edx, 0x1edc36b6
add edx, ecx
add eax, edx
add eax, 0xf1e6cb2f
imul ecx, eax, 0xb779d695
mov eax, 0x8f1e56e8
sub eax, ecx
and eax, 0xb967d283
add ecx, 0x70e1a917
or ecx, 0xb967d283
sub eax, ecx
mov edx, 0x46982d7e
sub edx, eax
add eax, 0xb967d281
mov ecx, eax
and ecx, 0xffffff00
and edx, 0xffffff00
sub edx, ecx
mov edi, eax
or edi, 0xffffff00
add edi, edx
or eax, 0xff
add eax, edi
lea edx, [ecx + eax]
add edx, 1
not edx
lea eax, [edx + edx]
sub edx, eax
mov dword [ebp - 0x28], edx
mov eax, dword [ebp + 8]
lea ecx, [eax + 8]
sub ecx, edx
movzx edx, byte [ecx]
mov dword [ebp - 0x38], edx
mov eax, edx
neg eax
or eax, esi
not eax
lea edi, [edx + esi*2]
add eax, edi
mov edi, edx
add edi, 0xffffffff
or edi, esi
sub eax, edi
imul esi, eax, 0x78804cf7
lea eax, [esi - 0x310df9b2]
mov edi, eax
not edi
mov ebx, edi
and ebx, 0xd6f06216
add esi, ebx
add esi, 0xcef2064e
xor eax, 0x290f9de9
add eax, esi
or edi, 0xd6f06216
sub eax, edi
imul esi, eax, 0x41ee34c7
add esi, 0x4e11415e
mov eax, esi
xor eax, 0xffffff00
and eax, esi
lea esi, [eax - 0x11be6b79]
mov edi, esi
and edi, 0x6f4561b9
lea edi, [edi + edi*2]
neg edi
add edi, eax
add edi, 0xee419487
mov ebx, esi
or ebx, 0x90ba9e46
add ebx, edi
xor esi, 0x90ba9e46
add esi, ebx
lea edi, [eax + esi]
add edi, 0xee419487
add eax, esi
add eax, 0x5d86f641
not eax
mov esi, eax
and esi, 0x8103cd33
add esi, edi
add esi, 0x6f4561ba
mov edx, eax
and edx, 0x7efc32cc
add edx, esi
sub edx, eax
mov eax, dword [ebp - 0x34]
mov edi, dword [eax]
mov esi, dword [ebp + 8]
mov al, byte [esi + edx - 0x7efc32c5]
mov dword [ebp - 0x3c], edx
mov byte [ecx], al
mov ebx, eax
mov ecx, dword [ebp - 0x38]
mov eax, ecx
add al, cl
mov ah, cl
sub ah, al
mov byte [ebp - 0x14], ah
mov eax, ecx
mov byte [esi + edx - 0x7efc32c5], al
mov dh, bl
mov ch, bl
not ch
mov cl, ch
and cl, al
mov byte [ebp - 0x20], cl
mov dl, ch
or dl, al
mov bh, al
not bh
mov bl, bh
or bl, al
mov cl, dh
or cl, al
mov byte [ebp - 0x3d], cl
mov cl, byte [ebp - 0x14]
add cl, al
mov byte [ebp - 0x18], bh
xor byte [ebp - 0x18], cl
or cl, al
mov byte [ebp - 0x14], cl
mov byte [ebp - 0x38], al
mov ah, byte [ebp - 0x20]
add ah, ch
sub ah, dl
mov al, dh
and al, bh
mov dl, dh
mov cl, dh
xor dl, bh
sub al, dl
or dh, bh
add al, dh
not dh
add dh, al
add dh, dl
mov al, cl
and bl, cl
not dl
add dl, bl
sub dl, byte [ebp - 0x3d]
mov bl, byte [ebp - 0x20]
or dl, bl
sub ah, bh
not bl
add bl, ah
add dh, 1
or dh, bl
mov cl, byte [ebp - 0x38]
add cl, al
mov bl, al
add dh, cl
add dh, 0x10
mov al, dh
xor al, 0x10
add al, dh
mov cl, dh
not cl
mov ah, cl
and ah, 0xef
add ah, al
xor dh, 0xef
add dh, ah
or cl, 0x10
sub dh, cl
mov al, ch
add al, ch
sub al, ch
mov cl, al
and cl, bh
mov ah, al
add ah, al
sub cl, ah
mov ah, al
xor ah, bh
add cl, ah
not ah
add ah, cl
not al
add al, al
sub al, ah
add al, 1
mov cl, al
add cl, al
sub al, cl
add dh, 0x88
mov cl, dh
and cl, al
add cl, al
mov ah, dh
xor ah, al
add ah, cl
or al, dh
sub ah, al
add ah, dh
mov al, dl
not al
add al, al
add al, dl
add al, 1
mov dh, al
and dh, 0x9b
not al
and al, 0x1b
add al, al
mov cl, dh
sub cl, al
not dh
add dh, dh
add dh, cl
mov al, dl
and al, 0x9b
xor dl, 0x9b
add dl, al
add dh, 0x38
add dl, 0x65
mov al, dh
and al, dl
mov cl, dh
add cl, dh
sub cl, al
mov al, dh
or al, dl
add al, cl
not dh
add al, dh
or dh, dl
add dh, al
add dh, 2
mov al, dh
and al, 0x9b
mov cl, dh
xor cl, 0x64
add cl, cl
sub cl, al
mov al, dh
not al
and al, 0x9b
add al, cl
add al, dh
add ah, 0x79
mov cl, ah
or cl, 0x68
mov dl, ah
sub dl, cl
and ah, 0x97
add ah, dl
add al, 1
mov dl, ah
add dl, 0xff
mov cl, dl
and cl, al
add cl, dl
add cl, al
neg ah
or ah, al
mov dh, byte [ebp - 0x18]
add dh, bh
mov al, byte [ebp - 0x14]
add al, dh
sub dl, cl
add dl, ah
add dl, al
add dl, 0x99
mov eax, edx
add al, dl
not dl
mov cl, dl
add cl, dl
add cl, al
sub dl, cl
mov ah, bl
mov cl, bl
and cl, 0xe7
add cl, bl
mov al, ch
and ch, 0x67
add ch, ch
add ch, cl
xor ah, 0xe7
sub ch, ah
and al, 0x18
add ch, 0x19
or al, ch
not ch
and ch, 0xe7
mov cl, al
xor cl, 0xe7
add cl, ch
and al, 0xe7
add al, cl
add al, 0x19
not al
and al, bh
mov ecx, eax
not cl
add al, cl
add al, cl
not al
add al, dl
mov ecx, eax
add cl, 0x5c
add al, 0xff
not cl
add cl, cl
sub cl, al
add al, al
add al, cl
mov cl, 0x46
sub cl, al
movzx eax, cl
imul eax, eax, 0xffffffc7
add al, 0x72
mov edx, eax
not dl
mov ecx, eax
add cl, al
and dl, 0x3c
add dl, cl
or al, 0x3c
sub dl, al
mov byte [ebp - 0x14], dl
mov edx, edi
lea eax, [edi - 0x301a47e4]
mov ecx, eax
or ecx, 0x301a47e3
neg ecx
add ecx, edi
add ecx, 0xcfe5b81c
and eax, 0xcfe5b81c
lea esi, [ecx + eax]
mov dword [ebp - 0x18], esi
lea esi, [eax + ecx]
add esi, 0x60348fc8
mov dword [ebp - 0x38], esi
lea eax, [eax + ecx + 0x60348fc7]
mov dword [ebp - 0x20], eax
not edi
lea eax, [edx + edi*2]
add eax, 1
mov ecx, eax
and ecx, 0x6aa44519
lea ebx, [edx + edi*2]
add ecx, ebx
add ecx, 1
mov ebx, eax
or ebx, 0x6aa44519
sub ecx, ebx
mov ebx, eax
xor ebx, 0x6aa44519
add ebx, ecx
not eax
or eax, 0x6aa44519
lea esi, [eax + ebx]
add esi, 1
mov dword [ebp - 0x60], edx
mov eax, edx
and eax, 0x155bbae6
mov ebx, edx
and ebx, 0x6aa44519
lea eax, [ebx + eax*2]
sub eax, edx
mov ebx, esi
and ebx, eax
mov ecx, esi
not ecx
and ecx, eax
sub ecx, ebx
mov edx, esi
or edx, eax
add edx, ecx
not eax
or eax, esi
add eax, edx
add eax, ebx
add eax, 1
mov ecx, eax
and ecx, 0x955bbae7
mov edx, eax
xor edx, 0x6aa44518
add edx, ecx
not eax
or eax, 0x6aa44518
lea ecx, [edx + eax]
lea ebx, [eax + edx]
add ebx, 1
mov edx, dword [ebp - 0x38]
not edx
mov eax, dword [ebp - 0x18]
lea eax, [eax + edx*2]
add eax, 0x60348fc7
mov edx, dword [ebp - 0x20]
add edx, edx
add eax, edx
lea eax, [eax + ecx*2]
add eax, 2
sub ebx, eax
movzx eax, byte [ebp - 0x14]
lea eax, [eax + eax*8]
neg eax
add al, 0xe5
mov ecx, eax
not cl
mov edx, ecx
and dl, 0xe5
add dl, al
xor al, 0x1a
add al, dl
or cl, 0xe5
sub al, cl
add al, 0x1b
movzx eax, al
mov ecx, dword [ebp + 8]
mov ah, byte [ecx + eax + 8]
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x60]
mov dh, byte [ecx + esi]
mov al, dh
not al
mov cl, ah
or cl, al
not cl
mov dl, cl
add dl, 0xff
neg cl
and cl, 7
sub cl, dl
and dl, 7
add dl, cl
add dl, 0xf0
mov ecx, edx
or cl, 0xf7
add cl, dl
not dl
or dl, 0xf7
add dl, cl
add dl, 0x12
mov cl, dh
neg cl
or cl, dl
add dl, dh
mov ch, cl
add ch, cl
add ch, dl
not cl
add cl, cl
add cl, ch
mov ch, ah
not ch
and dh, ch
and ah, al
mov dl, ah
not dl
and dl, dh
add dl, ah
mov ah, dl
not ah
add dl, dl
add dl, ah
add dl, cl
or al, ch
mov ecx, eax
add cl, al
mov ah, cl
sub ah, al
mov ch, ah
not ch
add ch, ah
and ah, 0x52
add ah, ch
mov ch, al
not ch
mov dh, ch
and dh, 0xad
add ch, ch
sub dh, ch
mov ch, al
xor ch, 0x52
add ch, dh
xor al, 0xad
add al, ch
not cl
add cl, al
add ah, 1
or cl, ah
mov eax, ecx
and al, 0x52
mov ah, cl
xor ah, 0xad
add ah, al
or cl, 0xad
sub ah, cl
add dl, 3
mov al, dl
and al, 0xc3
add al, dl
not dl
add al, dl
or dl, 0xc3
sub al, dl
add ah, 0xad
add al, 0x3d
mov ecx, eax
and cl, ah
add cl, al
not al
and al, ah
add al, cl
mov ecx, eax
not cl
mov edx, eax
add dl, al
and cl, 0x3c
add cl, dl
or al, 0x3c
sub cl, al
add cl, 0xf9
mov eax, ecx
and al, 0xcb
mov edx, ecx
xor dl, 0xcb
add dl, al
mov eax, ecx
or al, 0xcb
sub dl, al
add dl, cl
add dl, 0x51
mov eax, edx
and al, 0x79
add al, dl
mov ecx, edx
xor cl, 0x79
add cl, al
or dl, 0x79
sub cl, dl
add cl, 0x7a
mov eax, dword [ebp + 0x14]
mov edx, esi
mov byte [eax + esi], cl
or edx, edi
mov eax, edi
and eax, 0xfffffffe
and edx, 0xfffffffe
add eax, edx
add eax, 2
mov ecx, eax
not ecx
add eax, eax
add eax, ecx
add ebx, 0xfffffffb
mov ecx, eax
sub ecx, ebx
xor eax, ebx
mov edx, eax
not edx
lea edx, [ecx + edx*2]
add edi, 0x84113398
not edi
and edi, 1
lea ecx, [edi - 0x7827db0c]
mov esi, edi
sub esi, ecx
sub ecx, edi
add esi, edi
add esi, 0x87d824f4
mov edi, esi
not edi
and edi, ecx
mov ebx, ecx
or ebx, esi
add ebx, edi
not ecx
or ecx, esi
add ecx, ebx
add ecx, 1
mov esi, ecx
and esi, 0x87d824f4
mov edi, ecx
not edi
mov ebx, edi
and ebx, 0x7827db0b
sub ebx, esi
xor ecx, 0x7827db0b
lea ecx, [ebx + ecx*2]
add edi, edi
or edi, 0xfb049e8
sub ecx, edi
lea eax, [edx + eax*2]
add eax, 0xd45b5ff1
mov edx, 0xf04fb618
sub edx, ecx
mov esi, eax
and esi, edx
mov edi, eax
not edi
and edi, edx
sub esi, edi
sub esi, ecx
mov edi, dword [ebp - 0x28]
neg edi
xor edx, eax
add edx, esi
imul eax, edx, 0xf6cdb37
lea ecx, [eax - 0x29138efa]
mov edx, ecx
not edx
and edx, 0xbb0e1e4b
add eax, edx
add eax, 0xd6ec7106
mov edx, ecx
xor edx, 0xbb0e1e4b
sub eax, edx
or ecx, 0xbb0e1e4b
add ecx, eax
imul eax, ecx, 0x91d9ca87
lea ecx, [eax + 0xf13d873]
add eax, eax
add eax, 0x1e27b0e6
sub eax, ecx
cmp eax, dword [ebp + 0xc]
mov ecx, 0x995f1671
mov edx, 0x5213d567
cmove ecx, edx
cmp dword [0x10076180], 0xa
mov edx, dword [0x1007617c]
mov ebx, edx
not ebx
setl byte [ebp - 0x14]
add ebx, 0xf08e24ac
imul ebx, edx
test bl, 1
sete dl
or dl, byte [ebp - 0x14]
mov edx, dword [ebp - 0x2c]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov eax, dword [ebp - 0x3c]
lea eax, [eax - 0x7efc32cd]
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov ecx, edi
mov dword [eax], edi
mov eax, dword [ebp - 0x44]
mov dword [eax], edi
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x32123a29
jne 0x10056ff0
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx]
lea ecx, [edx + 0x5aa01ef1]
mov esi, ecx
not esi
and esi, 0xa55fe10f
neg esi
add esi, edx
add esi, 0x5aa01ef1
mov edx, ecx
or edx, 0xa55fe10f
add esi, edx
not edx
add edx, esi
or ecx, 0x5aa01ef0
sub edx, ecx
lea ecx, [edx - 0x5aa01ef1]
add edx, edx
add edx, 0x4abfc21e
mov esi, ecx
or esi, 0xadb2462d
sub edx, esi
mov esi, ecx
xor esi, 0xadb2462d
add esi, edx
not ecx
or ecx, 0xadb2462d
add ecx, esi
add ecx, 0x524db9d5
mov edx, ecx
and edx, 0xadb2462d
mov esi, ecx
xor esi, 0xadb2462d
or ecx, 0x524db9d2
add ecx, esi
lea esi, [ecx + edx]
add ecx, edx
add ecx, 0x671a18b1
lea edx, [esi + esi]
add edx, 0xce343162
sub ecx, edx
add ecx, 0xb967d282
not ecx
movzx edx, cl
mov dword [ebp - 0x14], edx
mov ebx, dword [ebp + 8]
movzx edi, byte [ebx + edx + 8]
lea ecx, [eax + eax]
sub ecx, eax
mov eax, edi
neg eax
mov edx, ecx
and edx, eax
mov esi, ecx
not esi
and esi, eax
sub edx, esi
add edx, edi
xor eax, ecx
add eax, edx
imul ecx, eax, 0x78804cf7
lea eax, [ecx + 0x290f9dea]
mov edx, eax
not edx
and edx, 0xa5e26864
add ecx, edx
add ecx, 0x290f9dea
mov edx, eax
xor edx, 0xa5e26864
sub ecx, edx
or eax, 0xa5e26864
add eax, ecx
imul eax, eax, 0x41ee34c7
add eax, 0x4e11415e
mov esi, eax
xor esi, 0xffffff00
mov edx, eax
not edx
movzx ecx, dl
add ecx, esi
or edx, 0xffffff00
sub ecx, edx
add ecx, 0xffffff00
mov edx, ecx
and edx, eax
or ecx, eax
lea eax, [edx + ecx*2]
not ecx
lea edx, [eax + ecx*2]
lea eax, [eax + ecx*2]
add eax, 0xee419489
mov esi, eax
not esi
lea ecx, [edx + edx]
add ecx, 0xdc832912
or eax, 0x90ba9e46
sub ecx, eax
mov dword [ebp - 0x18], ecx
or esi, 0x6f4561b9
mov dword [ebp - 0x20], esi
add ecx, esi
mov dl, byte [ebx + ecx - 0x5d86f638]
mov eax, dword [ebp - 0x34]
mov esi, dword [eax]
mov eax, edx
mov edx, dword [ebp - 0x14]
mov byte [ebx + edx + 8], al
mov edx, edi
mov byte [ebx + ecx - 0x5d86f638], dl
mov ecx, edx
mov ebx, edi
neg cl
and cl, al
mov dh, al
add dh, al
sub dh, cl
add dh, bl
sub dh, al
add dh, cl
mov ecx, eax
mov ah, al
mov byte [ebp - 0x28], al
not cl
mov ch, cl
or ch, bl
mov al, cl
and al, bl
mov byte [ebp - 0x38], al
mov al, bl
mov dl, bl
not dl
or al, dl
and al, cl
sub al, ch
mov bl, ah
and bl, dl
mov ch, bl
add ch, bl
add ch, cl
mov bh, cl
mov byte [ebp - 0x3c], cl
or bh, dl
sub ch, bh
sub al, dl
mov bh, al
add bh, 0xff
neg al
or al, bh
and al, ch
sub al, ch
or ch, bh
add ch, al
mov al, dh
and al, 0xef
add al, dh
not dh
or dh, 0x10
add dh, al
add dh, ch
add dh, 1
mov ch, dh
and ch, 0x79
movzx edi, dh
lea eax, [edi + edi*2]
sub al, ch
not dh
add al, dh
or dh, 0x79
add dh, al
mov eax, ecx
and al, dl
mov ah, al
not ah
mov ch, ah
add ch, ah
sub ah, ch
mov ecx, eax
add cl, al
sub cl, al
sub ah, al
mov ch, ah
add ch, 0xff
mov al, cl
not al
and al, ch
add al, al
mov bh, cl
or bh, ch
sub bh, al
neg ah
add ah, ah
sub bh, ah
and ch, cl
not ch
add ch, ch
add ch, bh
add dh, 0x89
mov al, dh
and al, ch
add al, ch
mov cl, dh
xor cl, ch
add cl, al
or ch, dh
not ch
add ch, cl
add ch, dh
mov ah, byte [ebp - 0x38]
mov cl, ah
not cl
and cl, bl
mov al, ah
mov dh, ah
or al, bl
mov ah, al
add ah, al
sub ah, cl
not al
add al, ah
not bl
or bl, dh
sub al, bl
mov ah, al
not ah
mov cl, ah
and cl, 0x1b
add cl, cl
mov dh, ah
and dh, 0x64
add cl, dh
sub cl, ah
mov ah, al
or ah, 0x9b
add ah, dh
and al, 0x64
add al, ah
add al, 1
mov ah, al
not ah
and ah, cl
mov dh, cl
or dh, al
add dh, ah
not cl
or cl, al
add cl, dh
add ch, 0x7a
mov al, ch
not al
mov ah, al
and ah, 0x17
add ah, ah
mov dh, ch
sub dh, ah
or ch, 0x68
sub dh, ch
or al, 0x68
add al, dh
add cl, 1
xor cl, 0x64
add al, cl
mov ah, byte [ebp - 0x28]
mov ch, ah
and ch, 0xe7
mov cl, ah
xor cl, 0x67
add cl, cl
sub ch, cl
xor ah, 0x18
add ah, ah
sub ch, ah
mov cl, byte [ebp - 0x3c]
and cl, 0x18
add ch, 0xfe
or ch, cl
mov cl, ch
not cl
mov ah, ch
xor ah, 0xe7
add ah, ch
and cl, 0x18
add cl, ah
or ch, 0x18
sub cl, ch
movzx edi, dl
lea ebx, [edi + edi*2]
sub bl, dl
mov ah, cl
not ah
mov ch, ah
or ch, cl
and ch, dl
xor ah, dl
or cl, dl
add dl, 0xff
mov dh, dl
add dh, dl
sub bl, dh
add bl, dl
sub bl, al
mov dl, 0x97
sub dl, bl
mov al, bl
not ah
add ah, ch
sub ah, cl
add al, 0x68
not ah
and dl, ah
mov ecx, eax
and cl, ah
or dl, cl
add dl, ah
xor al, ah
add al, dl
add ah, ah
sub al, ah
not cl
add cl, cl
sub al, cl
movzx eax, al
imul eax, eax, 0x39
add al, 0x8e
mov ecx, eax
and cl, 0xc3
mov edx, eax
not dl
and dl, 0xc3
sub cl, dl
xor al, 0xc3
add al, cl
movzx eax, al
lea eax, [eax + eax*8]
neg eax
add al, 0xc0
mov ecx, eax
not cl
and cl, 0x25
add cl, al
mov edx, eax
xor dl, 0x25
sub cl, dl
or al, 0x25
add al, cl
add al, 0x1b
movzx eax, al
mov ecx, dword [ebp + 8]
mov al, byte [ecx + eax + 8]
mov edx, eax
not dl
mov ah, al
add ah, al
mov dh, dl
add dh, dl
add ah, dh
add ah, 2
or ah, dl
not ah
mov ecx, dword [ebp + 0x10]
mov cl, byte [ecx + esi]
mov ch, cl
not ch
or ah, ch
add ah, 0xf9
mov bl, ah
xor bl, 8
mov bh, ah
sub bh, bl
or ah, 8
add bh, ah
not ah
add ah, bh
add ah, bl
mov byte [ebp - 0x28], al
add dh, al
add dh, 1
mov bh, dh
and bh, cl
not dh
and dh, cl
mov byte [ebp - 0x3c], cl
mov bl, bh
sub bl, dh
add bl, cl
sub bl, bh
mov bh, ch
add bh, ch
sub bh, ch
mov dh, al
add dh, dl
and bh, al
add bh, dh
add bh, 1
mov al, bl
add al, bl
mov dh, bl
xor dh, bh
mov cl, dh
sub cl, al
or bh, bl
add bh, cl
not dh
add dh, bh
not bl
add bl, bl
sub dh, bl
mov cl, byte [ebp - 0x3c]
add ah, cl
add ah, 9
mov al, 1
sub al, dh
add dh, 0xfe
and dh, ah
add dh, ah
or al, ah
sub dh, al
and cl, dl
or dl, ch
add dl, cl
or ch, byte [ebp - 0x28]
add ch, dl
add ch, 1
add dh, 0x3d
mov al, dh
and al, ch
add al, dh
add al, ch
mov cl, dh
or cl, ch
not cl
add cl, al
xor dh, ch
add dh, cl
add dh, 1
mov al, dh
and al, 0x3c
add al, al
mov cl, dh
sub cl, al
mov dl, dh
xor dl, 0xc3
add dl, cl
mov al, dh
or al, 0x3c
add al, dl
not dh
or dh, 0xc3
sub al, dh
add al, 0xc3
mov ecx, eax
and cl, 0xcb
mov edx, eax
and dl, 0x34
sub dl, cl
add dl, al
xor al, 0x34
add al, dl
add al, 1
mov edx, eax
and dl, 1
movzx ecx, al
lea ecx, [ecx + ecx*2]
sub cl, dl
not al
add cl, al
or al, 1
add al, cl
add al, 3
mov ecx, eax
and cl, 0xcb
mov edx, eax
xor dl, 0xcb
add dl, cl
mov ecx, eax
not cl
and cl, 0x34
add cl, dl
add cl, al
movzx eax, cl
imul eax, eax, 0x6b
add al, 0x44
mov ecx, eax
or cl, 0xcc
mov edx, eax
sub dl, cl
and al, 0x33
add al, dl
add al, 0x99
mov ecx, eax
and cl, 2
not al
or al, 2
sub cl, al
movzx eax, cl
imul eax, eax, 0x43
add al, 0x16
mov ecx, dword [ebp + 0x14]
mov byte [ecx + esi], al
mov eax, esi
xor eax, 0xcfe5b81c
mov ecx, esi
sub ecx, eax
mov eax, esi
not eax
mov edx, eax
and edx, 0x301a47e3
add edx, edx
sub ecx, edx
lea edx, [ecx + eax]
add edx, 0xffffffff
add ecx, eax
neg ecx
mov edi, ecx
and edi, 0x4fe5b81c
add edi, edi
mov ebx, edx
sub ebx, edi
or edx, 0x301a47e3
sub ebx, edx
or ecx, 0x301a47e3
lea edx, [ebx + ecx]
lea edi, [ebx + ecx]
add edi, 0xffffffff
lea ecx, [edx + edx]
add ecx, 0xfffffffe
add edx, edx
sub ecx, edx
sub ecx, edi
mov edi, eax
and edi, 0x6aa44519
mov edx, esi
and edx, 0x955bbae6
or edx, edi
mov edi, edx
xor edi, 0x6aa44518
mov ebx, edx
or ebx, 0x6aa44518
add ebx, edi
mov edi, edx
or edi, 0x955bbae7
add edi, ebx
not edx
add edx, edi
sub ecx, edx
mov edx, eax
and edx, 0xfffffffe
add edx, eax
mov edi, esi
and edi, 1
add edi, edx
mov edx, eax
or edx, 1
sub edi, edx
lea edx, [edi + edi]
sub edx, edi
mov edi, edx
not edi
lea edx, [edx + edi*2]
add edx, ecx
or eax, 0xfffffffe
mov ecx, eax
and ecx, 0x7827db0b
lea ecx, [ecx + ecx*2]
mov edi, eax
sub edi, ecx
mov ecx, eax
xor ecx, 0x87d824f4
add ecx, edi
add ecx, eax
add ecx, 0x7827db0c
or esi, eax
sub esi, eax
mov edi, ecx
or edi, esi
mov eax, esi
not eax
sub edi, eax
or eax, ecx
add eax, edi
and esi, ecx
sub eax, esi
mov ecx, edx
neg ecx
or ecx, 0xd45b5fee
lea esi, [ecx + ecx]
sub esi, edx
not ecx
lea ecx, [esi + ecx*2]
xor eax, 0x7827db0b
sub ecx, eax
add ecx, 2
cmp ecx, dword [ebp + 0xc]
mov eax, 0x995f1671
mov edx, 0x5213d567
cmove eax, edx
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x20]
lea edx, [edx + esi - 0x5d86f640]
mov esi, dword [ebp - 0x2c]
mov dword [esi], eax
mov eax, dword [ebp - 0x34]
mov dword [eax], ecx
mov eax, dword [ebp - 0x30]
mov dword [eax], edx
mov eax, dword [ebp - 0x48]
mov dword [eax], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x32123a29
jmp 0x100561c0
mov eax, dword [0x10072904]
mov ecx, dword [0x10072908]
and ecx, eax
mov edx, eax
sub edx, ecx
not eax
add eax, edx
mov esi, dword [0x1007290c]
mov edx, dword [0x10072910]
xor edx, esi
mov ebx, edx
sub ebx, esi
sub ebx, esi
not edx
add edx, ebx
not esi
add esi, esi
sub edx, esi
add edx, 9
cmp dword [0x1007616c], edx
mov edi, dword [0x10076170]
setl byte [ebp - 0x14]
lea esi, [edi - 1]
imul esi, edi
mov edi, dword [0x10072918]
mov ebx, edi
not ebx
mov edx, dword [0x10072914]
and ebx, edx
or edx, edi
sub ebx, edx
add ebx, edi
and esi, 1
cmp esi, ebx
lea eax, [ecx + eax + 0x60353d6f]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
sete al
setne cl
and cl, byte [ebp - 0x14]
add cl, al
test cl, 1
je 0x1005704b
nop word cs:[eax + eax]
nop
mov edx, dword [0x10076168]
cmp dword [0x10076164], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x10072934]
mov esi, dword [0x10072938]
mov edi, esi
not edi
and edi, edx
mov ebx, edx
xor ebx, esi
sub ebx, edi
or esi, edx
sub ebx, esi
add ebx, edx
and ecx, 1
cmp ecx, ebx
setne cl
sete dl
mov ah, al
and ah, dl
mov ch, ah
add ch, dl
or al, dl
add al, ch
add al, cl
not ah
add ah, al
test ah, 1
je 0x10056ff0
jmp 0x10055020
mov ecx, dword [0x1007299c]
mov edx, dword [0x100729a0]
mov eax, ecx
xor eax, edx
mov esi, ecx
or esi, edx
not esi
add esi, eax
not eax
add eax, esi
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0x60353d6f
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10056f60
mov eax, dword [0x100728d4]
mov ecx, dword [0x100728d8]
mov edx, ecx
not edx
and edx, eax
add edx, ecx
or eax, ecx
sub edx, eax
add edx, 0xa
cmp dword [0x10075e4c], edx
mov edx, dword [0x10075e50]
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x100728dc]
mov esi, dword [0x100728e0]
mov edi, edx
or edi, esi
mov ebx, edx
sub ebx, edi
add ebx, esi
and edx, esi
sub ebx, edx
and ecx, 1
cmp ecx, ebx
sete cl
or cl, al
cmp cl, 1
mov edi, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
jne 0x10057131
mov eax, dword [esi]
mov ecx, dword [ebx]
mov edx, dword [edi]
mov dword [edx], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [eax], ecx
mov eax, dword [str._sP]
mov ecx, dword [0x100728e8]
mov edx, eax
xor edx, ecx
or eax, ecx
mov ecx, eax
sub ecx, edx
not eax
add eax, ecx
add eax, edx
add eax, 0xb
mov ecx, dword [0x10076178]
cmp dword [0x10076174], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x10057142
mov eax, dword [esi]
mov ecx, dword [ebx]
mov edx, dword [edi]
mov dword [edx], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [eax], ecx
jmp 0x100570df
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret