Function at 0x10001000
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd0
mov esi, esp
mov edx, dword [0x10089168]
cmp dword [0x10089164], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1007d190]
mov edi, edx
not edi
mov ebx, dword [0x1007d194]
and edi, ebx
add edi, edx
or edx, ebx
sub edi, edx
and ecx, 1
cmp ecx, edi
mov edx, dword [ebp + 8]
sete cl
or cl, al
not edx
mov dword [esi + 0x5c], edx
cmp cl, 1
jne 0x10001c58
push eax
mov dword [esi + 0x18], esp
push eax
mov dword [esi + 0x68], esp
push eax
mov dword [esi + 0x64], esp
push eax
mov dword [esi + 0x58], esp
push eax
mov dword [esi + 0x40], esp
push eax
mov dword [esi + 0x50], esp
push eax
mov dword [esi + 0xbc], esp
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x4c], esp
push eax
mov dword [esi + 0x94], esp
push eax
mov dword [esi + 0x30], esp
push eax
mov dword [esi + 0xb8], esp
push eax
mov dword [esi + 0x90], esp
push eax
mov dword [esi + 0x8c], esp
push eax
mov dword [esi + 0x88], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xb4], eax
mov esp, eax
push eax
mov dword [esi + 0xb0], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0xac], esp
push eax
mov dword [esi + 0xa8], esp
push eax
mov dword [esi + 0xa4], esp
push eax
mov dword [esi + 0xc0], esp
push eax
mov dword [esi + 0xa0], esp
push eax
mov dword [esi + 0x9c], esp
mov ebx, dword [esi + 0x5c]
lea edx, [ebx + ebx]
mov dword [esi + 0xc4], edx
sub edx, ebx
mov eax, edx
sub eax, ebx
mov edi, ebx
and edi, eax
mov ecx, ebx
or ecx, eax
add edi, ecx
not ecx
add ecx, edi
xor eax, ebx
lea edi, [ecx + eax]
add eax, ecx
add eax, 1
not eax
lea ebx, [edi + eax*2 + 2]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
mov dword [esi], eax
xor ebx, eax
mov edi, ebx
and edi, eax
mov ecx, ebx
xor ecx, eax
lea eax, [edi + ebx]
sub eax, ecx
mov ecx, dword [esi]
not ecx
mov dword [esi + 4], ecx
or ebx, ecx
sub eax, ebx
not edi
add edi, eax
neg edi
lea eax, [edi + edi]
neg eax
lea ebx, [edi + eax]
add ebx, 0xdd0c5cd9
mov edi, ebx
and edi, dword [esi]
mov ecx, ebx
and ecx, dword [esi + 4]
mov eax, edi
sub eax, ecx
add eax, ebx
mov ecx, dword [esi]
add eax, ecx
not ebx
or ebx, ecx
sub eax, ebx
not edi
add edi, eax
mov eax, edi
not eax
mov ecx, edi
xor ecx, 0x22f3a327
add ecx, edi
and eax, 0xdd0c5cd8
add eax, ecx
and edi, 0x22f3a327
lea ecx, [eax + edi]
add eax, edi
add eax, 0x22f3a328
mov edi, eax
and edi, 0xf4c2c96a
add ecx, edi
add ecx, 0x22f3a328
mov edi, eax
xor edi, 0xf4c2c96a
add edi, ecx
or eax, 0xf4c2c96a
sub edi, eax
mov ebx, dword [ebp + 8]
lea eax, [edi + ebx]
add eax, 0xb3d3695
mov ecx, eax
and ecx, 0xb3d3695
add ecx, ecx
mov edi, eax
sub edi, ecx
mov ecx, eax
xor ecx, 0xf4c2c96a
add ecx, edi
lea edi, [ecx + eax]
add edi, 1
mov eax, edx
not eax
mov ecx, edx
or ecx, eax
and ecx, 0x6b8a60df
xor edx, 0x94759f20
add edx, ecx
or eax, 0x6b8a60df
sub edx, eax
mov eax, ebx
or eax, 0x94759f20
mov ecx, eax
not ecx
add ecx, eax
mov eax, ebx
and eax, 0x94759f20
add eax, ecx
add eax, 1
mov ecx, edx
and ecx, eax
mov ebx, eax
not ebx
and ebx, edx
add ebx, ebx
lea ecx, [ebx + ecx*2]
lea ebx, [edx + edx]
sub ebx, ecx
or edx, eax
add edx, ebx
mov eax, edx
xor eax, 0x94759f20
xor edx, 0x6b8a60df
or edx, eax
and edx, edi
sub edx, eax
mov ecx, dword [esi + 0x5c]
and ecx, 0x7d10de
mov ebx, dword [ebp + 8]
mov eax, ebx
xor eax, 0xff82ef21
add ecx, eax
mov edi, ebx
xor edi, 0x7d10de
add edi, ecx
add edi, 1
mov ecx, ebx
and ecx, 0xff82ef21
add eax, ecx
mov ebx, dword [esi + 0x5c]
or ebx, 0xff82ef21
add ebx, eax
lea eax, [ecx + ebx]
add eax, 0x7d10e0
or eax, edi
mov ecx, eax
and ecx, 0x7d10de
mov edi, eax
xor edi, 0xff82ef21
add edi, ecx
mov ecx, eax
or ecx, 0x7d10de
add ecx, edi
not eax
lea ebx, [eax + ecx]
add ebx, 0xff82ef23
mov edi, dword [esi + 4]
mov ecx, edi
and ecx, ebx
not ebx
and edi, ebx
add ecx, ecx
mov eax, edi
sub eax, ecx
add eax, dword [esi + 4]
or ebx, dword [esi]
sub eax, ebx
not edi
add edi, eax
mov eax, edi
not eax
lea eax, [edi + eax*2]
add eax, edx
add eax, 0xf523691
mov edi, eax
not edi
mov ecx, edi
and ecx, 0x70adc96f
add ecx, ecx
mov edx, eax
sub edx, ecx
xor eax, 0xf0adc96f
add eax, edx
lea ecx, [eax + edi]
mov dword [esi + 0xc], ecx
add eax, edi
add eax, 0xe15b92e0
mov dword [esi + 0x20], eax
mov edi, dword [esi]
mov eax, edi
and eax, 0x401d26b2
mov ebx, dword [esi + 4]
mov ecx, ebx
sub ecx, eax
mov eax, edi
and eax, 0xbfe2d94d
add eax, ecx
mov ecx, edi
or ecx, 0xbfe2d94d
lea edx, [eax + ecx]
mov dword [esi + 0x34], edx
add ecx, eax
add ecx, 0x803a4d66
and ebx, 0xbfe2d94d
add ebx, edi
xor edi, 0xbfe2d94d
sub ebx, edi
mov edx, ebx
mov eax, ecx
xor eax, ebx
mov edi, dword [esi + 0x34]
lea ebx, [edi + eax*2]
add ebx, 0x803a4d66
or ecx, edx
sub ebx, ecx
not eax
add eax, ebx
add eax, edx
add eax, 1
mov ecx, eax
xor ecx, 0xbfe2d94d
add ecx, ecx
mov ebx, eax
or ebx, 0x401d26b2
add ebx, ecx
mov ecx, eax
not ecx
add ecx, ebx
and eax, 0xbfe2d94d
add ecx, eax
add ecx, 2
mov eax, dword [esi + 0x20]
xor eax, 0xfe66bf6a
mov edx, dword [esi + 0xc]
lea eax, [eax + edx*2]
add eax, 0xc2b725c0
add edx, edx
add edx, 0xc2b725c0
or edx, 0xfccd7ed4
sub eax, edx
mov edx, eax
and edx, ecx
lea edx, [eax + edx*2]
add edx, ecx
not eax
lea edx, [edx + eax*2]
or eax, ecx
add eax, eax
sub edx, eax
mov eax, edx
and eax, 0x7e66bf6a
add eax, eax
mov ecx, edx
sub ecx, eax
mov eax, edx
xor eax, 0x1994095
add eax, ecx
lea ecx, [eax + edx]
add eax, edx
add eax, 0xfccd7ed5
not eax
lea eax, [eax + eax*2]
lea eax, [eax + ecx*2]
add eax, 0xf99afdaa
mov ecx, 0x458c94ed
sub ecx, eax
lea eax, [ecx + ecx]
sub ecx, eax
mov eax, ecx
not eax
and eax, 0x458c94ef
add eax, ecx
or ecx, 0xba736b10
add ecx, eax
mov eax, 0xba736bb0
sub eax, ecx
mov edx, dword [eax]
lea eax, [edx + 0x79bef6cd]
and eax, 0x79bef6cd
lea edi, [eax + eax]
neg edi
add edx, edi
add edx, 0x79bef6cd
not eax
add eax, eax
sub edx, eax
lea eax, [edx - 0x79bef6cf]
mov edi, eax
xor edi, 0xcaccffee
add edx, edi
add edx, 0x86410931
mov edi, eax
or edi, 0x35330011
add edi, edx
mov edx, eax
not edx
add edx, edi
and eax, 0xcaccffee
add eax, edx
mov edi, dword [ebp + 8]
lea edx, [edi + eax]
add edx, 0xcaccfff0
add eax, edi
mov edi, edx
xor edi, 0xcaccffee
add eax, edi
add eax, 0xcaccfff0
xor edx, 0x35330011
add edx, eax
imul edx, edx, 0x6adfbfb7
lea eax, [edx + 0x3103a95]
mov edi, eax
not edi
and edi, 0xe88de159
add edx, edi
add edx, 0x3103a95
and eax, 0xe88de159
add eax, edx
mov edx, eax
not edx
and edx, 0x66efc441
add edx, edx
mov edi, eax
sub edi, edx
mov edx, eax
xor edx, 0x66efc441
add edx, edi
sub edx, eax
lea eax, [edx - 0x3220777e]
mov edi, eax
and edi, 0x17721ea6
add edx, edi
add edx, 0xcddf8882
not eax
mov edi, eax
and edi, 0xe88de159
sub edx, edi
add edx, eax
imul edx, edx, 0xe4484e07
add edx, 0xe4484e07
mov eax, edx
and eax, 0x6747febd
not edx
and edx, 0x98b80142
sub eax, edx
mov edx, eax
and edx, 0xf4a22bc6
add edx, eax
mov edi, eax
xor edi, 0xf4a22bc6
add edi, edx
or eax, 0xf4a22bc6
sub edi, eax
add edi, 0xa415d57b
mov dword [esi + 0xc], edi
mov eax, dword [esi + 0x9c]
mov dword [eax], edi
mov eax, 0xba736bb4
sub eax, ecx
mov eax, dword [eax]
mov ecx, dword [esi + 0xa0]
mov dword [ecx], eax
mov ebx, dword [0x1007d08c]
mov edx, ebx
not edx
mov dword [esi + 0x34], edx
mov eax, dword [0x1007d090]
mov dword [esi], eax
mov ecx, eax
not ecx
mov dword [esi + 4], ecx
mov eax, edx
and eax, ecx
mov edi, eax
neg edi
lea ecx, [edi + edi]
sub edi, ecx
sub edi, eax
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
add edx, ecx
not ecx
add ecx, edx
xor edi, eax
add edi, ecx
mov eax, ebx
xor eax, 0x89c50d3e
lea eax, [eax + ebx*2]
lea ecx, [ebx + ebx]
or ecx, 0x138a1a7c
sub eax, ecx
lea edx, [eax + edi*2]
lea ecx, [eax + edi*2]
add ecx, 2
lea eax, [edx + edx]
add eax, 4
mov edx, ecx
xor edx, 0x89c50d3e
sub eax, edx
mov edx, ecx
or ecx, 0x763af2c1
sub eax, ecx
not edx
or edx, 0x763af2c1
add edx, eax
mov dword [esi + 0x20], edx
mov edi, dword [esi + 0x34]
mov eax, edi
and eax, 0x7be16e2b
mov ecx, ebx
and ecx, 0x7be16e2b
add ecx, ecx
mov edx, eax
sub edx, ecx
mov ecx, ebx
xor ecx, 0x41e91d4
lea ecx, [edx + ecx*2]
lea ecx, [ecx + ebx*2]
not eax
add eax, eax
sub ecx, eax
mov eax, ebx
and eax, 0x841e91d4
or ebx, 0x841e91d4
add ebx, eax
mov eax, edi
or eax, 0x841e91d4
lea edi, [eax + ebx]
add edi, 0x7be16e2d
or edi, ecx
mov edx, dword [esi + 4]
mov ebx, edx
and ebx, 0x7be16e2b
and edx, 0x841e91d4
lea ecx, [ebx + ebx]
sub ecx, edx
mov eax, dword [esi]
mov edx, eax
or edx, 0x7be16e2b
sub ecx, edx
mov edx, eax
and edx, 0x841e91d4
xor eax, 0x841e91d4
add eax, edx
add eax, ebx
not ebx
add ebx, ecx
lea ecx, [edx + eax]
add ecx, 1
or ecx, ebx
mov ebx, edi
xor ebx, ecx
not ecx
mov eax, edi
and eax, ecx
add eax, ebx
not ebx
add ebx, eax
or ecx, edi
sub ebx, ecx
mov ecx, ebx
not ecx
mov eax, ecx
sub eax, ebx
sub eax, ebx
add eax, ebx
sub eax, ecx
lea ecx, [eax + eax]
add ecx, 0xfffffffe
neg ecx
add ecx, eax
add ecx, 0xffffffff
neg eax
add eax, eax
sub ecx, eax
mov edx, dword [esi + 0x20]
lea eax, [edx + edx]
add eax, 0x138a1a7c
lea edx, [edx + edx*2]
add edx, 0x9d4f27ba
sub edx, eax
lea eax, [ecx - 2]
not eax
add ecx, eax
add ecx, 0xfffffffe
sub eax, ecx
add eax, edx
mov edx, dword [esi + 4]
mov ecx, edx
and ecx, 0x5f99307e
lea edi, [edx + edx]
mov ebx, edx
sub ecx, edi
mov edx, dword [esi]
and edx, 0x5f99307e
add edx, edx
sub ecx, edx
or edi, 0xbf3260fc
add edi, ecx
mov ecx, dword [esi]
and ecx, 0x2066cf81
and ebx, 0xa066cf81
lea ecx, [ebx + ecx*2]
add ecx, 0x5f99307f
or ecx, edi
mov edx, ecx
xor edx, 0xa066cf81
add edx, edx
not ecx
mov edi, ecx
or edi, 0xa066cf81
add edi, edx
or ecx, 0x5f99307e
sub ecx, edi
mov edx, eax
and edx, 0x750e4160
add edx, eax
mov edi, eax
or edi, 0x750e4160
add edi, edx
not eax
add eax, edi
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xb64a4cc1
mov ecx, eax
not ecx
and ecx, 0x750e4160
add ecx, ecx
lea ecx, [ecx + edx*2]
add ecx, 0x6c949982
xor eax, 0x8af1be9f
add eax, ecx
imul edx, eax, 0x8ad2f163
mov eax, 0xea5a1d3a
sub eax, edx
mov ecx, eax
xor ecx, 0x37fbf26f
sub ecx, edx
mov edx, eax
or edx, 0x37fbf26f
sub ecx, edx
or eax, 0xc8040d90
add eax, ecx
imul eax, eax, 0xd639e7b5
add eax, 0xb863619e
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x4f721793
add edx, edx
mov edi, eax
sub edi, edx
xor eax, 0xcf721793
add eax, edi
add eax, ecx
add eax, 0x9ee42f28
cmp dword [esi + 0xc], eax
mov eax, dword [esi + 0xa0]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov ecx, dword [0x1007d098]
mov dword [esi + 4], ecx
mov edx, ecx
not edx
setne byte [esi + 0x20]
mov ebx, dword [0x1007d094]
mov dword [esi + 0x34], ebx
mov eax, ebx
and eax, ecx
mov ecx, ebx
not ecx
mov dword [esi], ecx
and ecx, edx
sub eax, ecx
mov edi, ebx
xor edi, edx
add edi, eax
mov ecx, ebx
or ecx, edx
not ecx
add ecx, edi
mov eax, dword [esi + 4]
lea edi, [eax + eax]
sub ecx, edi
mov eax, ebx
and eax, edx
not eax
add eax, ecx
mov ecx, ebx
or ecx, dword [esi]
xor ecx, ebx
and ecx, eax
xor ecx, ebx
xor eax, ebx
sub ecx, eax
lea eax, [ecx + ecx]
sub ecx, eax
lea eax, [ecx + ecx]
sub ecx, eax
mov ebx, edx
sub ebx, edi
mov eax, ecx
not eax
mov edi, eax
and edi, 0xabe2d04
add edi, ecx
or eax, 0xf541d2fb
sub edi, eax
mov ecx, dword [esi + 4]
add ebx, ecx
sub ebx, edx
lea eax, [ebx + edi]
add eax, 0xf541d2fa
mov dword [esi + 0x3c], eax
mov eax, edx
and eax, 0xfc76d9f
add eax, edx
mov edi, ecx
xor edi, 0xf0389260
add edi, eax
mov eax, ecx
xor eax, 0xfc76d9f
lea eax, [edi + eax*2]
lea edi, [edx + edx]
or edi, 0xe07124c0
sub eax, edi
or edx, ecx
and edx, 0xf0389260
or ecx, 0xfc76d9f
add edx, ecx
add edx, 1
add eax, 0xf0389261
mov edi, eax
not edi
and edi, edx
mov ebx, eax
or ebx, edx
add ebx, edi
not edx
or edx, eax
lea eax, [edx + ebx]
add eax, 1
xor eax, 0xf0389260
mov ebx, dword [esi + 0x34]
mov edx, ebx
and edx, eax
sub edx, eax
sub edx, eax
mov edi, ebx
or edi, eax
add edi, edx
add edi, eax
mov edx, dword [esi]
or edx, eax
add edx, edi
add edx, 1
xor eax, ebx
or eax, edx
mov ecx, dword [esi + 0x3c]
mov edx, ecx
sub edx, eax
mov edi, ecx
xor edi, eax
add edi, edx
mov edx, eax
not edx
or edx, ecx
add edx, edi
and eax, ecx
not ecx
add ecx, edx
add eax, ecx
imul eax, eax, 0xd8c93807
lea ecx, [eax - 0x4e6d8ff2]
mov edx, ecx
xor edx, 0x1afd1a47
add eax, edx
add eax, 0xb192700e
xor ecx, 0xe502e5b8
add ecx, eax
imul eax, ecx, 0xc514b5b7
lea ecx, [eax - 0x29f9460a]
mov edx, ecx
not edx
and edx, 0x10f2043f
add eax, edx
add eax, 0xd606b9f6
and ecx, 0x10f2043f
add eax, ecx
add eax, 0xde1bf782
cmp dword [esi + 0xc], eax
setne al
and al, byte [esi + 0x20]
mov ecx, dword [esi + 0xc0]
mov byte [ecx], al
push eax
mov dword [esi + 0x20], esp
mov ebx, dword [str.d_x]
mov ecx, dword [0x1007d0a0]
mov dword [esi], ecx
mov eax, ecx
not eax
mov dword [esi + 4], eax
add eax, eax
lea ecx, [ecx + eax + 1]
mov edx, ebx
not edx
mov eax, edx
or eax, ecx
not ecx
or ecx, edx
mov dword [esi + 0xc], edx
not ecx
add ecx, ecx
sub eax, ecx
add eax, ebx
mov ecx, eax
not ecx
lea eax, [eax + ecx*2]
add eax, eax
add eax, 2
not eax
lea ecx, [eax + eax]
sub ecx, eax
lea eax, [ecx + ebx]
add eax, 0x226c737
add ecx, ebx
not eax
mov edi, eax
and edi, 0xfdd938c9
add edi, ecx
add edi, 0x226c737
or eax, 0x226c736
sub edi, eax
mov eax, edx
and eax, 0xc045ecd5
and ebx, 0x3fba132a
lea edx, [eax + ebx]
add ebx, edx
mov ecx, edx
not ecx
lea ecx, [ebx + ecx*2]
add ecx, edx
add eax, ecx
add eax, 2
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x3fba132a
xor eax, 0x3fba132a
add edx, eax
and ecx, 0xc045ecd5
add ecx, edx
lea ebx, [ecx + eax]
add eax, ecx
add eax, 1
mov ecx, eax
mov edx, dword [esi]
and ecx, edx
add ebx, ecx
add ebx, 1
add ebx, edx
mov ecx, eax
xor ecx, edx
or eax, edx
add ebx, ecx
add eax, eax
sub ebx, eax
mov eax, ebx
xor eax, ecx
mov edx, ebx
sub edx, eax
mov eax, ebx
or eax, ecx
add eax, edx
mov edx, ecx
not edx
or edx, ebx
sub eax, edx
and ebx, ecx
not ebx
add ebx, eax
mov eax, ebx
neg eax
mov ecx, edi
add ecx, 0xdba49b0a
mov dword [esi], ecx
not ecx
mov edx, ecx
and edx, eax
add edx, edx
mov edi, dword [esi]
sub edi, edx
sub edi, ebx
mov ebx, dword [esi]
mov edx, ebx
xor edx, eax
lea edx, [edi + edx*2]
lea ecx, [edx + ecx*2]
and ebx, eax
not ebx
add ebx, ebx
sub ecx, ebx
mov eax, ecx
or eax, 0xdba49b0a
add eax, ecx
not ecx
or ecx, 0xdba49b0a
add ecx, eax
mov dword [esi], ecx
mov edi, dword [esi + 0xc]
mov eax, edi
mov edx, dword [esi + 4]
xor eax, edx
mov ecx, edi
or ecx, edx
add eax, ecx
not ecx
add ecx, eax
and edi, edx
lea ebx, [edi + ecx]
add ebx, 1
mov dword [esi + 0xc], ebx
mov edi, ebx
not edi
sub ebx, edi
sub ebx, edi
add ebx, edi
add ebx, edi
mov ecx, ebx
and ecx, 0x46101c89
mov eax, ebx
or eax, 0x46101c89
lea edx, [ecx + eax*2]
mov dword [esi + 4], edx
not eax
mov edx, dword [esi + 4]
lea eax, [edx + eax*4]
xor ebx, 0x39efe376
add ebx, ebx
sub eax, ebx
not ecx
add ecx, ecx
sub eax, ecx
and edi, 0xb9efe376
mov edx, dword [esi + 0xc]
mov ecx, edx
xor ecx, 0x46101c89
add ecx, edi
and edx, 0x46101c89
add edx, ecx
add edx, edi
add edx, 1
mov ecx, eax
not ecx
mov edi, ecx
and edi, edx
mov ebx, eax
or ebx, edx
add ebx, edi
xor eax, edx
not eax
add eax, ebx
mov edi, dword [esi + 0x20]
or ecx, edx
sub eax, ecx
mov edx, eax
and edx, 0x46101c89
sub edx, eax
mov ecx, eax
xor ecx, 0xb9efe376
add ecx, edx
mov edx, eax
or edx, 0xb9efe376
add ecx, edx
not edx
add edx, ecx
and eax, 0xb9efe376
add eax, edx
mov edx, dword [esi]
lea ecx, [edx + eax]
add eax, edx
add eax, 0x9b9520a7
not eax
and eax, 0x635f3138
lea eax, [ecx + eax*2]
add eax, 0x9b9520a7
add ecx, ecx
add ecx, 0x372a414e
or ecx, 0xc6be6270
sub ecx, eax
lea eax, [ecx - 0x1ca0cec8]
mov edx, eax
and edx, 0x52de56b9
add ecx, edx
add ecx, 0xe35f3138
not eax
and eax, 0x52de56b9
add eax, ecx
imul eax, eax, 0xf1ae5869
lea ecx, [eax - 0xb7e53c2]
add eax, eax
add eax, 0xe903587c
sub ecx, eax
imul ecx, ecx, 0xee9b4827
lea eax, [ecx + 0xa5e66ac]
mov edx, eax
not edx
and edx, 0x24a07e5
add edx, edx
lea ecx, [edx + ecx*2]
add ecx, 0x14bccd58
xor eax, 0x7db5f81a
lea edx, [ecx + eax]
add ecx, eax
add ecx, 0xfb6bf036
mov eax, ecx
and eax, 0xf5a19954
add eax, edx
add eax, 0xfb6bf036
or ecx, 0xa5e66ab
sub eax, ecx
lea edx, [eax - 1]
and edx, 0x24a07e5
add edx, edx
lea ecx, [eax + eax]
add ecx, 0xfffffffe
sub ecx, edx
neg eax
mov edx, eax
or edx, 0x7db5f81a
sub ecx, edx
or eax, 0x824a07e5
add eax, ecx
add eax, 0x824a07e6
mov dword [edi], eax
push eax
mov dword [esi + 0x80], esp
push eax
mov dword [esi + 0x7c], esp
push eax
mov dword [esi + 0x78], esp
push eax
mov dword [esi + 0x74], esp
push eax
mov dword [esi + 0x70], esp
push eax
mov dword [esi + 0x34], esp
push eax
mov dword [esi + 0x3c], esp
push eax
mov dword [esi + 0x60], esp
push eax
mov ebx, esp
mov eax, dword [0x1007d1a0]
mov ecx, dword [0x1007d1a4]
mov edx, eax
xor edx, ecx
add edx, eax
mov edi, eax
or edi, ecx
sub edx, edi
not eax
or eax, ecx
mov edi, dword [0x10089160]
add eax, edx
add eax, 0xb
cmp dword [0x1008915c], eax
setge al
setl cl
lea edx, [edi + 1]
imul edx, edi
test dl, 1
sete dl
mov ah, cl
or ah, dl
add ah, dl
xor cl, dl
not cl
add cl, ah
add cl, al
mov dword [ebx], 0xf16825f
test cl, 1
jne 0x1000274c
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
push eax
push eax
push eax
push eax
push eax
mov dword [esi + 0x20], esp
push eax
mov dword [esi], esp
push eax
mov dword [esi + 4], esp
mov ecx, dword [ebp + 8]
mov edi, dword [esi + 0x5c]
lea eax, [ecx + edi*2]
mov ebx, ecx
sub eax, edi
add eax, 1
mov edx, edi
and edx, eax
mov ecx, edi
or ecx, eax
add ecx, edx
not eax
add ecx, eax
or eax, edi
sub ecx, eax
mov eax, ecx
not eax
lea eax, [ecx + eax*2]
add eax, 1
mov ebx, dword [ebx + 0x3c]
xor eax, ebx
mov edx, eax
and edx, ebx
add edx, eax
mov ecx, eax
xor ecx, ebx
add ecx, edx
mov edx, eax
or edx, ebx
sub ecx, edx
not eax
or eax, ebx
add eax, ecx
lea ecx, [eax + eax]
sub eax, ecx
mov ecx, 1
sub ecx, eax
and ecx, 0xdd0c5cd8
sub ecx, eax
add eax, 0xfffffffe
mov edx, eax
and edx, 0x22f3a327
sub ecx, edx
mov edx, eax
and edx, 0xdd0c5cd8
add edx, ecx
or eax, 0xdd0c5cd8
lea edi, [edx + eax]
lea ecx, [eax + edx]
add ecx, 0x22f3a32a
mov dword [esi + 0xc], ebx
mov edx, ebx
not edx
mov dword [esi + 0x18], edx
mov eax, ecx
and eax, edx
lea edx, [eax + edi]
add edx, 0x22f3a32a
mov eax, ecx
not eax
and eax, ebx
add eax, edx
add eax, ebx
xor ecx, ebx
sub eax, ecx
mov ecx, eax
xor ecx, 0x22f3a327
add ecx, ecx
lea ecx, [ecx + eax*2]
lea edx, [eax + eax]
or edx, 0x45e7464e
sub ecx, edx
xor eax, 0xdd0c5cd8
lea edx, [ecx + eax]
add ecx, eax
add ecx, 0x45e7464f
not ecx
mov eax, ecx
and eax, 0xf4c2c96a
add eax, edx
add eax, 0x45e7464f
or ecx, 0xb3d3695
sub eax, ecx
mov edi, dword [ebp + 8]
lea ecx, [edi + edi]
lea edx, [ecx + eax*2]
add edx, 0x2cf4da54
add eax, 0x167a6d2a
mov ecx, eax
xor ecx, edi
add ecx, edx
or eax, edi
add eax, eax
sub ecx, eax
mov eax, ecx
and eax, 0xb3d3695
lea eax, [ecx + eax*2]
not ecx
lea ebx, [eax + ecx*2]
add ecx, ecx
or ecx, 0x167a6d2a
sub ebx, ecx
mov edi, dword [esi + 0x5c]
mov eax, edi
and eax, 0x6b8a60df
mov edx, dword [ebp + 8]
and edx, 0x94759f20
lea ecx, [eax + edi]
add ecx, edx
or edx, eax
mov eax, edi
or eax, 0x94759f20
sub ecx, eax
sub edx, eax
lea eax, [edx - 0x6b8a60e0]
mov edi, ecx
xor edi, eax
add edx, edi
add edx, 0x94759f20
or eax, ecx
mov edi, eax
sub edi, edx
not eax
add eax, eax
sub edi, eax
not ecx
lea edx, [edi + ecx]
lea eax, [edi + ecx]
add eax, 0xffffffff
xor eax, 0x94759f20
neg edx
mov ecx, edx
and ecx, 0x6b8a60df
add ecx, eax
or edx, 0x94759f20
sub edx, ecx
lea eax, [ebx + edx]
mov dword [esi + 0x30], eax
add ebx, edx
add ebx, 0x604d2a4b
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x5c]
lea edx, [ecx + eax*2]
add edx, 1
mov edi, edx
not edi
or edi, edx
and edi, 0x7d10de
or edx, 0xff82ef21
add edx, edi
add edx, 1
mov edi, ecx
or edi, eax
and edi, 0xff82ef21
or ecx, 0x7d10de
add edi, ecx
add edi, 1
mov ecx, edx
xor ecx, edi
mov eax, edi
sub eax, ecx
or edx, edi
add edx, eax
add edx, ecx
sub edx, edi
xor edx, 0x7d10de
mov edi, dword [esi + 0x18]
and edx, edi
mov eax, edx
not eax
lea eax, [edx + eax*2]
mov ecx, 0xfffffffe
sub ecx, eax
not ecx
neg eax
lea edx, [ecx + eax]
add edx, 0xfffffffe
add edx, ecx
mov eax, ebx
xor eax, 0xf523690
mov ecx, dword [esi + 0x30]
add eax, ecx
add eax, 0x604d2a4b
xor ebx, 0xf0adc96f
add ebx, eax
lea eax, [edx + ebx]
lea ecx, [edx + ebx]
add ecx, 0xf523692
mov edx, ecx
not edx
and edx, 0xf523690
add eax, edx
add eax, 0xf523692
and ecx, 0xf523690
lea edx, [eax + ecx]
mov dword [esi + 0x30], edx
add eax, ecx
add eax, 0xe15b92e0
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov edx, edi
or edx, ecx
and edx, 0x401d26b2
mov eax, ecx
and eax, 0xbfe2d94d
or edx, eax
sub edx, ecx
mov edi, eax
not edi
mov ebx, edx
and ebx, edi
mov ecx, edx
or ecx, eax
add ecx, ebx
xor eax, edx
not eax
add eax, ecx
or edi, edx
sub eax, edi
mov edx, dword [esi + 0x34]
not edx
mov ecx, dword [esi + 0x30]
lea edi, [edx + ecx*2]
add edi, 0xc2b725c0
lea ecx, [edx + ecx*2]
add ecx, 0xc4506657
mov ebx, eax
xor ebx, 0xbfe2d94d
lea edx, [ebx + edi]
add edx, 0x1994097
or ebx, ecx
sub edx, ebx
not ebx
add ebx, ebx
sub edx, ebx
xor eax, 0x401d26b2
or eax, ecx
add eax, edx
not ecx
add ecx, eax
mov eax, ecx
and eax, 0xfe66bf6a
mov edx, ecx
xor edx, 0xfe66bf6a
add edx, eax
mov eax, ecx
xor eax, 0x1994095
add eax, edx
not ecx
or ecx, 0xfe66bf6a
sub eax, ecx
imul eax, eax, 0xebf7d7f
mov ecx, 0xf4bacaeb
sub ecx, eax
imul eax, ecx, 0x31a5bd81
mov dword [esi + 0xc], eax
mov ecx, dword [eax + 0xa0]
mov edx, ecx
xor edx, 0x79bef6cd
lea edx, [edx + ecx*2]
add ecx, ecx
or ecx, 0xf37ded9a
sub edx, ecx
lea ecx, [edx + 0x79bef6cd]
mov edi, ecx
and edi, 0xcaccffee
add edx, edx
add edx, 0xf37ded9a
sub edx, edi
mov edi, ecx
not edi
and edi, 0xcaccffee
add edi, edx
xor ecx, 0xcaccffee
sub edi, ecx
mov eax, dword [ebp + 8]
lea edx, [edi + eax]
add edx, 0xcaccffee
mov ecx, edx
not ecx
mov edi, ecx
and edi, 0x4accffee
add edi, edi
mov ebx, edx
sub ebx, edi
xor edx, 0x4accffee
lea edx, [ebx + edx*2]
lea edx, [edx + ecx*2]
add ecx, ecx
or ecx, 0x6a660022
sub edx, ecx
imul ecx, edx, 0x6adfbfb7
lea edx, [ecx - 0x7f41a3c9]
lea edi, [ecx + ecx]
add edi, 0x17cb86e
sub edi, edx
lea ebx, [edi + 0x66efc441]
mov edx, ebx
and edx, 0xe88de159
mov eax, ebx
and eax, 0x17721ea6
mov ecx, edx
sub ecx, eax
lea eax, [edi + ecx]
add eax, 0x66efc441
not ebx
or ebx, 0xe88de159
sub eax, ebx
not edx
add edx, eax
imul eax, edx, 0xe4484e07
lea ecx, [eax + 0x2bb5b74f]
mov edx, ecx
and edx, 0xf4a22bc6
add eax, edx
add eax, 0x2bb5b74f
mov edx, ecx
xor edx, 0xf4a22bc6
add edx, eax
or ecx, 0xf4a22bc6
sub edx, ecx
add edx, 0xa415d57b
mov dword [esi + 0x30], edx
mov eax, dword [esi + 4]
mov dword [eax], edx
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0xa4]
mov ecx, dword [esi]
mov dword [ecx], eax
mov ebx, dword [0x1007d08c]
mov edi, ebx
not edi
mov dword [esi + 0xc], edi
mov edx, dword [0x1007d090]
mov dword [esi + 0x18], edx
mov ecx, edx
not ecx
mov dword [esi + 4], ecx
lea eax, [ecx + ecx]
lea eax, [eax + edx*2]
neg eax
add eax, ecx
add eax, 0xfffffffe
mov edx, edi
and edx, eax
mov edi, ebx
and edi, eax
lea edx, [edi + edx*2]
sub edx, eax
mov eax, edx
not eax
lea ecx, [edx + eax*2]
lea edi, [edx + eax*2]
add edi, 1
lea eax, [edx + eax*2]
add eax, 2
lea edx, [ecx + ecx]
add edx, 4
sub eax, edx
add eax, ecx
add eax, 2
not edi
mov ecx, edi
and ecx, eax
mov edx, edi
or edx, eax
add edx, ecx
not eax
add edx, eax
or eax, edi
sub edx, eax
mov eax, ebx
xor eax, 0x89c50d3e
add eax, ebx
mov ecx, ebx
or ecx, 0x89c50d3e
sub eax, ecx
mov ecx, ebx
or ecx, 0x763af2c1
add ecx, eax
lea edi, [ecx + edx*2]
lea eax, [ecx + edx*2]
add eax, 1
mov ecx, eax
xor ecx, 0x89c50d3e
lea ecx, [ecx + edi*2]
add ecx, 2
mov edx, eax
or edx, 0x89c50d3e
sub ecx, edx
not eax
or eax, 0x89c50d3e
add eax, ecx
add eax, 0x89c50d3f
mov dword [esi + 0x34], eax
mov edx, ebx
mov ecx, dword [esi + 0xc]
or edx, ecx
and ecx, 0x7be16e2b
mov eax, ebx
and eax, 0x41e91d4
add eax, eax
sub ecx, eax
mov eax, ebx
xor eax, 0x7be16e2b
add eax, ecx
lea ecx, [ebx + eax]
add ecx, 0x841e91d5
and edx, 0x841e91d4
or ebx, 0x7be16e2b
lea edi, [edx + ebx]
add edi, 1
or edi, ecx
mov eax, dword [esi + 0x18]
mov edx, eax
and edx, 0x7be16e2b
add edx, dword [esi + 4]
mov ecx, eax
xor ecx, 0x841e91d4
sub edx, ecx
mov ecx, eax
and ecx, 0x841e91d4
add ecx, eax
mov ebx, eax
xor ebx, 0x41e91d4
lea ecx, [ecx + ebx*2]
lea ebx, [eax + eax]
mov dword [esi + 0xc], ebx
mov ebx, dword [esi + 0xc]
or ebx, 0x83d23a8
sub ecx, ebx
mov ebx, eax
xor ebx, 0x7be16e2b
add ecx, ebx
add ecx, 0x841e91d5
mov ebx, edx
or ebx, ecx
mov eax, edx
xor eax, ecx
add eax, ebx
mov ebx, ecx
not ebx
or ebx, edx
add ebx, eax
mov eax, edx
not eax
add eax, ebx
and edx, ecx
lea ecx, [eax + edx]
add edx, eax
add edx, 2
mov eax, edi
xor eax, edx
add eax, ecx
add eax, 2
mov ecx, edi
or ecx, edx
not ecx
add ecx, eax
not edi
or edi, edx
sub ecx, edi
mov eax, ecx
not eax
lea ecx, [eax + ecx*2]
lea edx, [ecx + eax*2]
add edx, 2
lea eax, [edx + edx]
not edx
add edx, eax
mov edi, dword [esi + 0x34]
mov ecx, edi
xor ecx, 0xb7d7a022
mov eax, edi
sub eax, ecx
not edi
mov ecx, edi
and ecx, 0x48285fdd
add ecx, ecx
sub eax, ecx
lea ecx, [eax + edi]
add eax, edi
add eax, 0x9050bfbb
not edx
or eax, edx
not eax
lea edi, [ecx + edx*2]
add edi, 0x9050bfbb
add eax, edi
mov edi, 0x6faf4044
sub edi, ecx
or edi, edx
sub eax, edi
mov edi, dword [esi + 4]
and edi, 0x5f99307e
mov ebx, dword [esi + 0x18]
mov ecx, ebx
and ecx, 0x5f99307e
mov edx, edi
sub edx, ecx
not edi
add edx, edi
add edx, 0x5f99307f
mov ecx, ebx
and ecx, 0xa066cf81
add ecx, ebx
mov edi, ebx
xor edi, 0xa066cf81
add edi, ecx
xor ebx, 0x5f99307e
lea edi, [edi + ebx*2]
mov ecx, dword [esi + 0xc]
or ecx, 0xbf3260fc
sub edi, ecx
add edi, 0x5f99307f
mov ecx, edx
not ecx
and ecx, edi
mov ebx, edx
or ebx, edi
add ebx, ecx
not edi
or edi, edx
lea edx, [edi + ebx]
add edx, 1
mov ecx, edx
not ecx
and ecx, 0xa066cf81
mov edi, edx
xor edi, 0xa066cf81
add edi, ecx
or edx, 0x5f99307e
lea ecx, [edi + edx]
add edx, edi
add edx, 1
lea ebx, [eax + ecx]
add ebx, 0x42c95ec2
add eax, 0x42c95ec1
not ecx
mov edi, eax
or edi, ecx
add edi, ebx
sub edi, edx
not eax
or eax, ecx
lea ecx, [edi + eax]
add eax, edi
add eax, 0x26a9d2dd
mov edx, eax
xor edx, 0x308de86c
add ecx, edx
add ecx, 0x26a9d2dd
xor eax, 0xcf721793
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x7ef256f2
mov ecx, eax
not ecx
and ecx, 0x308de86c
add ecx, edx
add ecx, 0x7ef256f2
and eax, 0x308de86c
add eax, ecx
add eax, 0x9ee42f28
cmp dword [esi + 0x30], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov eax, dword [0x1007d098]
mov dword [esi + 4], eax
mov ecx, eax
not ecx
mov dword [esi], ecx
mov ebx, dword [0x1007d094]
mov edx, ebx
not edx
setne byte [esi + 0x18]
mov eax, edx
and eax, ecx
mov edi, ebx
xor edi, ecx
add edi, eax
mov ecx, ebx
mov dword [esi + 0x30], ebx
or ecx, dword [esi]
not ecx
add ecx, edi
sub ecx, edx
and ecx, ebx
mov edx, ecx
xor edx, 0xf541d2fb
add edx, ecx
not ecx
add edx, ecx
add ecx, ecx
or ecx, 0x157c5a08
sub edx, ecx
mov eax, dword [esi + 4]
mov ecx, dword [esi]
lea edi, [eax + ecx*2]
add edi, 1
mov ebx, edi
not ebx
lea ecx, [edx + 0x157c5a09]
mov eax, ecx
and eax, ebx
lea eax, [eax + edx*2]
add eax, 0x2af8b412
add eax, edi
or edi, ecx
sub eax, edi
sub eax, ebx
not ecx
lea edx, [eax + ecx]
mov dword [esi + 0x34], edx
lea edx, [eax + ecx]
add edx, 0xf541d2fb
mov ebx, dword [esi]
mov edi, ebx
and edi, 0xfc76d9f
add edi, ebx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfc76d9f
add eax, edi
or ebx, 0xfc76d9f
sub eax, ebx
and ecx, 0xf0389260
or ecx, eax
lea ebx, [ecx + ecx]
sub ebx, ecx
xor ebx, 0xf0389260
mov ecx, dword [esi + 0x30]
mov eax, ecx
and eax, ebx
mov edi, ecx
or edi, ebx
not edi
lea eax, [edi + eax*2]
xor ebx, ecx
lea edi, [ebx + eax]
add edi, 1
add eax, ebx
lea ecx, [ebx + eax]
add ecx, 1
mov eax, edi
xor eax, ebx
add eax, ecx
or ebx, edi
sub eax, ebx
mov ebx, edx
mov ecx, edx
and ecx, eax
mov edx, dword [esi + 0x34]
lea edi, [edx + edx]
add edi, 0xea83a5f6
sub edi, ecx
mov edx, ebx
not edx
and edx, eax
add edx, edi
sub edx, eax
xor eax, ebx
sub edx, eax
imul ecx, edx, 0xd8c93807
mov eax, ecx
not eax
mov edx, eax
and edx, 0x1afd1a47
add edx, edx
mov edi, ecx
sub edi, edx
xor ecx, 0x1afd1a47
lea ecx, [edi + ecx*2]
lea ecx, [ecx + eax*2]
add eax, eax
or eax, 0xca05cb70
sub ecx, eax
imul eax, ecx, 0xc514b5b7
cmp dword [esi + 0xc], eax
setne al
and al, byte [esi + 0x18]
mov ecx, dword [esi + 0x20]
mov byte [ecx], al
push eax
mov dword [esi + 0xc], esp
mov ebx, dword [str.d_x]
mov edi, ebx
not edi
mov dword [esi + 4], edi
sub edi, ebx
sub edi, ebx
mov eax, dword [0x1007d0a0]
mov dword [esi], eax
mov ecx, eax
not ecx
mov dword [esi + 0x18], ecx
lea edx, [ecx + ecx]
mov ecx, eax
sub ecx, edx
sub ecx, eax
sub ecx, eax
add edi, ebx
add edi, ebx
add ecx, 0xfffffffe
mov edx, edi
xor edx, ecx
mov eax, edi
or eax, ecx
add edx, eax
not eax
add eax, edx
and ecx, edi
add ecx, eax
add ecx, 1
mov eax, ecx
not eax
add eax, eax
add eax, ecx
lea ecx, [eax + eax]
shl eax, 2
and eax, 0x44d8e6c
mov edx, ecx
sub ecx, eax
xor edx, 0xfffffffe
add edx, edx
or edx, 0x44d8e6c
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0x226c738
mov edx, ecx
and edx, ebx
add eax, edx
add eax, 0x226c738
not ecx
and ecx, ebx
add ecx, eax
mov eax, dword [esi + 4]
mov edx, eax
or edx, 0x3fba132a
add edx, eax
lea eax, [ebx + edx]
add eax, 0xc045ecd7
add edx, ebx
and ebx, 0x3fba132a
mov edi, eax
or edi, ebx
add edx, edi
add edx, 0xc045ecd7
not edi
lea edx, [edx + edi*2]
xor eax, ebx
add eax, edx
add eax, ebx
add eax, 2
mov edx, eax
and edx, 0x3fba132a
mov ebx, eax
xor ebx, 0x3fba132a
add ebx, edx
or eax, 0xc045ecd5
sub ebx, eax
add ebx, 0xc045ecd5
mov edx, ebx
mov edi, dword [esi]
and edx, edi
mov eax, ebx
xor eax, edi
add edx, eax
mov edi, ebx
or edi, dword [esi]
sub edx, edi
mov edi, dword [esi + 0x18]
sub edx, edi
or ebx, edi
add ebx, edx
mov edx, ebx
xor edx, eax
add edx, ebx
not ebx
or ebx, eax
add ebx, edx
mov eax, ecx
xor eax, 0x226c736
add eax, ecx
xor ecx, 0xfdd938c9
add eax, ecx
add eax, 0xd97dd3d5
not ebx
mov ecx, eax
or ecx, ebx
not ecx
add ecx, ecx
mov edx, eax
sub edx, ecx
xor ebx, eax
not ebx
add ebx, edx
not eax
add eax, ebx
mov ecx, eax
not ecx
and ecx, 0xdba49b0a
add ecx, eax
or eax, 0x245b64f5
add eax, ecx
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov edx, eax
xor edx, edi
lea ecx, [eax + edx*2]
or eax, edi
sub ecx, eax
not edx
add edx, ecx
sub edx, dword [esi]
mov edi, edx
not edi
add edi, edi
lea ebx, [edi + edx]
lea ecx, [edx + edi]
add ecx, 1
lea eax, [edx + edi]
add eax, 2
mov dword [esi], eax
lea edi, [ebx + ebx]
add edi, 2
sub edi, eax
lea edx, [ebx + ebx]
add edx, 4
sub edi, edx
lea edx, [edi + 2]
mov eax, edx
and eax, 0x46101c89
xor edx, 0xb9efe376
sub edx, eax
lea eax, [edx + edi]
add eax, 2
mov dword [esi + 4], eax
add edi, edx
add edi, 0x46101c8c
mov eax, ecx
or eax, 0xb9efe376
add eax, ebx
add eax, 1
xor ecx, 0x46101c89
add ecx, eax
sub ecx, dword [esi]
add ecx, 2
mov edx, edi
or edx, ecx
mov eax, dword [esi + 4]
add eax, edx
add eax, 0x46101c8a
not edx
add edx, eax
not ecx
or ecx, edi
sub edx, ecx
mov eax, edx
xor eax, 0xb9efe376
not edx
mov ecx, edx
and ecx, 0x46101c89
add ecx, eax
or edx, 0xb9efe376
sub ecx, edx
mov eax, dword [esi + 0x20]
add eax, ecx
add eax, 0x31299f26
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xe35f3138
sub eax, edx
or ecx, 0x1ca0cec7
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xc6be6271
mov ecx, eax
xor ecx, 0x52de56b9
lea ecx, [ecx + edx*2]
add ecx, 0x8d7cc4e2
xor eax, 0x2d21a946
lea eax, [ecx + eax*2]
lea ecx, [edx + edx]
add ecx, 0x8d7cc4e2
or ecx, 0x5a43528c
sub eax, ecx
imul eax, eax, 0xf1ae5869
mov ecx, 0xb7e53c2
sub ecx, eax
imul eax, ecx, 0xee9b4827
add eax, 0x7db5f81a
mov ecx, eax
and ecx, 0x7db5f81a
sub eax, ecx
sub eax, ecx
not ecx
add ecx, ecx
sub eax, ecx
add eax, 0x824a07e4
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
mov eax, esp
mov ecx, dword [0x1007e2cc]
mov edx, dword [0x1007e2d0]
mov edi, ecx
xor edi, edx
mov ebx, edx
not ebx
or ebx, ecx
add ebx, edi
mov edi, ecx
not edi
add edi, ebx
and ecx, edx
add ecx, edi
add ecx, 0xf168261
mov dword [eax], ecx
jmp 0x1000105a
mov dword [esi + 0xc], ebx
nop
mov edx, dword [0x1007d1c0]
mov eax, dword [0x1007d1c4]
mov ecx, edx
xor ecx, eax
lea edi, [edx + ecx*2]
or edx, eax
add edx, edx
sub edi, edx
mov edx, dword [0x10089158]
not ecx
add ecx, edi
add eax, ecx
add eax, 0xb
cmp dword [0x10089154], eax
setl cl
mov eax, edx
not eax
add eax, edx
add eax, edx
add eax, 2
imul eax, edx
mov edx, dword [0x1007d1c8]
mov ebx, dword [0x1007d1cc]
mov edi, edx
or edi, ebx
not edi
add edi, ebx
not edx
or edx, ebx
sub edi, edx
and eax, 1
cmp eax, edi
sete al
mov edx, ecx
add dl, al
mov ah, cl
xor ah, al
add ah, dl
or cl, al
add cl, ah
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
add cl, 1
test cl, 1
jne 0x10002750
cmp eax, 0xac48088
jle 0x10002880
cmp eax, 0x46a6f530
jg 0x10002913
cmp eax, 0x2185ac44
jg 0x10002a28
cmp eax, 0x118084d7
jg 0x10002c87
cmp eax, 0xf16825e
jle 0x10003138
cmp eax, 0xfdc70b2
jg 0x1000392f
cmp eax, 0xf16825f
je 0x10003dab
cmp eax, 0xfd20ef5
jne 0x10005630
mov eax, dword [0x1007e010]
mov ecx, dword [0x1007e014]
mov edx, eax
or edx, ecx
not eax
or eax, ecx
not ecx
add ecx, edx
mov edx, dword [0x10089150]
add eax, ecx
add eax, 0xc
cmp dword [0x1008914c], eax
setge al
setl cl
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
sete ah
mov edx, ecx
and dl, ah
and bl, cl
add bl, dl
or cl, ah
add cl, bl
or al, ah
add al, cl
not dl
add dl, al
test dl, 1
jne 0x10007cc5
jmp 0x10007f46
cmp eax, 0xd1642d49
jg 0x100029b9
cmp eax, 0xaa3df3cf
jg 0x10002ac3
cmp eax, 0x94d70c98
jle 0x10002d4f
cmp eax, 0xa0b861ed
jle 0x100031a1
cmp eax, 0xa46a37f2
jg 0x10003999
cmp eax, 0xa0b861ee
je 0x10003de7
cmp eax, 0xa1c653e8
jne 0x10005630
cmp dword [0x10089148], 0xa
mov edx, dword [0x10089144]
setl al
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x1007d220]
and edx, dword [0x1007d224]
mov edi, edx
not edi
add edi, edi
lea edx, [edi + edx*2]
xor edx, 0xfffffffe
cmp ecx, edx
sete cl
or cl, al
cmp cl, 1
je 0x10005901
jmp 0x10005987
cmp eax, 0x6879b2f6
jg 0x10002b4c
cmp eax, 0x60016b17
jle 0x10002dc8
cmp eax, 0x650461ad
jle 0x1000323d
cmp eax, 0x67372325
jg 0x10003a1f
cmp eax, 0x650461ae
je 0x10003e17
cmp eax, 0x6681e2cf
jne 0x10005630
mov eax, dword [0x10089140]
cmp dword [0x1008913c], 0xa
setge byte [esi]
setl byte [esi + 4]
lea edx, [eax + 1]
imul edx, eax
mov edi, dword [0x1007dce8]
mov ecx, dword [0x1007dcec]
mov eax, edi
xor eax, ecx
add eax, ecx
mov ebx, edi
and edi, ecx
not ecx
lea eax, [eax + ecx*2]
not ebx
add ebx, eax
not edi
add edi, edi
sub ebx, edi
and edx, 1
add ebx, 1
cmp edx, ebx
setne al
mov dl, byte [esi + 4]
mov ecx, edx
and cl, al
add cl, dl
add cl, al
add cl, byte [esi]
test cl, 1
jne 0x10009adc
jmp 0x10009b3e
cmp eax, 0xec42ddfa
jg 0x10002bcc
cmp eax, 0xd8f562a7
jle 0x10002e62
cmp eax, 0xe3b4b3ce
jle 0x1000328a
cmp eax, 0xeb7dd766
jg 0x10003aae
cmp eax, 0xe3b4b3cf
je 0x10003e70
cmp eax, 0xe42e6bbd
jne 0x10005630
cmp dword [0x10089138], 0xa
mov eax, dword [0x10089134]
setl cl
lea edx, [eax + 3]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
mov ebx, dword [esi + 0xc]
je 0x10006f70
jmp 0x10006fcd
cmp eax, 0x31748d9b
jle 0x10002ef7
cmp eax, 0x3b10faf7
jle 0x10003338
cmp eax, 0x44d41749
jg 0x10003b10
cmp eax, 0x3b10faf8
je 0x10003ef0
cmp eax, 0x433a47a8
jne 0x10005630
mov edi, dword [0x10089130]
cmp dword [0x1008912c], 0xa
setl byte [esi]
setge byte [esi + 4]
lea edx, [edi - 1]
imul edx, edi
mov ecx, dword [str.m__a_y]
mov edi, dword [0x1007e04c]
mov ebx, ecx
sub ebx, edi
mov eax, ecx
xor eax, edi
add ebx, eax
not eax
lea eax, [ebx + eax*2]
not edi
or edi, ecx
add edi, edi
sub eax, edi
and edx, 1
cmp edx, eax
setne al
sete cl
mov ah, byte [esi + 4]
and ah, cl
mov dl, byte [esi]
or cl, dl
add cl, ah
or al, dl
add al, cl
test al, 1
je 0x10008f6e
jmp 0x10009267
cmp eax, 0xbc181224
jle 0x10002f62
cmp eax, 0xc8fa8042
jle 0x100033c2
cmp eax, 0xcb18fef7
jg 0x10003bb7
cmp eax, 0xc8fa8043
je 0x10003f3e
cmp eax, 0xca00581a
jne 0x10005630
mov ecx, dword [0x1007dde0]
mov eax, dword [0x1007dde4]
mov edx, eax
not edx
mov edi, ecx
and edi, edx
xor eax, ecx
not eax
add eax, edi
or edx, ecx
mov ecx, dword [0x10089128]
sub eax, edx
add eax, 0xa
cmp dword [0x10089124], eax
setge al
setl dl
lea ebx, [ecx + 1]
imul ebx, ecx
test bl, 1
sete cl
or cl, dl
add cl, dl
add cl, al
test cl, 1
je 0x1000617a
jmp 0x100064a6
cmp eax, 0x70f9973b
jle 0x10002ff7
cmp eax, 0x7bbf309f
jle 0x1000344d
cmp eax, 0x7e11b154
jg 0x10003c36
cmp eax, 0x7bbf30a0
je 0x10003f9a
cmp eax, 0x7da64dce
jne 0x10005630
mov edi, dword [0x10089120]
cmp dword [0x1008911c], 0xa
setl al
setge cl
mov edx, edi
xor edx, 1
add edx, edi
mov ebx, edi
xor ebx, 0xfffffffe
add edx, ebx
add edx, 2
imul edx, edi
test dl, 1
sete ah
and cl, ah
mov ch, al
or ch, ah
add ch, cl
add ch, dl
and al, ah
sub ch, al
test ch, 1
je 0x1000a7fd
jmp 0x1000a8aa
cmp eax, 0xf2d60b56
jle 0x10003092
cmp eax, 0xfd612382
jle 0x100034e9
cmp eax, 0xff8e08de
jg 0x10003cbf
cmp eax, 0xfd612383
je 0x10003ff1
cmp eax, 0xfda8d2fa
jne 0x10005630
mov ecx, dword [0x1007d470]
mov edx, dword [0x1007d474]
mov eax, ecx
xor eax, edx
add eax, ecx
add eax, edx
or ecx, edx
add ecx, ecx
sub eax, ecx
add eax, 0xa
cmp dword [0x10089118], eax
mov ecx, dword [0x10089114]
setge ah
setl al
lea edx, [ecx + 1]
imul edx, ecx
mov edi, dword [0x1007d478]
mov ebx, dword [0x1007d47c]
mov dword [esi], ebx
mov ecx, edi
xor ecx, ebx
mov ebx, edi
sub ebx, ecx
mov ecx, dword [esi]
not ecx
or ecx, edi
sub ebx, ecx
and edi, dword [esi]
not edi
add edi, ebx
and edx, 1
cmp edx, edi
sete cl
mov edx, eax
and dl, cl
add dl, al
and ah, cl
add ah, dl
mov edx, eax
xor dl, cl
add dl, ah
or al, cl
add al, dl
add al, 1
test al, 1
je 0x10007321
jmp 0x100073a1
cmp eax, 0x1bd8d819
jg 0x10003550
cmp eax, 0x15893b6d
jg 0x10003d2e
cmp eax, 0x118084d8
je 0x1000404c
cmp eax, 0x12d26dff
jne 0x10005630
mov eax, dword [0x1007da60]
mov ecx, dword [0x1007da64]
mov edx, eax
not edx
and edx, ecx
mov edi, eax
or edi, ecx
mov ebx, eax
and eax, ecx
not ecx
and ebx, ecx
sub ebx, edx
not edi
add edi, ebx
mov ebx, dword [0x10089110]
add ecx, ecx
sub edi, ecx
not eax
add eax, edi
add eax, 0xa
cmp dword [0x1008910c], eax
setge byte [esi]
setl byte [esi + 4]
lea edx, [ebx - 1]
imul edx, ebx
mov ecx, dword [0x1007da68]
mov edi, dword [0x1007da6c]
mov ebx, ecx
xor ebx, edi
lea eax, [ecx + ebx*2]
or ecx, edi
add ecx, ecx
sub eax, ecx
not ebx
add ebx, eax
lea eax, [edi + ebx]
add eax, 1
and edx, 1
cmp edx, eax
setne dl
sete al
mov ch, byte [esi + 4]
mov cl, ch
or cl, al
mov ah, ch
xor ah, al
not ah
add ah, cl
or dl, ch
add dl, ah
add dl, byte [esi]
and ch, al
sub dl, ch
test dl, 1
je 0x10008902
jmp 0x100089c2
cmp eax, 0x87762c12
jg 0x100035ed
cmp eax, 0x81656042
je 0x1000407a
cmp eax, 0x828fd7f5
je 0x100040e4
cmp eax, 0x8747413a
jne 0x10005630
mov eax, dword [0x1007dad8]
mov ecx, dword [0x1007dadc]
mov edx, eax
xor edx, ecx
mov edi, ecx
not edi
or edi, eax
add edi, edx
mov edx, eax
not edx
add edx, edi
and eax, ecx
add eax, edx
add eax, 0xc
cmp dword [0x10089108], eax
mov eax, dword [0x10089104]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x1000568d
jmp 0x10005742
cmp eax, 0x4a97789b
jg 0x1000369c
cmp eax, 0x46a6f531
je 0x1000414d
cmp eax, 0x470ac3f8
je 0x100041c5
cmp eax, 0x485546a4
jne 0x10005630
mov ecx, dword [0x1007de80]
mov eax, dword [0x1007de84]
mov edx, eax
not edx
mov edi, ecx
and edi, edx
xor eax, ecx
not eax
add eax, edi
mov edi, dword [0x10089100]
or edx, ecx
sub eax, edx
add eax, 0xa
cmp dword [0x100890fc], eax
setl byte [esi]
lea ecx, [edi - 1]
imul ecx, edi
mov eax, dword [0x1007de88]
mov edi, dword [0x1007de8c]
mov ebx, eax
and ebx, edi
add ebx, ebx
mov edx, eax
xor edx, edi
sub edi, ebx
not edx
add edx, edi
add eax, edx
add eax, 1
and ecx, 1
cmp ecx, eax
sete al
or al, byte [esi]
add al, 1
test al, 1
je 0x100095c4
jmp 0x100097dc
cmp eax, 0xd6a808e5
jg 0x10003704
cmp eax, 0xd1642d4a
je 0x10004229
cmp eax, 0xd184be88
je 0x100042a0
cmp eax, 0xd50d1e42
jne 0x10005630
mov eax, dword [0x1007e158]
mov ecx, dword [0x1007e15c]
mov edx, ecx
not edx
or edx, ecx
and edx, eax
sub edx, eax
add edx, 0xa
cmp dword [0x100890f8], edx
mov edx, dword [0x100890f4]
setl al
mov ecx, 1
sub ecx, edx
imul ecx, edx
mov edx, dword [0x1007e160]
mov edi, edx
not edi
or edi, edx
mov edx, dword [0x1007e164]
and edi, edx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
mov edx, eax
xor dl, cl
or al, cl
add al, dl
not dl
add dl, al
test dl, 1
je 0x10006812
jmp 0x10006b43
cmp eax, 0x271f4462
jg 0x10003773
cmp eax, 0x2185ac45
je 0x1000431f
cmp eax, 0x23794767
je 0x10004378
cmp eax, 0x242c3b79
jne 0x10005630
mov eax, dword [0x100890f0]
mov edx, dword [0x1007d290]
mov edi, dword [0x1007d294]
mov ecx, edx
or ecx, edi
not ecx
add ecx, edi
not edx
or edx, edi
sub ecx, edx
add ecx, 0xa
cmp dword [0x100890ec], ecx
setge cl
mov edx, eax
not edx
imul edx, eax
test cl, dl
je 0x10008af2
jmp 0x10008b94
cmp eax, 0xb08744e4
jg 0x100037e6
cmp eax, 0xaa3df3d0
je 0x100043d4
cmp eax, 0xabdeb8a6
je 0x1000444c
cmp eax, 0xac60ee70
jne 0x10005630
mov eax, dword [0x1007d2e0]
mov ecx, dword [0x1007d2e4]
mov edx, eax
xor edx, ecx
mov edi, eax
or edi, ecx
not edi
add edi, edx
mov edx, dword [0x100890e8]
and eax, ecx
add eax, edi
add eax, 0xb
cmp dword [0x100890e4], eax
setl byte [esi]
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1007d2ec]
mov edi, edx
not edi
mov eax, dword [0x1007d2e8]
mov ebx, eax
and ebx, edi
xor edx, eax
not edx
add edx, ebx
or edi, eax
sub edx, edi
and ecx, 1
cmp ecx, edx
sete al
or al, byte [esi]
add al, 1
test al, 1
je 0x10005a88
jmp 0x10005b5d
cmp eax, 0x6dc124c5
jg 0x10003846
cmp eax, 0x6879b2f7
je 0x10004494
cmp eax, 0x6aef98f9
je 0x100044d3
cmp eax, 0x6d2e1129
jne 0x10005630
mov eax, dword [0x1007d768]
xor eax, dword [0x1007d76c]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x100890e0], eax
mov edi, dword [0x100890dc]
setge ah
setl al
lea edx, [edi - 1]
imul edx, edi
mov edi, dword [0x1007d770]
mov ebx, edi
not ebx
mov ecx, dword [0x1007d774]
and ebx, ecx
and edi, ecx
not ecx
add ecx, ebx
add ecx, edi
add ecx, 1
and edx, 1
cmp edx, ecx
setne cl
sete dl
mov ch, al
xor ch, dl
or al, dl
add al, ch
add al, cl
add al, ah
add al, 1
test al, 1
je 0x1000a56c
jmp 0x1000a610
cmp eax, 0xf109bd45
jg 0x100038c4
cmp eax, 0xec42ddfb
je 0x1000452e
cmp eax, 0xee1e03ef
je 0x10004580
cmp eax, 0xef5411b9
jne 0x10005630
mov ecx, dword [0x1007d498]
mov edx, dword [0x1007d49c]
mov eax, ecx
and eax, edx
mov edi, edx
not edi
and edi, ecx
mov ebx, eax
sub ebx, edi
not ecx
or ecx, edx
sub ebx, ecx
mov edx, dword [0x100890d8]
not eax
add eax, ebx
add eax, 0xa
mov ecx, edx
cmp dword [0x100890d4], eax
not ecx
setl al
mov edi, edx
xor edi, 1
add edi, edx
and ecx, 0xfffffffe
add ecx, edi
mov edi, edx
and edi, 1
add ecx, edi
add ecx, 2
imul ecx, edx
test cl, 1
sete dl
mov ah, al
and ah, cl
mov dh, al
or dh, dl
xor dl, al
or al, cl
add dh, ah
not dl
add dl, dh
add al, dl
test al, 1
jne 0x100070a4
jmp 0x10007145
cmp eax, 0xac48089
je 0x100045e9
cmp eax, 0xaf8797e
je 0x1000462f
cmp eax, 0xdbcb4f2
jne 0x10005630
mov eax, dword [0x100890d0]
mov edx, dword [0x1007d560]
mov edi, dword [0x1007d564]
mov ecx, edx
or ecx, edi
not ecx
add ecx, edi
not edx
or edx, edi
sub ecx, edx
add ecx, 0xa
cmp dword [0x100890cc], ecx
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x10007bd1
jmp 0x10007c87
cmp eax, 0x94d70c99
je 0x100046aa
cmp eax, 0x95468c79
je 0x10004727
cmp eax, 0x9689abd6
jne 0x10005630
mov eax, dword [0x1007dc40]
mov ecx, dword [0x1007dc44]
mov edx, ecx
not edx
and edx, eax
mov ebx, eax
or ebx, ecx
add ebx, edx
mov edi, dword [0x100890c8]
xor ecx, eax
not ecx
add ecx, ebx
not eax
add eax, ecx
add eax, 0xc
cmp dword [0x100890c4], eax
setge ch
setl cl
mov edx, 1
sub edx, edi
imul edx, edi
mov edi, dword [0x1007dc48]
mov eax, dword [0x1007dc4c]
mov ebx, edi
or ebx, eax
not ebx
add ebx, eax
not edi
or edi, eax
sub ebx, edi
and edx, 1
cmp edx, ebx
sete al
mov edx, ecx
xor dl, al
add dl, al
or cl, al
add cl, dl
add cl, ch
test cl, 1
je 0x10005850
jmp 0x100058bf
cmp eax, 0x60016b18
je 0x1000479e
cmp eax, 0x62721317
je 0x10004825
cmp eax, 0x63ff8d83
jne 0x10005630
mov ecx, dword [0x100890c0]
cmp dword [0x100890bc], 0xa
setge dl
setl dh
lea eax, [ecx + 1]
imul eax, ecx
or al, dh
add al, dl
add al, 1
test al, 1
je 0x10009a13
jmp 0x10009a9a
cmp eax, 0xd8f562a8
je 0x10004891
cmp eax, 0xdc938545
je 0x10004910
cmp eax, 0xddf25efa
jne 0x10005630
mov edx, dword [0x1007dc68]
mov eax, dword [0x1007dc6c]
mov ecx, edx
sub ecx, eax
mov edi, edx
xor edi, eax
add ecx, edi
not edi
lea edi, [ecx + edi*2]
mov ecx, dword [0x100890b8]
not eax
or eax, edx
add eax, eax
sub edi, eax
add edi, 0xa
cmp dword [0x100890b4], edi
setl al
mov edx, ecx
not edx
add edx, ecx
add edx, ecx
add edx, 0x53168cea
imul edx, ecx
mov ecx, dword [0x1007dc70]
mov edi, ecx
not edi
mov ebx, dword [0x1007dc74]
and edi, ebx
not ebx
or ebx, ecx
lea ecx, [edi + ebx]
add ecx, 1
and edx, 1
cmp edx, ecx
setne cl
sete dl
mov ah, al
xor ah, dl
or al, dl
add dl, ah
add dl, al
not ah
add ah, dl
add ah, cl
test ah, 1
mov ebx, dword [esi + 0xc]
jne 0x10006efb
jmp 0x10006f55
cmp eax, 0x31748d9c
je 0x10004974
cmp eax, 0x38861d99
je 0x100049db
cmp eax, 0x3a34334b
jne 0x10005630
mov eax, dword [0x1007df00]
mov ecx, dword [0x1007df04]
mov edx, ecx
not edx
or edx, ecx
and edx, eax
sub edx, eax
add edx, 0xa
cmp dword [0x100890b0], edx
mov edx, dword [0x100890ac]
setl al
mov ecx, 1
sub ecx, edx
imul ecx, edx
mov edx, dword [0x1007df08]
mov edi, edx
not edi
or edi, edx
mov edx, dword [0x1007df0c]
and edi, edx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
mov edx, eax
xor dl, cl
or al, cl
add al, dl
not dl
add dl, al
test dl, 1
je 0x10008cbd
jmp 0x10008e60
cmp eax, 0xbc181225
je 0x10004a40
cmp eax, 0xbf0b93a4
je 0x10004a96
cmp eax, 0xc7f4b3af
jne 0x10005630
mov eax, dword [0x100890a8]
cmp dword [0x100890a4], 0xa
setge byte [esi]
setl byte [esi + 4]
lea edx, [eax + 1]
imul edx, eax
mov edi, dword [0x1007dfb8]
mov ecx, dword [0x1007dfbc]
mov eax, edi
xor eax, ecx
add eax, ecx
mov ebx, edi
and edi, ecx
not ecx
lea eax, [eax + ecx*2]
not ebx
add ebx, eax
not edi
add edi, edi
sub ebx, edi
and edx, 1
add ebx, 1
cmp edx, ebx
setne al
mov dl, byte [esi + 4]
mov ecx, edx
and cl, al
add cl, dl
add cl, al
add cl, byte [esi]
add cl, 1
test cl, 1
mov edi, dword [esi + 0xc]
je 0x100060c8
jmp 0x10006128
cmp eax, 0x70f9973c
je 0x10004af1
cmp eax, 0x7355bda2
je 0x10004b47
cmp eax, 0x74034a37
jne 0x10005630
mov eax, dword [0x1007d830]
mov ecx, dword [0x1007d834]
mov edx, eax
xor edx, ecx
mov edi, eax
or edi, ecx
not edi
add edi, edx
mov edx, dword [0x100890a0]
and eax, ecx
add eax, edi
add eax, 0xb
cmp dword [0x1008909c], eax
setl byte [esi]
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 0x4c9dbc70
imul ecx, edx
mov edx, dword [0x1007d83c]
mov ebx, edx
not ebx
mov eax, dword [0x1007d838]
and ebx, eax
sub ebx, eax
mov edi, eax
or edi, edx
add ebx, edi
not edi
add edi, ebx
and eax, edx
add eax, edi
add eax, 1
and ecx, 1
cmp ecx, eax
sete al
or al, byte [esi]
add al, 1
test al, 1
je 0x1000a760
jmp 0x1000a7bd
cmp eax, 0xf2d60b57
je 0x10004bc7
cmp eax, 0xf5c7ae29
je 0x10004c2b
cmp eax, 0xf9a46325
jne 0x10005630
cmp dword [0x10089098], 0xa
mov edx, dword [0x10089094]
setl al
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x1007e1e4]
and edx, dword [0x1007e1e8]
mov edi, edx
not edi
add edi, edi
lea edx, [edi + edx*2]
xor edx, 0xfffffffe
cmp ecx, edx
sete cl
or cl, al
cmp cl, 1
je 0x1000720e
jmp 0x100072e3
cmp eax, 0x1bd8d81a
je 0x10004c87
cmp eax, 0x1ccdfb18
je 0x10004cc5
cmp eax, 0x1cf96fd1
jne 0x10005630
mov ecx, dword [0x10089090]
mov eax, dword [0x1007dfe0]
mov edx, dword [0x1007dfe4]
mov edi, edx
not edi
and edi, eax
not eax
or eax, edx
add eax, edi
mov edx, 9
sub edx, eax
cmp dword [0x1008908c], edx
setl byte [esi]
mov edx, ecx
and edx, 1
lea edx, [ecx + edx*2]
mov edi, ecx
not edi
add edx, edi
add edx, edi
add edx, 0xffffffff
imul edx, ecx
mov ebx, dword [0x1007dfe8]
mov edi, dword [0x1007dfec]
mov eax, ebx
and eax, edi
mov ecx, ebx
or ecx, edi
not ecx
add ecx, eax
xor ebx, edi
lea eax, [ebx + ecx]
add eax, 1
and edx, 1
cmp edx, eax
sete al
or al, byte [esi]
add al, 1
test al, 1
je 0x10008a03
jmp 0x10008a9a
cmp eax, 0x87762c13
je 0x10004d43
cmp eax, 0x8d445cd3
je 0x10004daa
cmp eax, 0x900ebcc1
jne 0x10005630
mov edx, dword [0x10089088]
mov eax, dword [0x1007d3f8]
mov ecx, dword [0x1007d3fc]
mov edi, eax
not edi
and edi, ecx
and eax, ecx
not ecx
add ecx, edi
add eax, ecx
add eax, 0xb
cmp dword [0x10089084], eax
setl al
setge ah
mov ecx, edx
not ecx
mov edi, ecx
and edi, 1
add edi, edi
mov ebx, edx
sub ebx, edi
add ebx, ecx
add ecx, ebx
add ecx, 0xffffffff
imul ecx, edx
mov dword [esi], ecx
mov ecx, dword [0x1007d404]
mov edi, ecx
not edi
mov ebx, dword [0x1007d400]
mov edx, ebx
and edx, edi
not ebx
and ecx, ebx
sub edx, ecx
sub edx, edi
add edx, ebx
mov ecx, dword [esi]
and ecx, 1
cmp ecx, edx
sete cl
mov dl, ah
and dl, cl
or al, cl
add dl, al
not al
add al, dl
add al, ah
add al, 1
test al, 1
je 0x10005786
jmp 0x10005806
cmp eax, 0x4a97789c
je 0x10004e10
cmp eax, 0x51216eca
je 0x10004e81
cmp eax, 0x515425f0
jne 0x10005630
mov eax, dword [0x10089080]
mov ecx, dword [0x1007d8f8]
mov edx, dword [0x1007d8fc]
mov edi, ecx
not edi
and edi, edx
not edx
or edx, ecx
lea ecx, [edi + edx]
add ecx, 0xb
cmp dword [0x1008907c], ecx
setge dl
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete al
or al, dl
add al, cl
test al, 1
jne 0x10009958
jmp 0x100099c3
cmp eax, 0xd6a808e6
je 0x10004ee0
cmp eax, 0xd86e9080
je 0x10004f77
cmp eax, 0xd8c23118
jne 0x10005630
cmp dword [0x10089078], 0xa
mov edx, dword [0x10089074]
setl al
mov ecx, edx
xor ecx, 1
lea ecx, [ecx + edx*2]
lea edi, [edx + edx]
or edi, 2
sub ecx, edi
add ecx, 2
imul ecx, edx
test cl, 1
sete dl
mov ah, al
xor ah, dl
add ah, al
mov dh, al
or dh, dl
add dh, ah
or cl, al
add cl, dh
and al, dl
sub cl, al
test cl, 1
je 0x10006e2c
jmp 0x10006ea9
cmp eax, 0x271f4463
je 0x10004fdd
cmp eax, 0x2913e8f2
je 0x10005068
cmp eax, 0x2ebe1cc6
jne 0x10005630
mov ecx, dword [0x1007db00]
mov eax, dword [0x1007db04]
mov edx, eax
not edx
mov edi, ecx
and edi, edx
xor eax, ecx
not eax
add eax, edi
or edx, ecx
mov ecx, dword [0x10089070]
sub eax, edx
add eax, 0xa
cmp dword [0x1008906c], eax
setge al
setl dl
lea ebx, [ecx + 1]
imul ebx, ecx
test bl, 1
sete cl
or cl, dl
add cl, dl
add cl, al
test cl, 1
je 0x10008bd6
jmp 0x10008c8d
cmp eax, 0xb08744e5
je 0x100050b3
cmp eax, 0xb2a1e308
je 0x10005101
cmp eax, 0xb4d2bb68
jne 0x10005630
mov eax, dword [0x1007e130]
mov ecx, eax
not ecx
or ecx, eax
not ecx
and ecx, dword [0x1007e134]
add ecx, 0xa
cmp dword [0x10089068], ecx
mov eax, dword [0x10089064]
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x10005b9d
jmp 0x10005e39
cmp eax, 0x6dc124c6
je 0x10005147
cmp eax, 0x6fc7539d
je 0x100051b7
cmp eax, 0x7018a424
jne 0x10005630
mov edi, dword [0x10089060]
cmp dword [0x1008905c], 0xa
setl al
setge ah
lea edx, [edi - 1]
imul edx, edi
mov ebx, dword [0x1007e240]
mov edi, ebx
not edi
mov ecx, dword [0x1007e23c]
and edi, ecx
not ecx
or ecx, ebx
not ecx
sub ecx, edi
and edx, 1
cmp edx, ecx
sete cl
mov dl, ah
and dl, cl
mov ch, al
or ch, cl
add ch, dl
xor al, cl
not al
add al, ch
or ah, cl
add ah, al
test ah, 1
jne 0x1000a65e
jmp 0x1000a715
cmp eax, 0xf109bd46
je 0x10005234
cmp eax, 0xf20101a9
je 0x100052cb
cmp eax, 0xf225f560
jne 0x10005630
mov eax, dword [0x1007d3d0]
mov ecx, dword [0x1007d3d4]
mov edi, eax
or edi, ecx
sub edi, ecx
sub edi, ecx
add edi, ecx
not eax
or eax, ecx
add eax, edi
add eax, 0xb
cmp dword [0x10089058], eax
mov eax, dword [0x10089054]
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
mov ebx, dword [esi + 0xc]
je 0x10007166
jmp 0x100071c6
cmp eax, 0xfdc70b3
je 0x10005326
cmp eax, 0x10d60eec
jne 0x10005630
mov edx, dword [0x10089050]
mov eax, dword [0x1007e0b8]
mov ecx, dword [0x1007e0bc]
mov edi, ecx
not edi
and edi, eax
not eax
or eax, ecx
add eax, edi
add eax, 0xb
cmp dword [0x1008904c], eax
setge al
setl cl
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
or ah, dl
add ah, dl
xor cl, dl
not cl
add cl, ah
add cl, al
test cl, 1
jne 0x1000818d
jmp 0x100085b3
cmp eax, 0xa46a37f3
je 0x1000537a
cmp eax, 0xa4c60dd8
jne 0x10005630
mov eax, dword [0x1007d880]
mov ecx, dword [0x1007d884]
mov edx, eax
xor edx, ecx
mov edi, eax
or edi, ecx
sub edx, edi
mov edi, dword [0x10089048]
not ecx
sub edx, ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0xa
cmp dword [0x10089044], eax
setl byte [esi]
lea ecx, [edi + 1]
imul ecx, edi
mov ebx, dword [0x1007d888]
mov edi, dword [0x1007d88c]
mov eax, ebx
xor eax, edi
add eax, ebx
mov edx, ebx
or edx, edi
sub eax, edx
not ebx
or ebx, edi
add eax, ebx
add eax, 1
and ecx, 1
cmp ecx, eax
sete al
or al, byte [esi]
add al, 1
test al, 1
je 0x100059bd
jmp 0x10005a46
cmp eax, 0x67372326
je 0x100053fd
cmp eax, 0x67ae8e2c
jne 0x10005630
mov eax, dword [0x1007dd60]
mov ecx, dword [0x1007dd64]
not ecx
mov edx, eax
and edx, ecx
sub edx, ecx
or ecx, eax
add ecx, edx
not eax
add eax, ecx
add eax, 0xb
cmp dword [0x10089040], eax
mov edx, dword [0x1008903c]
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1007dd68]
mov edi, dword [0x1007dd6c]
mov ebx, edx
or ebx, edi
not ebx
lea ebx, [edx + ebx*2]
xor edx, edi
add edx, ebx
add edx, edi
add edx, 2
and ecx, 1
cmp ecx, edx
setne cl
sete dl
mov ah, al
and ah, dl
or dl, al
add dl, ah
add dl, cl
or al, cl
add al, dl
add al, 1
test al, 1
je 0x10009b80
jmp 0x1000a127
cmp eax, 0xeb7dd767
je 0x10005466
cmp eax, 0xebf6e1b8
jne 0x10005630
mov ecx, dword [0x10089038]
cmp dword [0x10089034], 0xa
setl al
mov edx, ecx
xor edx, 1
add edx, ecx
mov edi, ecx
or edi, 0xfffffffe
add edi, edx
mov edx, ecx
not edx
add edx, edi
add edx, ecx
add edx, 0xffffffff
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
xor dl, cl
or al, cl
add al, dl
not dl
add dl, al
test dl, 1
je 0x10007006
jmp 0x10007096
cmp eax, 0x44d4174a
je 0x100054bd
cmp eax, 0x450f77ee
jne 0x10005630
mov edi, dword [0x10089030]
mov eax, dword [0x1007d5d8]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x1008902c], eax
setl byte [esi]
setge byte [esi + 4]
mov edx, edi
or edx, 1
mov ecx, edi
sub ecx, edx
not edx
add edx, edx
sub ecx, edx
add ecx, edi
mov edx, edi
not edx
add edx, ecx
add edx, 0xffffffff
imul edx, edi
mov eax, dword [0x1007d5e4]
mov dword [esi + 8], eax
mov edi, eax
not edi
mov ecx, dword [0x1007d5e0]
and edi, ecx
mov ebx, ecx
xor ebx, eax
mov eax, ebx
sub eax, edi
not ebx
add ebx, eax
not ecx
or ecx, dword [esi + 8]
sub ebx, ecx
and edx, 1
cmp edx, ebx
setne al
sete cl
mov ch, byte [esi + 4]
and ch, cl
mov ah, byte [esi]
mov dl, ah
or dl, cl
add dl, ch
add dl, al
and ah, cl
sub dl, ah
test dl, 1
je 0x100094f3
jmp 0x1000958e
cmp eax, 0xcb18fef8
je 0x10005502
cmp eax, 0xcecb0164
jne 0x10005630
mov eax, dword [0x1007dbc8]
mov ecx, dword [0x1007dbcc]
mov edx, ecx
not edx
or edx, ecx
and edx, eax
sub edx, eax
add edx, 0xa
cmp dword [0x10089028], edx
mov edx, dword [0x10089024]
setl al
mov ecx, 0xe405481
sub ecx, edx
imul ecx, edx
mov edx, dword [0x1007dbd0]
mov edi, edx
not edi
or edi, edx
mov edx, dword [0x1007dbd4]
and edi, edx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
mov edx, eax
xor dl, cl
or al, cl
add al, dl
not dl
add dl, al
test dl, 1
je 0x1000673a
jmp 0x100067c8
cmp eax, 0x7e11b155
je 0x1000555c
cmp eax, 0x7f363443
jne 0x10005630
mov eax, dword [0x1007df88]
mov ecx, dword [0x1007df8c]
mov edx, eax
xor edx, ecx
mov edi, eax
not edi
or edi, ecx
and eax, ecx
not ecx
add ecx, edx
mov edx, dword [0x10089020]
add edi, ecx
add eax, edi
add eax, 0xc
cmp dword [0x1008901c], eax
setl al
mov ecx, edx
not ecx
add ecx, 0x232635a4
imul ecx, edx
mov edx, dword [0x1007df90]
mov edi, dword [0x1007df94]
not edi
mov ebx, edx
and ebx, edi
sub ebx, edi
or edi, edx
add edi, ebx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x100129f6
jmp 0x10012d82
cmp eax, 0xff8e08df
je 0x100055e5
cmp eax, 0x2da0c09
jne 0x10005630
cmp dword [0x10089018], 0xa
mov edx, dword [0x10089014]
setge ch
setl cl
mov eax, edx
and eax, 1
mov edi, edx
sub edi, eax
sub edi, eax
not eax
add eax, eax
not eax
add eax, edi
imul eax, edx
test al, 1
sete dl
mov dh, cl
or dh, dl
mov ebx, ecx
xor bl, dl
not bl
add bl, dh
or al, cl
add al, bl
add al, ch
and cl, dl
sub al, cl
mov ecx, dword [ebp + 0xc]
not ecx
mov dword [esi + 4], ecx
test al, 1
je 0x100073c2
jmp 0x100077e4
cmp eax, 0x180a17c9
jne 0x10005621
mov eax, dword [0x1007d998]
mov ecx, dword [0x1007d99c]
mov edi, eax
and edi, ecx
mov edx, eax
not edx
mov ebx, edx
and ebx, ecx
lea edi, [ebx + edi*2]
mov ebx, eax
or ebx, ecx
not ebx
lea edi, [edi + ebx*2]
xor eax, ecx
add eax, edi
or edx, ecx
mov ecx, dword [0x10089010]
sub eax, edx
add eax, 0xb
cmp dword [0x1008900c], eax
lea eax, [ecx + ecx]
mov edx, ecx
not edx
lea eax, [edx + eax + 0x1ea0dee2]
setl dl
imul eax, ecx
test al, 1
sete al
mov ecx, edx
add cl, al
mov ah, dl
xor ah, al
add ah, cl
or dl, al
add dl, ah
test dl, 1
mov ebx, dword [esi + 0xc]
jne 0x1000c227
jmp 0x1000c288
mov ecx, dword [0x10089008]
cmp dword [0x10089004], 0xa
setl al
lea edx, [ecx - 1]
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
add dl, cl
mov ah, al
xor ah, cl
add ah, dl
or al, cl
add al, ah
add al, 1
test al, 1
mov edi, dword [esi + 0xc]
je 0x1000a8ea
jmp 0x1000a955
mov eax, dword [0x10089000]
cmp dword [0x10088ffc], 0xa
setl cl
mov edx, eax
not edx
add edx, 2
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x1000b84e
jmp 0x1000b91e
mov edx, dword [0x10088ff8]
cmp dword [0x10088ff4], 0xa
setl byte [esi]
mov ecx, edx
not ecx
lea edi, [edx + ecx]
add ecx, edi
add ecx, 0xffffffff
imul ecx, edx
mov ebx, dword [0x1007db34]
mov eax, ebx
not eax
mov edx, dword [0x1007db30]
mov edi, edx
and edi, eax
add edi, edx
or ebx, edx
sub edi, ebx
sub edi, eax
not edx
add edx, edi
and ecx, 1
cmp ecx, edx
sete al
or al, byte [esi]
cmp al, 1
mov ebx, dword [esi + 0xc]
je 0x1000c6c5
jmp 0x1000c71f
mov eax, dword [0x1007de30]
mov ecx, dword [0x1007de34]
mov edx, eax
not edx
mov edi, edx
and edi, ecx
add edi, edi
xor eax, ecx
sub eax, edi
add eax, ecx
add eax, edx
add eax, 0xb
cmp dword [0x10088ff0], eax
mov edi, dword [0x10088fec]
setge ah
setl al
lea edx, [edi - 1]
imul edx, edi
mov edi, dword [0x1007de38]
mov ebx, edi
not ebx
mov ecx, dword [0x1007de3c]
mov dword [esi + 4], ecx
mov dword [esi], ebx
mov ecx, dword [esi + 4]
and dword [esi], ecx
or edi, dword [esi + 4]
not edi
add edi, dword [esi]
sub edi, ebx
and edx, 1
cmp edx, edi
sete dl
mov ecx, eax
and cl, dl
and ah, dl
add ah, cl
add ah, dl
or al, dl
add al, ah
add al, 1
test al, 1
je 0x100100b8
jmp 0x1001037f
mov edx, dword [0x10088fe8]
cmp dword [0x10088fe4], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1007df60]
mov edi, dword [0x1007df64]
mov ebx, edx
or ebx, edi
not edx
or edx, edi
not edi
add edi, ebx
add edx, edi
add edx, 2
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x10011871
jmp 0x10012141
mov edx, dword [0x10088fe0]
mov eax, dword [0x1007d744]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10088fdc], eax
setl byte [esi]
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1007d748]
mov edi, dword [0x1007d74c]
mov ebx, edx
or ebx, edi
sub ebx, edi
sub ebx, edi
add ebx, edi
not edx
or edx, edi
lea eax, [edx + ebx]
add eax, 1
and ecx, 1
cmp ecx, eax
sete al
or al, byte [esi]
add al, 1
test al, 1
je 0x1000bb17
jmp 0x1000bb9f
mov edx, dword [0x10088fd8]
cmp dword [0x10088fd4], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1007dc20]
mov edi, edx
xor edi, edx
not edi
mov ebx, dword [0x1007dc24]
and edi, ebx
xor edi, edx
xor edx, ebx
sub edi, edx
and ecx, 1
cmp ecx, edi
setne cl
sete dl
mov ah, al
xor ah, dl
or dl, al
add dl, al
not ah
add ah, dl
add ah, cl
test ah, 1
jne 0x1000ca8c
jmp 0x1000cb4e
mov eax, dword [0x1007d510]
mov ecx, dword [0x1007d514]
mov edx, eax
xor edx, ecx
add edx, eax
mov edi, eax
or edi, ecx
sub edx, edi
not eax
or eax, ecx
mov edi, dword [0x10088fd0]
add eax, edx
add eax, 0xb
cmp dword [0x10088fcc], eax
setge cl
setl al
lea edx, [edi + 1]
imul edx, edi
test dl, 1
sete dl
mov ah, al
or ah, dl
add ah, dl
xor al, dl
not al
add al, ah
add al, cl
add al, 1
test al, 1
je 0x1000b2cd
jmp 0x1000b358
mov eax, dword [0x10088fc8]
cmp dword [0x10088fc4], 0xa
setl cl
mov edx, eax
not edx
add edx, 2
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x10010638
jmp 0x10010a73
mov eax, dword [0x1007d538]
mov ecx, dword [0x1007d53c]
mov edx, eax
xor edx, ecx
mov edi, ecx
not edi
or edi, eax
add edi, edx
mov edx, eax
not edx
add edx, edi
mov edi, dword [0x10088fc0]
and eax, ecx
add eax, edx
add eax, 0xc
cmp dword [0x10088fbc], eax
setl byte [esi]
lea ecx, [edi + 1]
imul ecx, edi
mov edx, dword [0x1007d540]
mov edi, dword [0x1007d544]
mov ebx, edx
xor ebx, edi
add ebx, edx
add ebx, edi
or edx, edi
add edx, edx
sub ebx, edx
and ecx, 1
cmp ecx, ebx
sete al
or al, byte [esi]
cmp al, 1
je 0x1000b379
jmp 0x1000b434
mov eax, dword [0x1007de08]
mov ecx, dword [0x1007de0c]
mov edx, ecx
not edx
or edx, ecx
and edx, eax
sub edx, eax
add edx, 0xa
cmp dword [0x10088fb8], edx
mov edx, dword [0x10088fb4]
setl al
mov ecx, 1
sub ecx, edx
imul ecx, edx
mov edx, dword [0x1007de10]
mov edi, edx
not edi
or edi, edx
mov edx, dword [0x1007de14]
and edi, edx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
mov edx, eax
xor dl, cl
or al, cl
add al, dl
not dl
add dl, al
test dl, 1
je 0x1000fcdd
jmp 0x1000fef2
mov edi, dword [0x10088fb0]
cmp dword [0x10088fac], 0xa
setge byte [esi]
setl byte [esi + 4]
mov edx, edi
not edx
add edx, 0x9de112c
imul edx, edi
mov edi, dword [0x1007d798]
mov ebx, dword [0x1007d79c]
mov ecx, edi
or ecx, ebx
mov eax, ecx
not eax
lea eax, [ecx + eax*2]
not ebx
or ebx, edi
sub ebx, eax
not edi
add edi, ebx
and edx, 1
cmp edx, edi
sete dl
setne al
mov ah, byte [esi + 4]
and al, ah
mov cl, ah
xor cl, dl
add al, cl
or ah, dl
add ah, al
not cl
add cl, ah
mov al, byte [esi]
or al, dl
add al, cl
add al, 1
test al, 1
mov ebx, dword [esi + 0xc]
je 0x1000bbc0
jmp 0x1000bc45
mov ecx, dword [0x10088fa8]
mov edx, dword [0x1007e0e0]
mov edi, dword [0x1007e0e4]
mov eax, edx
or eax, edi
not eax
add eax, edi
not edx
or edx, edi
sub eax, edx
add eax, 0xa
cmp dword [0x10088fa4], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, dword [0x1007e0e8]
mov ebx, dword [0x1007e0ec]
mov edi, ecx
or edi, ebx
not edi
add edi, ebx
not ecx
or ecx, ebx
sub edi, ecx
and edx, 1
cmp edx, edi
sete cl
or cl, al
cmp cl, 1
je 0x10013e4c
jmp 0x100140d0
mov ecx, dword [0x10088fa0]
mov eax, dword [0x1007db50]
mov edx, dword [0x1007db54]
mov edi, edx
not edi
and edi, eax
not eax
or eax, edx
add eax, edi
mov edx, 9
sub edx, eax
cmp dword [0x10088f9c], edx
setl byte [esi]
mov edx, ecx
and edx, 1
lea edi, [ecx + edx*2]
mov edx, ecx
not edx
add edx, edi
sub edx, ecx
imul edx, ecx
mov ebx, dword [str.Ttd]
mov edi, dword [0x1007db5c]
mov eax, ebx
and eax, edi
mov ecx, ebx
or ecx, edi
not ecx
add ecx, eax
xor ebx, edi
lea eax, [ebx + ecx]
add eax, 1
and edx, 1
cmp edx, eax
sete al
or al, byte [esi]
cmp al, 1
je 0x1000c75c
jmp 0x1000c7d9
mov eax, dword [0x1007d420]
mov ecx, dword [0x1007d424]
mov edx, eax
or edx, ecx
mov edi, edx
not edi
lea edx, [edx + edi*2]
mov edi, dword [0x10088f98]
not ecx
or ecx, eax
sub ecx, edx
not eax
add eax, ecx
add eax, 0xa
cmp dword [0x10088f94], eax
setge ch
setl cl
mov edx, edi
not edx
add edx, edi
add edx, edi
imul edx, edi
mov edi, dword [0x1007d428]
mov ebx, edi
not ebx
mov eax, dword [0x1007d42c]
and ebx, eax
and edi, eax
not eax
add eax, ebx
add eax, edi
add eax, 1
and edx, 1
cmp edx, eax
sete al
setne dl
and dl, cl
or cl, al
add cl, dl
or ch, al
add ch, cl
test ch, 1
je 0x1000af7e
jmp 0x1000afee
mov edi, dword [0x10088f90]
cmp dword [0x10088f8c], 0xa
setl ch
setge cl
lea edx, [edi - 1]
imul edx, edi
mov eax, dword [0x1007d360]
mov ebx, dword [0x1007d364]
mov edi, eax
or edi, ebx
not edi
lea edi, [ebx + edi*2]
xor ebx, eax
not ebx
sub ebx, edi
not eax
add eax, ebx
and edx, 1
cmp edx, eax
setne al
sete dl
and cl, dl
or dl, ch
add dl, cl
or al, ch
add al, dl
test al, 1
je 0x1000ad19
jmp 0x1000adcc
mov eax, dword [0x1007d970]
mov edx, dword [0x1007d974]
mov edi, eax
xor edi, edx
add edi, edx
mov ecx, eax
and eax, edx
not edx
lea edx, [edi + edx*2]
not ecx
add ecx, edx
not eax
add eax, eax
sub ecx, eax
mov eax, dword [0x10088f88]
add ecx, 0xb
cmp dword [0x10088f84], ecx
setl cl
mov edx, eax
not edx
add edx, 0x3ba132
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
mov ebx, dword [esi + 0xc]
je 0x1000c15b
jmp 0x1000c1de
mov edx, dword [0x10088f80]
mov edi, dword [0x1007da88]
mov ecx, dword [0x1007da8c]
mov eax, edi
or eax, ecx
not eax
add eax, edi
not ecx
or ecx, edi
sub eax, ecx
add eax, 0xa
cmp dword [0x10088f7c], eax
setge ah
setl al
lea edi, [edx + 1]
imul edi, edx
mov ecx, dword [0x1007da90]
mov ebx, dword [0x1007da94]
mov edx, ecx
xor edx, ebx
add edx, ebx
or ebx, ecx
not ebx
lea edx, [edx + ebx*2]
not ecx
not edx
add edx, ecx
and edi, 1
cmp edi, edx
sete cl
or al, cl
or ah, cl
add cl, al
not al
add al, cl
add al, ah
test al, 1
mov edi, dword [esi + 0xc]
jne 0x1000c597
jmp 0x1000c5e2
mov eax, dword [0x1007d718]
mov ecx, dword [0x1007d71c]
mov edx, eax
xor edx, ecx
add edx, ecx
or ecx, eax
not ecx
lea ecx, [edx + ecx*2]
not eax
sub eax, ecx
add eax, 9
cmp dword [0x10088f78], eax
mov eax, dword [0x10088f74]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x1000ba4d
jmp 0x1000bad9
mov eax, dword [0x1007dcb8]
mov ecx, eax
not ecx
or ecx, eax
not ecx
and ecx, dword [0x1007dcbc]
add ecx, 0xa
cmp dword [0x10088f70], ecx
mov eax, dword [0x10088f6c]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x1000cb6f
jmp 0x1000cc01
mov edi, dword [0x10088f68]
mov eax, dword [0x1007d6a0]
xor eax, dword [0x1007d6a4]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10088f64], eax
setge al
setl cl
mov edx, edi
not edx
add edx, edi
add edx, edi
add edx, 0x47ba7e2a
imul edx, edi
and edx, 1
sete ah
mov ch, cl
and ch, dl
or ah, cl
add ah, ch
add ah, dl
or cl, dl
add cl, ah
add cl, al
test cl, 1
je 0x1000b77a
jmp 0x1000b810
mov eax, dword [0x10088f60]
mov ecx, dword [0x1007dab0]
mov edx, dword [0x1007dab4]
mov edi, ecx
not edi
and edi, edx
not edx
or edx, ecx
lea ecx, [edi + edx]
add ecx, 0xb
cmp dword [0x10088f5c], ecx
setl cl
mov edx, eax
not edx
add edx, eax
add edx, eax
add edx, 0x94acc8ca
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x1000c616
jmp 0x1000c68f
mov eax, dword [0x1007db78]
mov ecx, dword [0x1007db7c]
mov edx, eax
not edx
mov edi, edx
and edi, ecx
add edi, edi
mov ebx, eax
xor ebx, ecx
add ebx, ebx
sub ebx, edi
lea edi, [ebx + edx*2]
and eax, ecx
mov edx, dword [0x10088f58]
not eax
add eax, eax
sub edi, eax
add edi, 0xa
cmp dword [0x10088f54], edi
setge al
setl cl
lea ebx, [edx - 1]
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
xor ah, dl
mov ch, cl
or cl, dl
add ch, ah
add cl, ch
not ah
add ah, cl
add ah, al
test ah, 1
jne 0x1000c7fa
jmp 0x1000c8a5
cmp dword [0x10088f50], 0xa
mov edx, dword [0x10088f4c]
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1007d450]
mov edi, edx
not edi
mov ebx, dword [0x1007d454]
and edi, ebx
add edi, edx
or edx, ebx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
cmp cl, 1
je 0x1000b02c
jmp 0x1000b0d7
mov eax, dword [0x1007d858]
mov ecx, dword [0x1007d85c]
mov edx, eax
not edx
or edx, eax
and edx, ecx
sub edx, ecx
add edx, 0xa
cmp dword [0x10088f48], edx
mov eax, dword [0x10088f44]
setge byte [esi]
setl byte [esi + 4]
mov edx, eax
not edx
add edx, eax
add edx, eax
add edx, 0x1cb41272
imul edx, eax
mov eax, dword [0x1007d860]
mov ebx, dword [0x1007d864]
mov ecx, eax
xor ecx, ebx
mov edi, eax
not edi
or edi, ebx
and eax, ebx
not ebx
add ebx, ecx
add edi, ebx
add eax, edi
add eax, 2
and edx, 1
cmp edx, eax
sete al
mov cl, byte [esi + 4]
or al, cl
add al, cl
add al, byte [esi]
test al, 1
je 0x1000bef2
jmp 0x1000bf89
mov edx, dword [0x10088f40]
mov ecx, dword [0x1007ddb8]
mov edi, dword [0x1007ddbc]
mov eax, ecx
or eax, edi
not eax
add eax, edi
not ecx
or ecx, edi
sub eax, ecx
add eax, 0xa
cmp dword [0x10088f3c], eax
setge ch
setl cl
mov edi, edx
not edi
add edi, 2
imul edi, edx
mov edx, dword [0x1007ddc0]
mov ebx, dword [0x1007ddc4]
mov dword [esi], ebx
mov eax, edx
and eax, ebx
not edx
lea ebx, [edx + edx]
lea eax, [ebx + eax*2]
or edx, dword [esi]
add edx, edx
sub eax, edx
and edi, 1
cmp edi, eax
sete al
mov edx, ecx
or dl, al
add dl, al
xor cl, al
not cl
add cl, dl
add cl, ch
test cl, 1
jne 0x1000e74a
jmp 0x1000f262
mov eax, dword [0x1007e20c]
mov edx, dword [0x1007e210]
mov ecx, edx
not ecx
mov edi, eax
and edi, ecx
not eax
and edx, eax
sub edi, edx
sub edi, ecx
add eax, edi
add eax, 0xa
cmp dword [0x10088f38], eax
mov edx, dword [0x10088f34]
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1007e214]
mov edi, edx
not edi
or edi, edx
and ecx, 1
not edi
and edi, dword [0x1007e218]
cmp ecx, edi
sete cl
setne dl
mov ah, al
and ah, dl
mov ch, al
or ch, cl
add ch, ah
xor cl, al
not cl
add cl, ch
or al, dl
add al, cl
add al, 1
test al, 1
je 0x100162f9
jmp 0x10016899
mov eax, dword [0x1007dba0]
mov ecx, dword [0x1007dba4]
mov edx, eax
and edx, ecx
add edx, edx
mov edi, eax
xor edi, ecx
sub ecx, edx
mov ebx, dword [0x10088f30]
not edi
add edi, ecx
add eax, edi
add eax, 0xb
cmp dword [0x10088f2c], eax
setl cl
setge al
lea edx, [ebx - 1]
imul edx, ebx
mov ebx, dword [0x1007dba8]
mov edi, dword [0x1007dbac]
mov dword [esi], edi
mov dword [esi + 4], ebx
xor dword [esi + 4], edi
mov edi, ebx
or edi, dword [esi]
not edi
add edi, dword [esi + 4]
and ebx, dword [esi]
add edi, ebx
add edi, 1
and edx, 1
cmp edx, edi
sete dl
mov ah, al
and ah, dl
mov ch, cl
or ch, dl
add ch, ah
xor cl, dl
not cl
add cl, ch
or al, dl
add al, cl
add al, 1
test al, 1
je 0x1000c8e4
jmp 0x1000c975
mov ecx, dword [0x1007e284]
mov eax, dword [0x1007e288]
mov edx, eax
not edx
mov edi, ecx
and edi, edx
xor eax, ecx
not eax
add eax, edi
mov edi, dword [0x10088f28]
or edx, ecx
sub eax, edx
add eax, 0xa
cmp dword [0x10088f24], eax
setl byte [esi]
lea ecx, [edi + 1]
imul ecx, edi
mov eax, dword [0x1007e28c]
mov edi, dword [0x1007e290]
mov ebx, eax
and ebx, edi
add ebx, ebx
mov edx, eax
xor edx, edi
sub edi, ebx
not edx
add edx, edi
add eax, edx
add eax, 1
and ecx, 1
cmp ecx, eax
sete al
or al, byte [esi]
cmp al, 1
je 0x10016d6b
jmp 0x10016e9c
mov edx, dword [0x10088f20]
mov ecx, dword [str.9_nSp]
mov edi, dword [0x1007d8ac]
mov eax, ecx
xor eax, ecx
not eax
and eax, edi
xor eax, ecx
xor ecx, edi
sub eax, ecx
add eax, 0xa
cmp dword [0x10088f1c], eax
setge ah
setl al
lea edi, [edx - 1]
imul edi, edx
mov edx, dword [0x1007d8b0]
mov ebx, dword [0x1007d8b4]
mov dword [esi], ebx
mov ecx, edx
xor ecx, ebx
mov ebx, dword [esi]
not ebx
or ebx, edx
add ebx, ecx
mov ecx, edx
not ecx
add ecx, ebx
and edx, dword [esi]
add ecx, edx
add ecx, 2
and edi, 1
cmp edi, ecx
sete cl
or al, cl
or ah, cl
add cl, al
not al
add al, cl
add al, ah
add al, 1
test al, 1
je 0x1000bfaa
jmp 0x1000c076
mov ecx, dword [0x10088f18]
mov edx, dword [0x1007d8d0]
mov edi, dword [0x1007d8d4]
mov eax, edx
or eax, edi
not eax
add eax, edi
not edx
or edx, edi
sub eax, edx
add eax, 0xa
cmp dword [0x10088f14], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, dword [0x1007d8d8]
mov ebx, dword [0x1007d8dc]
mov edi, ecx
or edi, ebx
not edi
add edi, ebx
not ecx
or ecx, ebx
sub edi, ecx
and edx, 1
cmp edx, edi
sete cl
or cl, al
cmp cl, 1
je 0x1000c097
jmp 0x1000c119
mov ecx, dword [0x10088f10]
mov edx, dword [0x1007df30]
mov edi, dword [0x1007df34]
mov eax, edx
or eax, edi
not eax
add eax, edi
not edx
or edx, edi
sub eax, edx
add eax, 0xa
cmp dword [0x10088f0c], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, dword [0x1007df38]
mov ebx, dword [0x1007df3c]
mov edi, ecx
or edi, ebx
not edi
add edi, ebx
not ecx
or ecx, ebx
sub edi, ecx
and edx, 1
cmp edx, edi
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x100113ae
jmp 0x10011652
mov edx, dword [0x10088f08]
mov eax, dword [0x1007da10]
mov ecx, dword [0x1007da14]
mov edi, eax
not edi
and edi, ecx
add edi, edi
lea edi, [edi + eax*2]
or eax, ecx
add eax, eax
sub eax, edi
add eax, 0xa
cmp dword [0x10088f04], eax
setge al
setl cl
mov ebx, edx
not ebx
add ebx, edx
add ebx, edx
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
or ah, dl
mov ch, cl
xor ch, dl
not ch
add ch, ah
add ch, bl
or al, dl
add al, ch
and cl, dl
sub al, cl
test al, 1
je 0x1000c408
jmp 0x1000c4aa
mov eax, dword [0x10088f00]
mov ecx, dword [str.:iV_v6]
mov edx, dword [0x1007d30c]
mov edi, ecx
and edi, edx
not edx
and edx, ecx
add edx, edx
lea edx, [edx + edi*2]
add ecx, ecx
sub ecx, edx
add ecx, 0xa
cmp dword [0x10088efc], ecx
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
mov ah, cl
and ah, al
or al, cl
add al, ah
add al, dl
or cl, dl
add cl, al
test cl, 1
jne 0x1000ab6d
jmp 0x1000ac05
mov eax, dword [str.17ez_]
mov ecx, dword [0x1007e06c]
mov edx, eax
xor edx, ecx
add edx, eax
mov edi, eax
or edi, ecx
sub edx, edi
not eax
or eax, ecx
mov edi, dword [0x10088ef8]
add eax, edx
add eax, 0xb
cmp dword [0x10088ef4], eax
setge cl
setl al
lea edx, [edi - 1]
imul edx, edi
test dl, 1
sete dl
mov ah, al
or ah, dl
add ah, dl
xor al, dl
not al
add al, ah
add al, cl
add al, 1
test al, 1
je 0x10012fdc
jmp 0x100133a2
mov eax, dword [0x1007d4c0]
mov ecx, dword [0x1007d4c4]
mov edx, ecx
not edx
and edx, eax
sub edx, eax
mov edi, eax
or edi, ecx
add edx, edi
not edi
add edi, edx
and eax, ecx
add eax, edi
add eax, 0xb
mov ecx, dword [0x10088ef0]
cmp dword [0x10088eec], eax
setl al
mov edx, 0x94dc5fd9
sub edx, ecx
imul edx, ecx
test dl, 1
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x1000b113
jmp 0x1000b1a2
mov eax, dword [0x1007d240]
mov ecx, dword [0x1007d244]
mov edx, eax
not edx
mov edi, edx
and edi, ecx
add edi, edi
xor eax, ecx
sub eax, edi
add eax, ecx
add eax, edx
add eax, 0xb
cmp dword [0x10088ee8], eax
mov edi, dword [0x10088ee4]
setge ah
setl al
lea edx, [edi - 1]
imul edx, edi
mov edi, dword [0x1007d248]
mov ebx, edi
not ebx
mov ecx, dword [0x1007d24c]
mov dword [esi + 4], ecx
mov dword [esi], ebx
mov ecx, dword [esi + 4]
and dword [esi], ecx
or edi, dword [esi + 4]
not edi
add edi, dword [esi]
sub edi, ebx
and edx, 1
cmp edx, edi
sete dl
mov ecx, eax
and cl, dl
and ah, dl
add ah, cl
add ah, dl
or al, dl
add al, ah
add al, 1
test al, 1
je 0x1000a967
jmp 0x1000a9c9
mov eax, dword [0x1007d7e0]
mov ecx, dword [0x1007d7e4]
mov edx, eax
and edx, ecx
mov edi, eax
or edi, ecx
not edi
add edi, edx
mov edx, dword [0x10088ee0]
xor eax, ecx
add eax, edi
add eax, 0xb
cmp dword [0x10088edc], eax
setl byte [esi]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1007d7e8]
mov edi, dword [0x1007d7ec]
mov ebx, edx
xor ebx, edi
add ebx, edx
add ebx, edi
or edx, edi
add edx, edx
sub ebx, edx
and ecx, 1
cmp ecx, ebx
sete al
or al, byte [esi]
cmp al, 1
je 0x1000bd34
jmp 0x1000bdf1
mov eax, dword [0x1007d9c0]
mov ecx, dword [0x1007d9c4]
mov edx, eax
or edx, ecx
not eax
or eax, ecx
not ecx
add ecx, edx
mov edx, dword [0x10088ed8]
add eax, ecx
add eax, 0xc
cmp dword [0x10088ed4], eax
setge al
setl cl
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
sete ah
mov edx, ecx
and dl, ah
and bl, cl
add bl, dl
or cl, ah
add cl, bl
or al, ah
add al, cl
not dl
add dl, al
test dl, 1
jne 0x1000c2c6
jmp 0x1000c337
mov ecx, dword [0x10088ed0]
cmp dword [0x10088ecc], 0xa
setl al
mov edx, ecx
not edx
add edx, ecx
add edx, ecx
add edx, 2
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
xor dl, cl
or al, cl
add al, dl
not dl
add dl, al
test dl, 1
je 0x10010e7c
jmp 0x10011121
mov edx, dword [0x10088ec8]
mov ecx, dword [0x1007d380]
mov edi, dword [0x1007d384]
mov eax, ecx
or eax, edi
not eax
add eax, edi
not ecx
or ecx, edi
sub eax, ecx
add eax, 0xa
cmp dword [0x10088ec4], eax
setge ah
setl al
mov edi, edx
not edi
add edi, 2
imul edi, edx
mov edx, dword [0x1007d388]
mov ebx, dword [0x1007d38c]
mov dword [esi], ebx
mov ecx, edx
and ecx, ebx
not edx
lea ebx, [edx + edx]
lea ecx, [ebx + ecx*2]
or edx, dword [esi]
add edx, edx
sub ecx, edx
and edi, 1
cmp edi, ecx
sete cl
mov edx, eax
or dl, cl
add dl, cl
xor al, cl
not al
add al, dl
add al, ah
add al, 1
test al, 1
je 0x1000aded
jmp 0x1000aea2
mov edx, dword [0x10088ec0]
mov ecx, dword [0x1007dbf0]
mov edi, dword [0x1007dbf4]
mov eax, ecx
and eax, edi
not edi
add eax, edi
or edi, ecx
sub eax, edi
add eax, 0xa
cmp dword [0x10088ebc], eax
setl byte [esi]
mov ecx, edx
not ecx
imul ecx, edx
mov eax, dword [0x1007dbf8]
mov edx, dword [0x1007dbfc]
mov ebx, eax
xor ebx, edx
mov edi, eax
or edi, edx
sub ebx, edi
not edx
sub ebx, edx
or edx, eax
add edx, ebx
and ecx, 1
cmp ecx, edx
sete al
or al, byte [esi]
add al, 1
test al, 1
je 0x1000c9b1
jmp 0x1000ca49
cmp dword [0x10088eb8], 0xa
mov edi, dword [0x10088eb4]
setge ch
setl cl
mov edx, edi
not edx
add edx, edi
add edx, edi
imul edx, edi
mov ebx, dword [0x1007d5b8]
mov dword [esi], ebx
not ebx
mov eax, dword [0x1007d5bc]
and ebx, eax
add ebx, ebx
mov edi, dword [esi]
xor edi, eax
sub edi, ebx
add edi, eax
sub edi, dword [esi]
and edx, 1
cmp edx, edi
sete al
setne dl
mov ah, cl
and ah, dl
mov dh, ch
and dh, al
or dh, ah
or cl, al
add cl, dh
add cl, dl
add cl, ch
test cl, 1
jne 0x1000b455
jmp 0x1000b4c8
mov eax, dword [0x1007dd94]
and eax, dword [0x1007dd90]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10088eb0], eax
mov edi, dword [0x10088eac]
setl ch
setge cl
mov edx, edi
not edx
add edx, 0xc46e27d0
imul edx, edi
mov edi, dword [0x1007dd98]
mov ebx, edi
not ebx
mov eax, dword [0x1007dd9c]
and ebx, eax
not eax
or eax, edi
add eax, ebx
add eax, 1
and edx, 1
cmp edx, eax
setne al
sete dl
and cl, dl
or dl, ch
not dl
add dl, cl
or al, ch
add al, dl
test al, 1
jne 0x1000e06e
jmp 0x1000e3ca
mov edx, dword [0x10088ea8]
mov eax, dword [0x1007d650]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10088ea4], eax
setl byte [esi]
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
imul ecx, edx
mov ebx, dword [0x1007d658]
mov edi, dword [0x1007d65c]
mov eax, ebx
xor eax, edi
mov edx, ebx
or edx, edi
not edx
add edx, eax
and ebx, edi
lea eax, [ebx + edx]
add eax, 1
and ecx, 1
cmp ecx, eax
sete al
or al, byte [esi]
cmp al, 1
je 0x1000b5cd
jmp 0x1000b687
mov eax, dword [0x1007e108]
mov edx, dword [0x1007e10c]
mov ecx, eax
or ecx, edx
mov edi, ecx
not edi
shl edi, 2
lea ecx, [edi + ecx*2]
mov edi, eax
xor edi, edx
not edi
add edi, edi
sub ecx, edi
and eax, edx
not eax
add eax, eax
sub ecx, eax
add ecx, 0xa
cmp dword [0x10088ea0], ecx
mov edx, dword [0x10088e9c]
setl al
mov ecx, edx
not ecx
add ecx, edx
lea ebx, [edx + ecx]
add ebx, 0x1725c53a
imul ebx, edx
mov edx, dword [0x1007e110]
mov edi, edx
not edi
mov ecx, dword [0x1007e114]
mov dword [esi], edi
and dword [esi], ecx
xor edx, ecx
not edx
add edx, dword [esi]
or edi, ecx
sub edx, edi
and ebx, 1
cmp ebx, edx
sete cl
setne dl
and dl, al
add dl, al
mov ah, al
or ah, cl
not ah
add ah, dl
and al, cl
not al
add al, ah
test al, 1
jne 0x10014347
jmp 0x100145ff
mov eax, dword [0x1007da38]
mov ecx, dword [0x1007da3c]
mov edi, ecx
not edi
and edi, eax
add edi, edi
mov edx, eax
sub edx, edi
mov edi, eax
not edi
or edi, ecx
sub edx, edi
and eax, ecx
mov ecx, dword [0x10088e98]
not eax
add eax, edx
add eax, 0xa
cmp dword [0x10088e94], eax
setge al
setl dl
mov edi, ecx
not edi
add edi, ecx
lea ebx, [ecx + edi]
add ebx, 2
imul ebx, ecx
test bl, 1
sete cl
mov ah, dl
xor ah, cl
add ah, dl
or al, cl
add al, ah
test al, 1
je 0x1000c4e6
jmp 0x1000c55d
mov edx, dword [0x1007d6f0]
mov eax, dword [0x1007d6f4]
mov ecx, edx
xor ecx, eax
lea edi, [edx + ecx*2]
or edx, eax
add edx, edx
sub edi, edx
not ecx
add ecx, edi
add eax, ecx
add eax, 0xb
cmp dword [0x10088e90], eax
mov edx, dword [0x10088e8c]
setl al
mov ecx, edx
xor ecx, 1
add ecx, edx
mov edi, edx
or edi, 0xfffffffe
add edi, ecx
mov ecx, edx
not ecx
add ecx, edi
add ecx, edx
add ecx, 0xffffffff
imul ecx, edx
mov edx, dword [0x1007d6f8]
mov ebx, dword [0x1007d6fc]
mov edi, edx
or edi, ebx
not edi
add edi, ebx
not edx
or edx, ebx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
mov edx, eax
add dl, cl
mov ah, al
xor ah, cl
add ah, dl
or al, cl
add al, ah
add al, 1
test al, 1
je 0x1000b93f
jmp 0x1000ba07
mov edi, dword [0x10088e88]
cmp dword [0x10088e84], 0xa
setl ch
setge cl
lea edx, [edi - 1]
imul edx, edi
mov edi, dword [0x1007d608]
mov eax, dword [0x1007d60c]
mov ebx, edi
or ebx, eax
not ebx
add ebx, eax
not edi
or edi, eax
sub ebx, edi
and edx, 1
cmp edx, ebx
sete al
and al, cl
add al, ch
test al, 1
jne 0x1000b4e9
jmp 0x1000b590
mov edx, dword [0x10088e80]
cmp dword [0x10088e7c], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1007e098]
mov edi, dword [0x1007e09c]
mov ebx, edx
or ebx, edi
not edx
or edx, edi
not edi
add edi, ebx
add edx, edi
add edx, 2
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x1001365b
jmp 0x10013a71
mov ecx, dword [0x10088e78]
cmp dword [0x10088e74], 0xa
setl al
setge dl
lea ebx, [ecx - 1]
imul ebx, ecx
test bl, 1
sete cl
and dl, cl
add dl, cl
mov ah, al
or ah, cl
add ah, dl
and al, cl
not al
add al, ah
mov ecx, 0xffffffff
not ecx
mov dword [esi + 0x44], ecx
test al, 1
je 0x1000d231
jmp 0x1000d963
mov eax, dword [0x1007d4e8]
mov ecx, dword [0x1007d4ec]
mov edx, eax
xor edx, ecx
mov edi, eax
not edi
or edi, ecx
and eax, ecx
not ecx
add ecx, edx
mov edx, dword [0x10088e70]
add edi, ecx
add eax, edi
add eax, 0xc
cmp dword [0x10088e6c], eax
setl al
mov ecx, edx
not ecx
add ecx, 2
imul ecx, edx
mov edx, dword [0x1007d4f0]
mov edi, dword [0x1007d4f4]
not edi
mov ebx, edx
and ebx, edi
sub ebx, edi
or edi, edx
add edi, ebx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x1000b1eb
jmp 0x1000b289
mov eax, dword [0x1007d268]
mov edx, dword [0x1007d26c]
mov ecx, edx
not ecx
and ecx, eax
mov edi, eax
xor edi, edx
mov ebx, edi
sub ebx, ecx
not edi
add edi, ebx
mov ecx, dword [0x10088e68]
not eax
or eax, edx
sub edi, eax
add edi, 0xa
cmp dword [0x10088e64], edi
setl al
mov edx, ecx
not edx
add edx, ecx
add edx, ecx
add edx, 0x55cbc090
imul edx, ecx
mov ecx, dword [0x1007d274]
mov edi, ecx
not edi
mov ebx, dword [0x1007d270]
and edi, ebx
not ebx
or ebx, ecx
lea ecx, [edi + ebx]
add ecx, 1
and edx, 1
cmp edx, ecx
sete cl
or cl, al
cmp cl, 1
mov ebx, dword [esi + 0xc]
je 0x1000a9e7
jmp 0x1000aa50
mov eax, dword [0x1007d9e8]
mov edi, dword [0x1007d9ec]
mov ecx, eax
or ecx, edi
mov edx, ecx
not edx
shl edx, 2
lea ecx, [edx + ecx*2]
mov edx, eax
xor edx, edi
not edx
add edx, edx
sub ecx, edx
mov edx, dword [0x10088e60]
and eax, edi
not eax
add eax, eax
sub ecx, eax
add ecx, 0xa
cmp dword [0x10088e5c], ecx
setl byte [esi]
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 0x273d959a
imul ecx, edx
mov edx, dword [0x1007d9f0]
mov edi, edx
not edi
mov ebx, dword [0x1007d9f4]
mov eax, edi
and eax, ebx
xor edx, ebx
not edx
add edx, eax
or edi, ebx
sub edx, edi
and ecx, 1
cmp ecx, edx
sete al
setne cl
mov ah, byte [esi]
and cl, ah
add cl, ah
mov dl, ah
or dl, al
not dl
add dl, cl
and ah, al
sub dl, ah
test dl, 1
je 0x1000c358
jmp 0x1000c3e7
mov eax, dword [0x1007d7b8]
mov edi, dword [0x1007d7bc]
mov edx, edi
not edx
mov ecx, eax
and ecx, edx
add ecx, eax
or edi, eax
sub ecx, edi
sub ecx, edx
mov edx, dword [0x10088e58]
not eax
add eax, ecx
add eax, 0xa
cmp dword [0x10088e54], eax
setge cl
setl al
lea ebx, [edx - 1]
imul ebx, edx
test bl, 1
sete dl
or al, dl
or cl, dl
add dl, al
not al
add al, dl
add al, cl
add al, 1
test al, 1
je 0x1000bc80
jmp 0x1000bd13
mov edx, dword [0x10088e50]
mov eax, dword [0x1007d330]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10088e4c], eax
setl al
mov edi, edx
and edi, 0xfffffffe
add edi, edx
mov ecx, edx
or ecx, 0xfffffffe
add ecx, edi
sub ecx, edx
add ecx, 3
imul ecx, edx
test cl, 1
sete dl
mov ah, al
or ah, dl
add ah, al
xor al, dl
not al
add al, ah
add al, cl
test al, 1
jne 0x1000ac3d
jmp 0x1000acd7
mov eax, dword [0x1007d678]
mov edx, dword [0x1007d67c]
mov ecx, eax
not ecx
mov edi, ecx
and edi, edx
xor eax, edx
not eax
add eax, edi
or ecx, edx
sub eax, ecx
add eax, 0xa
cmp dword [0x10088e48], eax
mov edx, dword [0x10088e44]
setl al
mov ecx, edx
and ecx, 0xfffffffe
mov edi, edx
or edi, 1
add ecx, edi
not edi
add edi, ecx
lea ecx, [edx + edi]
add ecx, 0x89d17082
imul ecx, edx
mov edx, dword [0x1007d680]
mov edi, dword [0x1007d684]
mov ebx, edx
and ebx, edi
not edi
and edi, edx
add edi, edi
lea edi, [edi + ebx*2]
add edx, edx
sub edx, edi
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x1000b6c7
jmp 0x1000b759
mov eax, dword [0x10088e40]
cmp dword [0x10088e3c], 0xa
setl byte [esi]
mov ecx, 1
sub ecx, eax
imul ecx, eax
mov edi, dword [0x1007d810]
mov ebx, dword [0x1007d814]
mov dword [esi + 4], ebx
mov edx, edi
and edx, ebx
not ebx
and ebx, edi
mov eax, edx
sub eax, ebx
not edi
or edi, dword [esi + 4]
sub eax, edi
not edx
add edx, eax
and ecx, 1
cmp ecx, edx
sete al
mov ah, byte [esi]
mov cl, ah
xor cl, al
mov dl, ah
or dl, al
add cl, dl
not dl
add dl, cl
and ah, al
sub dl, ah
test dl, 1
je 0x1000be21
jmp 0x1000bea9
mov ecx, dword [0x10088e38]
mov eax, dword [0x1007e1ac]
mov edx, dword [0x1007e1b0]
mov edi, eax
and edi, edx
not edx
and edx, eax
add edx, edx
lea edx, [edx + edi*2]
add eax, eax
sub eax, edx
add eax, 0xa
cmp dword [0x10088e34], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
mov ah, al
and ah, cl
or cl, al
add cl, ah
add cl, dl
or al, dl
add al, cl
add al, 1
test al, 1
je 0x10014b73
jmp 0x1001573f
mov eax, dword [0x10088e30]
mov edx, dword [0x1007e180]
mov edi, dword [0x1007e184]
mov ecx, edx
or ecx, edi
not ecx
add ecx, edi
not edx
or edx, edi
sub ecx, edx
add ecx, 0xa
cmp dword [0x10088e2c], ecx
setl cl
mov edx, eax
not edx
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x1001484b
jmp 0x10014a1e
mov edx, dword [0x10088e28]
cmp dword [0x10088e24], 0xa
setl al
lea ecx, [edx + edx]
mov edi, edx
xor edi, 1
sub ecx, edi
mov edi, edx
not edi
sub ecx, edx
add ecx, edi
add ecx, 0xffffffff
imul ecx, edx
mov edx, dword [0x1007d2c0]
mov edi, edx
xor edi, edx
not edi
mov ebx, dword [0x1007d2c4]
and edi, ebx
xor edi, edx
xor edx, ebx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
cmp cl, 1
je 0x1000aa8b
jmp 0x1000ab2b
mov edx, dword [0x10088e20]
mov eax, dword [0x1007dd08]
or eax, dword [0x1007dd0c]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10088e1c], eax
setl byte [esi]
lea eax, [edx - 1]
imul eax, edx
mov dword [esi + 4], eax
mov eax, dword [0x1007dd10]
mov edi, dword [0x1007dd14]
mov edx, eax
and edx, edi
mov ecx, eax
not ecx
mov ebx, ecx
and ebx, edi
lea ebx, [ebx + edx*2]
mov edx, eax
or edx, edi
not edx
lea edx, [ebx + edx*2]
xor eax, edi
add eax, edx
or ecx, edi
sub eax, ecx
mov ecx, dword [esi + 4]
and ecx, 1
add eax, 1
cmp ecx, eax
sete al
mov ah, byte [esi]
mov cl, ah
and cl, al
mov dl, ah
or dl, al
add cl, dl
not dl
add dl, cl
xor ah, al
not ah
add ah, dl
test ah, 1
jne 0x1000cc2e
jmp 0x1000cfbf
mov ecx, dword [0x10088e18]
cmp dword [0x10088e14], 0xa
setl al
setge dl
lea ebx, [ecx + 1]
imul ebx, ecx
test bl, 1
sete cl
and dl, cl
add dl, cl
mov ah, al
or ah, cl
add ah, dl
and al, cl
not al
add al, ah
test al, 1
je 0x1000aec3
jmp 0x1000af4e
cmp eax, 0x15893b6e
je 0x10016eb0
nop dword [eax]
mov ecx, dword [0x1007d1e0]
mov edx, dword [0x1007d1e4]
mov eax, ecx
or eax, edx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0xa
cmp dword [0x10088e10], eax
mov edx, dword [0x10088e0c]
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1007d1e8]
mov ebx, dword [0x1007d1ec]
mov edi, edx
or edi, ebx
not edi
add edi, ebx
not edx
or edx, ebx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
je 0x10005630
jmp 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007dae8]
mov edx, dword [0x1007daec]
mov edi, ecx
not edi
and edi, edx
and ecx, edx
not edx
add edx, edi
add ecx, edx
add ecx, 0xdb06aefd
cmp eax, ecx
mov ecx, 0xebf6e1b8
mov eax, 0x118084d8
cmove ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [0x1007daf0]
mov edx, dword [0x1007daf4]
mov edi, ecx
not edi
mov eax, edi
and eax, edx
add eax, eax
xor ecx, edx
sub ecx, eax
add ecx, edx
lea eax, [edi + ecx]
add eax, 0xb
cmp dword [0x10088e08], eax
mov eax, dword [0x10088e04]
setge cl
setl ch
lea edi, [eax - 1]
imul edi, eax
mov ebx, dword [0x1007daf8]
mov eax, ebx
not eax
mov edx, dword [str.:_]
mov dword [esi], edx
mov edx, eax
and edx, dword [esi]
or ebx, dword [esi]
not ebx
add ebx, edx
sub ebx, eax
and edi, 1
cmp edi, ebx
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 4]
mov dword [eax], edx
sete al
mov dl, ch
and dl, al
and cl, al
add cl, dl
add cl, al
or ch, al
add ch, cl
test ch, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e49c]
mov edx, dword [0x1007e4a0]
mov edi, ecx
xor edi, edx
mov ebx, ecx
not ebx
or ebx, edx
and ecx, edx
not edx
add edx, edi
add ebx, edx
add ecx, ebx
add ecx, 0xdb06aefe
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x118084d8
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000568d
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d408]
mov edx, ecx
not edx
or edx, ecx
not edx
and edx, dword [str._]
add edx, 0x51f98730
cmp eax, edx
mov eax, 0xd184be88
mov ecx, 0xef5411b9
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov ecx, dword [0x1007d410]
mov eax, dword [0x1007d414]
mov edx, eax
not edx
mov edi, ecx
and edi, edx
xor eax, ecx
not eax
add eax, edi
or edx, ecx
sub eax, edx
add eax, 0xa
cmp dword [0x10088e00], eax
mov eax, dword [0x10088dfc]
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 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi], eax
mov ecx, dword [0x1007e33c]
mov edx, dword [0x1007e340]
mov ebx, edx
not ebx
and ebx, ecx
mov edi, ecx
xor edi, edx
mov eax, edi
sub eax, ebx
not edi
add edi, eax
not ecx
or ecx, edx
sub edi, ecx
add edi, 0x51f98730
cmp dword [esi], edi
mov eax, 0xd184be88
mov ecx, 0xef5411b9
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10005786
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007dc50]
mov edi, dword [0x1007dc54]
mov ecx, edx
or ecx, edi
not ecx
add ecx, edi
not edx
or edx, edi
sub ecx, edx
add ecx, 0x882b1fb6
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x10d60eec
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov ecx, dword [0x10088df8]
cmp dword [0x10088df4], 0xa
setl al
setge dl
lea ebx, [ecx - 1]
imul ebx, ecx
test bl, 1
sete cl
and dl, cl
add dl, cl
mov ah, al
or ah, cl
add ah, dl
and al, cl
sub ah, al
test ah, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e4e4]
mov edx, dword [0x1007e4e8]
mov edi, ecx
xor edi, edx
add edi, ecx
mov ebx, ecx
or ebx, edx
sub edi, ebx
not ecx
or ecx, edx
add ecx, edi
add ecx, 0x882b1fb7
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x10d60eec
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10005850
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d228]
mov edx, dword [0x1007d22c]
mov edi, ecx
xor edi, edx
mov ebx, edx
not ebx
or ebx, ecx
add ebx, edi
mov edi, ecx
not edi
add edi, ebx
and ecx, edx
add ecx, edi
add ecx, 0x2c0edd7e
cmp eax, ecx
mov eax, 0x7355bda2
mov ecx, 0x6d2e1129
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov edi, dword [0x10088df0]
cmp dword [0x10088dec], 0xa
setl al
setge cl
mov edx, edi
xor edx, 1
add edx, edi
mov ebx, edi
xor ebx, 0xfffffffe
add edx, ebx
add edx, 2
imul edx, edi
test dl, 1
sete ah
and cl, ah
mov ch, al
or ch, ah
add ch, cl
add ch, dl
and al, ah
not al
add al, ch
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e2dc]
xor ecx, dword [0x1007e2e0]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0x2c0edd7d
cmp eax, ecx
mov eax, 0x7355bda2
mov ecx, 0x6d2e1129
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10005901
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x12a989ca
mov eax, 0xebf6e1b8
mov ecx, 0x2da0c09
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov edx, dword [0x10088de8]
mov eax, dword [0x1007d898]
mov ecx, dword [0x1007d89c]
mov edi, eax
or edi, ecx
not edi
lea edi, [ecx + edi*2]
xor ecx, eax
not ecx
sub ecx, edi
not eax
add eax, ecx
add eax, 0xa
cmp dword [0x10088de4], eax
setge cl
setl al
mov edi, edx
not edi
and edi, 1
add edi, edx
mov ebx, edx
or ebx, 0xfffffffe
add ebx, edi
add ebx, 2
imul ebx, edx
test bl, 1
sete dl
and bl, al
and cl, dl
or cl, bl
mov ah, al
or ah, dl
add cl, ah
not ah
add ah, cl
and al, dl
not al
add al, ah
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007e424]
mov ecx, dword [str.m5_bD]
mov edi, ecx
not edi
mov ebx, edx
and ebx, edi
xor ecx, edx
not ecx
add ecx, ebx
or edi, edx
sub ecx, edi
add ecx, 0x12a989ca
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x2da0c09
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x100059bd
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d2f0]
mov edx, dword [0x1007d2f4]
mov edi, ecx
and edi, edx
add edi, edi
mov ebx, ecx
xor ebx, edx
sub edx, edi
not ebx
add ebx, edx
add ecx, ebx
add ecx, 0x777eec85
cmp eax, ecx
mov ecx, 0xbc181225
mov eax, 0xfdc70b3
cmovl ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [0x1007d2f8]
mov edi, dword [0x1007d2fc]
mov edx, ecx
or edx, edi
mov ebx, edx
not ebx
shl ebx, 2
lea edx, [ebx + edx*2]
mov ebx, ecx
xor ebx, edi
not ebx
add ebx, ebx
sub edx, ebx
and ecx, edi
mov edi, dword [0x10088de0]
not ecx
add ecx, ecx
sub edx, ecx
add edx, 0xa
cmp dword [0x10088ddc], edx
setl cl
mov edx, edi
not edx
add edx, edi
add edx, edi
add edx, 0x59035202
imul edx, edi
mov edi, dword [0x1007d300]
mov ebx, edi
not ebx
mov eax, dword [0x1007d304]
mov dword [esi], ebx
and dword [esi], eax
xor edi, eax
not edi
add edi, dword [esi]
or ebx, eax
sub edi, ebx
and edx, 1
cmp edx, edi
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 4]
mov dword [eax], edx
sete al
setne dl
and dl, cl
add dl, cl
mov ah, cl
or ah, al
not ah
add ah, dl
and cl, al
not cl
add cl, ah
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e304]
mov edi, dword [0x1007e308]
mov edx, ecx
not edx
mov ebx, edx
and ebx, edi
or ecx, edi
not ecx
add ecx, ebx
sub ecx, edx
add ecx, 0x777eec84
cmp eax, ecx
mov eax, 0xbc181225
mov ecx, 0xfdc70b3
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10005a88
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi], ax
movzx ebx, word [0x1007d154]
movzx eax, word [0x1007d156]
mov edx, eax
mov edi, eax
mov dword [esi + 8], eax
not edx
mov dword [esi + 4], edx
mov eax, ebx
xor eax, edx
mov ecx, ebx
or ecx, edx
sub eax, ecx
not ecx
add ecx, ecx
sub eax, ecx
mov ecx, ebx
or ecx, edi
add ecx, eax
mov edi, ebx
not edi
add ecx, edi
mov edx, ecx
and edx, ebx
mov eax, ecx
and eax, edi
sub edx, eax
mov eax, ecx
xor eax, ebx
add edx, eax
not eax
add eax, edx
not ecx
or ecx, ebx
sub eax, ecx
lea ecx, [eax - 1]
and ecx, 0xffffdc16
sub ecx, eax
neg eax
or eax, 0x23e9
lea edx, [ecx + eax]
mov dword [esi + 0x10], edx
add eax, ecx
add eax, 1
mov dword [esi + 0x14], eax
lea eax, [edi + edi]
add edi, eax
sub edi, eax
mov eax, edi
or eax, 0x2452
lea edx, [edi + edi]
sub edx, eax
not edi
lea eax, [edi + edx]
add eax, 0x2453
and ebx, 0xffffdbad
or ebx, eax
mov eax, ebx
xor eax, 0xffffdbad
not ebx
mov edi, ebx
and edi, 0x2452
add edi, eax
or ebx, 0xffffdbad
sub edi, ebx
add edi, 0xffffdbad
mov edx, edi
not edx
mov eax, edx
mov ebx, dword [esi + 8]
and eax, ebx
mov ecx, dword [esi + 4]
or edx, ecx
sub edx, eax
or edi, ecx
sub edx, edi
lea eax, [edx + edx]
sub eax, edx
sub eax, edx
sub eax, edx
mov ecx, dword [esi + 0x14]
xor ecx, 0x2484
mov edx, dword [esi + 0x10]
lea ecx, [ecx + edx*2]
add ecx, 2
add edx, edx
add edx, 2
or edx, 0x4908
sub ecx, edx
lea edx, [eax + eax]
sub eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x2484
lea edx, [eax + eax]
sub edx, ecx
mov ecx, eax
or eax, 0xffffdb7b
sub edx, eax
not ecx
or ecx, 0xffffdb7b
lea eax, [edx + ecx]
add eax, 0xffff8623
mov ecx, eax
not ecx
mov edx, ecx
and edx, ebx
add edx, edx
mov edi, eax
sub edi, edx
add edi, ebx
mov edx, eax
xor edx, ebx
lea edx, [edi + edx*2]
lea ecx, [edx + ecx*2]
and eax, ebx
not eax
add eax, eax
sub ecx, eax
mov eax, ecx
or eax, 0xffff9e61
add eax, ecx
not ecx
or ecx, 0xffff9e61
lea edx, [eax + ecx]
add eax, ecx
add eax, 1
not eax
lea eax, [eax + edx*2]
add eax, 2
imul eax, eax, 0x6555
add eax, 0xffffbffc
not eax
imul eax, eax, 0xffff9003
lea ecx, [eax + 0x1586]
mov edx, ecx
and edx, 0x677a
add edx, edx
neg edx
add edx, eax
add edx, 0x1586
xor ecx, 0x1885
add ecx, edx
lea edx, [eax + ecx]
add edx, 0x1586
add ecx, eax
add ecx, 0x1587
mov eax, ecx
or eax, 0x7a7d
lea edx, [edx + eax*2]
add edx, 1
not eax
lea eax, [edx + eax*4]
mov edx, ecx
not edx
xor ecx, 0x582
add ecx, ecx
sub eax, ecx
add edx, edx
or edx, 0xb04
sub eax, edx
lea ecx, [eax + 0x7a7d]
mov edx, ecx
xor edx, 0xffffe77a
add eax, edx
add eax, 0x7a7d
mov edx, ecx
not edx
and edx, 0x1885
add edx, eax
and ecx, 0xffffe77a
lea eax, [ecx + edx]
add eax, 0xffffe77b
cmp word [esi], ax
mov eax, 0xf03baa77
mov ecx, 0xb3c4abd9
cmovl eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [0x1007e140]
mov ecx, dword [0x1007e144]
mov edx, ecx
not edx
and edx, eax
sub edx, eax
mov edi, eax
or edi, ecx
add edx, edi
not edi
add edi, edx
and eax, ecx
add eax, edi
add eax, 0x62721318
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007e148]
mov ecx, dword [0x1007e14c]
mov edx, eax
and edx, ecx
not ecx
and ecx, eax
add ecx, ecx
lea ecx, [ecx + edx*2]
add eax, eax
sub eax, ecx
mov edx, dword [0x10088dd8]
add eax, 0xa
cmp dword [0x10088dd4], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
mov ah, al
and ah, dl
or dl, al
add dl, ah
add dl, cl
or al, cl
add al, dl
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi], ax
movzx eax, word [0x1007d154]
movzx ecx, word [0x1007d156]
mov dword [esi + 4], ecx
not ecx
mov ebx, ecx
mov dword [esi + 0x10], ecx
mov ecx, eax
not ecx
mov edi, ecx
and edi, 0x2452
add edi, ecx
and ecx, ebx
add ecx, ecx
lea ecx, [ecx + eax*2]
mov edx, eax
xor edx, ebx
sub edx, ecx
mov ecx, eax
or ecx, ebx
lea ecx, [edx + ecx*2]
mov edx, ecx
and edx, eax
not ecx
and ecx, eax
lea ecx, [ecx + edx*2]
mov edx, eax
sub edx, ecx
mov ecx, edx
xor ecx, 0xffffdc16
mov ebx, edx
or ebx, 0x23e9
add ebx, ecx
and edx, 0xffffdc16
lea ecx, [ebx + edx]
add edx, ebx
add edx, 0xffffdc17
not edx
lea ebx, [edx + ecx*2 - 0x47d2]
mov dword [esi + 8], ebx
lea ecx, [edx + ecx*2]
add ecx, 0xffffdc19
mov dword [esi + 0x14], ecx
mov ebx, eax
and ebx, 0x5bad
lea ecx, [edi + ebx*2]
mov edi, eax
xor edi, 0xffffdbad
lea edx, [edi + ecx]
add edx, 0x2454
add ebx, ebx
or eax, 0x2452
sub ebx, eax
add ebx, 0x2452
mov eax, ebx
not eax
and eax, edx
add eax, eax
mov edi, edx
or edi, ebx
mov ecx, edx
not ecx
or ecx, ebx
and ebx, edx
sub edx, eax
add edi, edx
sub edi, ecx
not ebx
add ebx, edi
mov eax, ebx
xor eax, 0x5bad
add eax, eax
mov ecx, ebx
or ecx, 0xffffdbad
sub eax, ecx
or ebx, 0x2452
lea ecx, [eax + ebx]
add eax, ebx
add eax, 0xffffdbae
not eax
lea ebx, [ecx + eax*2]
add ebx, 0xffffdbaf
or ebx, dword [esi + 0x10]
mov eax, ebx
not eax
add ebx, eax
add ebx, eax
mov edi, dword [esi + 0x14]
mov eax, edi
and eax, 0xffffdb7b
mov ecx, dword [esi + 8]
add eax, ecx
add eax, 0x23eb
not edi
mov ecx, edi
and ecx, 0x2484
sub eax, ecx
mov ecx, edi
and ecx, 0xffffdb7b
add ecx, eax
or edi, 0xffffdb7b
lea edx, [ecx + edi]
lea eax, [edi + ecx]
add eax, 0x2486
mov ecx, eax
and ecx, ebx
add edx, ecx
add edx, 0x2486
mov edi, ebx
not edi
mov ecx, eax
not ecx
and ecx, edi
add ecx, edx
sub ecx, ebx
xor eax, edi
not eax
add eax, ecx
mov ecx, eax
xor ecx, 0x2484
add ecx, ecx
lea ecx, [ecx + eax*2]
lea edx, [eax + eax]
or edx, 0x4908
sub ecx, edx
xor eax, 0xffffdb7b
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x4909
not eax
mov ecx, eax
and ecx, 0x619e
add ecx, edx
add ecx, 0x4909
or eax, 0xffff9e61
sub ecx, eax
mov edi, dword [esi + 4]
lea eax, [edi + edi]
lea edx, [eax + ecx*2]
mov eax, ecx
xor eax, edi
add eax, edx
or ecx, edi
add ecx, ecx
sub eax, ecx
mov ecx, eax
and ecx, 0x1e61
lea ecx, [eax + ecx*2]
not eax
lea ecx, [ecx + eax*2]
add eax, eax
or eax, 0x3cc2
sub ecx, eax
lea eax, [ecx - 0x619f]
mov edx, eax
and edx, 0xa
add ecx, edx
add ecx, 0xffff9e61
mov edx, eax
or edx, 0xfffffff5
add edx, ecx
mov ecx, eax
xor ecx, 0xa
add ecx, edx
not eax
add eax, ecx
imul eax, eax, 0x6555
mov ecx, 0xffffdaaf
sub ecx, eax
mov edx, ecx
xor edx, 0xfffffc81
sub ecx, edx
lea edx, [eax + 0x2550]
and edx, 0x37e
add edx, edx
sub ecx, edx
add eax, ecx
add eax, 0x2550
neg eax
imul eax, eax, 0x6ffd
add eax, 0x300
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xffffe77a
sub eax, edx
or ecx, 0x1885
add eax, ecx
add eax, 0xffffcef5
cmp word [esi], ax
mov eax, 0xf03baa77
mov ecx, 0xb3c4abd9
cmovl eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [0x1007e614]
mov ecx, dword [0x1007e618]
mov edx, eax
not edx
and edx, ecx
not ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0x62721318
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10005b9d
mov eax, dword [esi + 0x68]
mov eax, dword [eax]
cmp eax, 1
mov eax, 0xc90b56b
mov ecx, 0xde58570c
cmove eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov ecx, dword [0x1007dfd0]
mov edx, dword [0x1007dfd4]
mov eax, ecx
or eax, edx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0xa
cmp dword [0x10088dd0], eax
mov eax, dword [0x10088dcc]
setl cl
mov edx, eax
not edx
imul edx, eax
test dl, 1
sete al
or al, cl
mov dword [edi], 0x62721317
jne 0x10016e20
mov eax, dword [esi + 0x68]
mov eax, dword [eax]
cmp eax, 1
mov eax, 0xc90b56b
mov ecx, 0xde58570c
cmove eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [0x1007e5bc]
mov ecx, dword [0x1007e5c0]
mov edx, eax
not edx
mov edi, edx
and edi, ecx
add edi, edi
mov ebx, eax
xor ebx, ecx
add ebx, ebx
sub ebx, edi
mov edi, dword [esi + 0xc]
lea edx, [ebx + edx*2]
and eax, ecx
not eax
add eax, eax
sub edx, eax
add edx, 0x62721317
mov dword [edi], edx
jmp 0x100060c8
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi + 8], ax
movzx edx, word [0x1007d0cc]
mov dword [esi], edx
mov eax, edx
mov ecx, edx
or ecx, 0x2ce1
sub eax, ecx
not ecx
add ecx, ecx
sub eax, ecx
not edx
mov edi, edx
or edi, 0x2ce1
lea ecx, [eax + edi]
add eax, edi
add eax, 0xffffffff
mov edi, eax
and edi, 0x2ce1
mov ebx, eax
xor ebx, 0x2ce1
add ebx, edi
xor eax, 0xffffd31e
add eax, ebx
neg ecx
or ecx, 0x2ce1
sub eax, ecx
movzx edi, word [0x1007d0ce]
lea ecx, [eax + edi]
add ecx, 0xffffd31e
add eax, edi
mov dword [esi + 4], edi
add eax, eax
add eax, 0xffffa63c
sub eax, ecx
mov ecx, edi
not ecx
mov edi, dword [esi]
mov ebx, edi
and ebx, ecx
add ebx, edi
mov edi, edx
and edx, ecx
add edx, ebx
or ecx, dword [esi]
sub edx, ecx
and edi, dword [esi + 4]
or edx, edi
add eax, 1
mov ecx, eax
and ecx, 0x4376
not eax
or eax, 0x4376
sub ecx, eax
lea ebx, [ecx - 0x4377]
mov eax, ebx
and eax, edx
lea edi, [ecx + eax*2]
add edi, 0xffffbc89
mov eax, 0x4376
sub eax, ecx
mov ecx, eax
and ecx, edx
add ecx, edi
add ecx, edx
mov edi, ebx
or edi, edx
not edi
lea ecx, [ecx + edi*2]
xor ebx, edx
add ebx, ecx
or eax, edx
sub ebx, eax
lea eax, [ebx + 1]
mov dword [esi + 0x10], eax
mov ecx, eax
and ecx, 0x4376
add ecx, ebx
add ecx, 1
mov ebx, eax
not ebx
and ebx, 0xffffbc89
add ebx, ecx
mov edi, dword [esi]
mov edx, edi
mov eax, dword [esi + 4]
and edx, eax
add edx, edi
mov ecx, edi
xor ecx, eax
or edi, eax
add edx, eax
add edx, ecx
add edi, edi
sub edx, edi
mov edi, edx
xor edi, ecx
mov eax, edx
sub eax, edi
mov edi, edx
or edi, ecx
add edi, eax
mov eax, ecx
not eax
or eax, edx
sub edi, eax
and edx, ecx
not edx
add edx, edi
mov eax, dword [esi + 0x10]
xor eax, 0x4376
add edx, edx
lea ecx, [eax + ebx]
add ecx, 0xfffff532
mov eax, edx
neg eax
mov ebx, ecx
not ebx
mov dword [esi], ebx
and ebx, eax
add ebx, ebx
mov edi, ecx
xor edi, eax
and eax, ecx
sub ecx, ebx
sub ecx, edx
lea ecx, [ecx + edi*2]
mov edx, dword [esi]
lea ecx, [ecx + edx*2]
not eax
add eax, eax
sub ecx, eax
mov eax, ecx
or eax, 0xffffb1bb
add eax, ecx
not ecx
or ecx, 0xffffb1bb
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xffff9c8b
add edx, edx
add edx, 0xffff3916
sub edx, eax
lea ecx, [edx + 0x6332]
mov eax, ecx
and eax, 3
mov edi, ecx
and edi, 0xfffffffc
mov ebx, eax
sub ebx, edi
add edx, ebx
add edx, 0x6332
not ecx
or ecx, 3
sub edx, ecx
not eax
lea ecx, [edx + eax]
add eax, edx
add eax, 3
mov edx, eax
xor edx, 0x6332
add ecx, edx
add ecx, 3
mov edx, eax
not edx
and edx, 0xffff9ccd
add edx, ecx
and eax, 0x6332
add eax, edx
imul ecx, eax, 0xffffc58f
lea eax, [ecx - 0x1d5f]
mov edx, eax
and edx, 0xffffea5d
add ecx, edx
add ecx, 0xffffe2a1
mov edx, eax
xor edx, 0xffffea5d
add edx, ecx
or eax, 0xffffea5d
sub edx, eax
imul eax, edx, 0xffffb96f
lea ecx, [eax - 0x733e]
mov edx, ecx
and edx, 0x4f3e
add edx, edx
neg edx
add edx, eax
add edx, 0xffff8cc2
xor ecx, 0xffffb0c1
add ecx, edx
lea edx, [eax + ecx]
add edx, 0xffff8cc2
add ecx, eax
add ecx, 0xffff2b3f
mov eax, ecx
or eax, 0x733e
lea edx, [edx + eax*2]
add edx, 0xffff9e7d
not eax
lea eax, [edx + eax*4]
mov edx, ecx
not edx
xor ecx, 0xcc1
add ecx, ecx
sub eax, ecx
add edx, edx
or edx, 0x1982
sub eax, edx
lea ecx, [eax + 0x733e]
mov edx, ecx
xor edx, 0x4f3e
add eax, edx
add eax, 0x733e
mov edx, ecx
not edx
and edx, 0xffffb0c1
add edx, eax
and ecx, 0x4f3e
lea eax, [ecx + edx]
add eax, 0xffffb0c3
cmp word [esi + 8], ax
mov eax, 0x4ccb1a40
mov ecx, 0xdb06aefc
cmovl eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [0x1007ddf0]
mov ecx, dword [0x1007ddf4]
mov edx, ecx
not edx
and edx, eax
sub edx, eax
mov edi, eax
or edi, ecx
add edx, edi
not edi
add edi, edx
and eax, ecx
add eax, edi
add eax, 0x62721318
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007ddf8]
mov ecx, dword [0x1007ddfc]
mov edx, eax
and edx, ecx
not ecx
and ecx, eax
add ecx, ecx
lea ecx, [ecx + edx*2]
add eax, eax
sub eax, ecx
mov edx, dword [0x10088dc8]
add eax, 0xa
cmp dword [0x10088dc4], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
mov ah, al
and ah, dl
or dl, al
add dl, ah
add dl, cl
or al, cl
add al, dl
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi + 0x10], ax
movzx eax, word [0x1007d0cc]
mov dword [esi], eax
mov ecx, eax
and ecx, 0xd31e
add ecx, eax
mov edx, eax
not edx
mov dword [esi + 0x1c], edx
add ecx, edx
mov edx, eax
and edx, 0x2ce1
lea edi, [ecx + edx]
add ecx, edx
add ecx, 0x2ce2
mov edx, ecx
and edx, 0xffffd31e
add edi, edx
add edi, 0x2ce2
not ecx
or ecx, 0x2ce1
lea eax, [edi + ecx]
mov dword [esi + 0x14], eax
lea eax, [ecx + edi]
add eax, 0xffffd31f
not eax
movzx ecx, word [0x1007d0ce]
mov dword [esi + 8], ecx
not ecx
mov dword [esi + 4], ecx
lea ebx, [ecx + ecx]
sub ebx, ecx
lea ecx, [ebx + 1]
mov edx, ecx
not edx
mov edi, eax
and edi, edx
lea edi, [edi + eax*2]
add edi, ebx
add edi, 1
or ecx, eax
sub edi, ecx
sub edi, edx
mov ecx, dword [esi + 0x14]
lea eax, [edi + ecx]
add eax, 0xffffd31f
mov dword [esi + 0x28], eax
lea eax, [edi + ecx - 0x2ce2]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x1c]
mov edx, eax
mov ecx, dword [esi + 8]
and edx, ecx
mov dword [esi + 0x14], edx
mov edi, dword [esi]
and edi, ecx
lea ebx, [edx + eax]
add ebx, edi
or eax, ecx
sub ebx, eax
mov edx, dword [esi]
and edx, dword [esi + 4]
mov ecx, edx
not ecx
and ecx, ebx
mov eax, ebx
or eax, edx
sub eax, ecx
not ebx
or ebx, edx
sub eax, ebx
mov edx, dword [esi + 0x28]
mov ebx, edx
neg ebx
mov ecx, ebx
and ecx, 0x4376
sub ecx, edx
mov edx, dword [esi + 0x24]
and edx, 0xffffbc89
add edx, ecx
xor ebx, 0x4376
add ebx, edx
lea ecx, [eax + ebx]
add eax, ebx
add eax, 0xffffbc8a
xor eax, 0x4376
lea eax, [eax + ecx*2]
add eax, 0xffff7914
add ecx, ecx
add ecx, 0xffff7914
or ecx, 0xffff86ec
sub eax, ecx
mov ebx, dword [esi]
mov edx, dword [esi + 8]
xor edx, ebx
lea ecx, [edi + ebx]
sub ecx, edx
mov edx, dword [esi + 4]
or edx, ebx
sub ecx, edx
sub ebx, edi
not edi
add edi, ecx
add ebx, dword [esi + 0x14]
or ebx, edi
lea edx, [eax - 0x7914]
mov ecx, edx
or ecx, 0xffffb1bb
add eax, ecx
add eax, 0xffff86ec
add ebx, ebx
not edx
or edx, 0xffffb1bb
add edx, eax
sub edx, ebx
lea eax, [edx + 1]
lea ecx, [edx + edx]
add ecx, 2
sub ecx, eax
lea eax, [ecx + 0x4e45]
mov edx, eax
xor edx, 0x6332
add ecx, edx
add ecx, 0x4e45
mov edx, eax
not edx
and edx, 0xffff9ccd
add edx, ecx
and eax, 0x6332
lea ecx, [edx + eax]
add eax, edx
add eax, 0x6336
mov edx, eax
and edx, 0xffff9ccd
add ecx, edx
add ecx, 0x6336
mov edx, eax
xor edx, 0xffff9ccd
add edx, ecx
or eax, 0xffff9ccd
sub edx, eax
imul eax, edx, 0xffffc58f
lea ecx, [eax + 0x1d12]
mov edx, ecx
and edx, 0x15a2
add edx, edx
neg edx
add edx, eax
add edx, 0x1d12
xor ecx, 0xffffea5d
add ecx, edx
add eax, ecx
add eax, 0x1d12
imul ecx, eax, 0xffffb96f
lea eax, [ecx - 0x4691]
mov edx, eax
xor edx, 0x4f3e
add ecx, edx
add ecx, 0xffffb96f
mov edx, eax
not edx
and edx, 0xffffb0c1
add edx, ecx
and eax, 0x4f3e
lea edi, [edx + eax]
add eax, edx
add eax, 0x4f3f
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x733e
add edx, edi
add edx, 0x4f3f
xor eax, 0xffff8cc1
add eax, edx
or ecx, 0x733e
sub eax, ecx
add eax, 0x733e
mov ecx, eax
and ecx, 0xffffb0c1
mov edx, eax
or edx, 0x4f3e
add ecx, edx
not edx
add edx, ecx
and eax, 0x4f3e
add eax, edx
add eax, 0xffffb0c3
cmp word [esi + 0x10], ax
mov eax, 0x4ccb1a40
mov ecx, 0xdb06aefc
cmovl eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jmp 0x1000617a
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007dbd8]
mov edx, dword [0x1007dbdc]
mov edi, ecx
xor edi, edx
mov ebx, ecx
not ebx
or ebx, edx
and ecx, edx
not edx
add edx, edi
add ebx, edx
add ecx, ebx
add ecx, 0xb20b83e3
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x94d70c99
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov edx, dword [0x10088dc0]
mov eax, dword [0x1007dbe0]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10088dbc], eax
setl al
mov edi, edx
and edi, 0xfffffffe
add edi, edx
mov ecx, edx
or ecx, 0xfffffffe
add ecx, edi
sub ecx, edx
add ecx, 3
imul ecx, edx
test cl, 1
sete dl
mov ah, al
or ah, dl
add ah, al
xor al, dl
not al
add al, ah
add al, cl
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e4cc]
mov edx, dword [0x1007e4d0]
mov ebx, edx
not ebx
and ebx, ecx
add ebx, ebx
mov edi, ecx
sub edi, ebx
mov ebx, ecx
not ebx
or ebx, edx
sub edi, ebx
and ecx, edx
not ecx
add ecx, edi
add ecx, 0xb20b83e1
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x94d70c99
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000673a
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi + 4], ax
movzx edi, word [0x1007d15a]
mov dword [esi + 0x10], edi
mov edx, edi
not edx
mov ecx, edx
and ecx, 0x17fb
mov eax, edi
or eax, 0x17fb
add eax, edi
add eax, edx
add eax, 0xffffe806
or eax, ecx
mov ecx, eax
not ecx
mov edi, eax
xor edi, 0xffffe804
add eax, edi
and ecx, 0x17fb
lea eax, [eax + ecx*2]
lea ebx, [edi + eax]
add ebx, 0xffffe806
mov edi, ebx
not edi
movzx eax, word [0x1007d158]
mov ecx, eax
xor ecx, edi
add ecx, ecx
or edi, eax
sub ecx, edi
sub ecx, ebx
or ebx, eax
add ebx, ecx
and ebx, eax
mov dword [esi + 8], ebx
mov edi, eax
not edi
mov dword [esi + 0x1c], edi
lea ecx, [edi + edi]
add ecx, eax
add ecx, 1
mov dword [esi + 0x14], ecx
mov ecx, edi
and ecx, 0x22e
sub eax, ecx
and edi, 0xfffffdd1
add edi, eax
mov dword [esi + 0x24], edi
mov ebx, dword [esi + 0x10]
lea eax, [ebx + edx*2]
add eax, 1
mov ecx, eax
not ecx
or ecx, eax
and ecx, 0xfffff221
or eax, 0xdde
add eax, ecx
add eax, 1
lea ecx, [edx + edx*2]
add ecx, ebx
add ecx, ebx
add ecx, 2
mov dword [esi], ecx
mov edi, edx
mov dword [esi + 0x28], edx
or edx, ebx
and edx, 0xdde
mov dword [esi + 0x2c], ebx
or ebx, 0xfffff221
add ebx, edx
add ebx, 1
mov edx, eax
xor edx, ebx
mov ecx, ebx
sub ecx, edx
or eax, ebx
add eax, ecx
add eax, edx
sub eax, ebx
xor eax, 0xfffff221
mov edx, dword [esi + 0x1c]
and eax, edx
mov dword [esi + 0x10], eax
or edx, 0xfffffdd1
mov eax, dword [esi + 0x24]
lea ecx, [edx + eax]
add ecx, 0x45e
mov eax, dword [esi + 0x14]
and eax, 0xfffffdd1
mov ebx, eax
xor ebx, eax
not ebx
and ebx, ecx
xor ebx, eax
mov edx, eax
xor edx, ecx
sub ebx, edx
or eax, ecx
add eax, ebx
mov ebx, dword [esi]
mov edx, ebx
and edx, 0xfffffdd1
xor ebx, 0xfffffdd1
add ebx, edx
mov ecx, dword [esi]
or ecx, 0x22e
add ecx, ebx
mov ebx, dword [esi]
not ebx
add ebx, ecx
lea ecx, [ebx + edx]
add edx, ebx
add edx, 2
mov ebx, dword [esi + 0x2c]
and ebx, 0x22e
and edi, 0xfffffdd1
or edi, ebx
mov ebx, dword [esi + 0x28]
or ebx, 0x22e
sub edi, ebx
add ecx, edi
add ecx, 0x230
add edi, 0x22e
mov ebx, edx
xor ebx, edi
add ebx, ecx
or edi, edx
sub ebx, edi
mov ecx, eax
and ecx, ebx
mov edx, eax
xor edx, ebx
lea ecx, [edx + ecx*2]
not eax
lea ecx, [ecx + eax*2]
or eax, ebx
add eax, eax
sub ecx, eax
lea edx, [ecx + ecx]
sub ecx, edx
mov edi, dword [esi + 8]
lea edx, [edi + ecx]
add ecx, edi
add ecx, 0xffffffff
mov eax, dword [esi + 0x10]
mov edi, eax
not edi
lea edi, [eax + edi*2]
mov eax, 0xfffffffe
sub eax, edi
mov ebx, eax
not ebx
neg edi
add edi, ebx
add edi, 0xfffffffe
add edi, ebx
mov ebx, ecx
xor ebx, 0xffffe5a1
add edx, ebx
add edx, 0xffffffff
xor ecx, 0x1a5e
add ecx, edx
add edi, eax
sub eax, edi
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x1a5f
mov ecx, eax
not ecx
and ecx, 0xffffe5a1
add ecx, edx
add ecx, 0x1a5f
and eax, 0xffffe5a1
add eax, ecx
mov ecx, eax
and ecx, 0x62dd
add ecx, eax
mov edx, eax
not edx
and edx, 0xffff9d22
sub ecx, edx
sub ecx, eax
mov edx, ecx
not edx
mov edi, edx
and edi, 0xb
add edi, ecx
mov eax, edx
and eax, 0xfffffff4
add eax, edi
sub eax, edx
add eax, 0xb
mov ecx, eax
and ecx, 0x62dd
not eax
and eax, 0xffff9d22
sub ecx, eax
imul eax, ecx, 0x4e7
lea ecx, [eax - 0x2f68]
not ecx
lea eax, [ecx + eax*2]
add eax, 0xffffa130
imul eax, eax, 0xffffced7
add eax, 0x1001
mov ecx, eax
and ecx, 0xffffd750
mov edx, eax
xor edx, 0xffffd750
add edx, ecx
mov ecx, eax
xor ecx, 0x28af
add ecx, edx
not eax
or eax, 0xffffd750
sub ecx, eax
lea eax, [ecx + 0x28b0]
mov edx, eax
not edx
and edx, 0x7972
add ecx, edx
add ecx, 0x28b0
and eax, 0x7972
add eax, ecx
mov ecx, eax
and ecx, 0x28af
add ecx, eax
not eax
or eax, 0xffffd750
add eax, ecx
add eax, 0xffffd751
cmp word [esi + 4], ax
mov eax, 0x3caaf6a8
mov ecx, 0x51f98730
cmove eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [0x1007e170]
mov edx, dword [0x1007e174]
mov edi, eax
xor edi, edx
add edi, edx
mov ecx, eax
and eax, edx
not edx
lea edx, [edi + edx*2]
not ecx
add ecx, edx
not eax
add eax, eax
sub ecx, eax
mov eax, dword [0x10088db8]
add ecx, 0xb
cmp dword [0x10088db4], ecx
setl cl
mov edx, eax
not edx
add edx, 2
imul edx, eax
test dl, 1
sete al
or al, cl
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jne 0x10016e20
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi + 0x10], ax
movzx edi, word [0x1007d15a]
mov dword [esi + 8], edi
mov eax, edi
not eax
mov dword [esi + 4], eax
add eax, eax
lea edx, [edi + eax]
add edx, 1
and edx, 0x17fb
and edi, 0xe804
lea eax, [edx + edi]
add eax, eax
sub eax, edi
sub eax, edi
add eax, edi
sub eax, edx
mov edx, eax
xor edx, 0x6804
add edx, edx
xor eax, 0x17fb
mov edi, eax
sub edi, edx
add eax, eax
sub edi, eax
add edi, 0xfffffffe
movzx ecx, word [0x1007d158]
xor edi, ecx
mov edx, edi
and edx, ecx
mov ebx, edi
xor ebx, ecx
add ebx, edx
mov eax, ecx
not eax
mov dword [esi], eax
mov eax, edi
or eax, dword [esi]
add eax, ebx
not edi
add edi, eax
lea eax, [edi + edx]
add edx, edi
add edx, 2
mov edi, edx
and edi, 0xffff9c7c
lea ebx, [edi + eax*2]
add ebx, 4
mov eax, edx
or edx, 0x6383
sub ebx, edx
not eax
add ebx, eax
mov eax, ecx
and eax, 0xfffffdd1
mov edi, dword [esi]
mov edx, edi
sub edx, eax
add edx, ecx
add edx, 0xfffffdd2
mov eax, edi
or ecx, edi
and ecx, 0x22e
mov edi, eax
and edi, 0xfffffdd1
or edi, ecx
sub edi, eax
mov eax, edx
not eax
or eax, edx
not eax
and eax, edi
or edi, edx
add edi, eax
mov ecx, dword [esi + 4]
and ecx, 0xfffffdd1
mov eax, dword [esi + 8]
and eax, 0x22e
or eax, ecx
mov edx, edi
xor edx, eax
mov ecx, edi
or ecx, eax
sub edx, ecx
not ecx
add ecx, ecx
sub edx, ecx
not eax
or eax, edi
add eax, edx
not edi
add edi, eax
not edi
add ebx, edi
add ebx, 0x6384
mov eax, dword [esi + 4]
and eax, 0xfffff221
mov edi, dword [esi + 8]
and edi, 0xdde
or edi, eax
mov ecx, edi
and ecx, 0xdde
mov eax, edi
not eax
mov edx, eax
and edx, 0xdde
lea ecx, [edx + ecx*2]
xor edi, 0xdde
add ecx, edi
mov edx, eax
and edx, 0x7221
lea ecx, [ecx + edx*2]
add ecx, edi
or eax, 0xdde
sub ecx, eax
lea eax, [ecx + 1]
not eax
lea eax, [ecx + eax*2]
add eax, 2
and eax, dword [esi]
mov ecx, eax
not ecx
add ecx, eax
sub eax, ecx
mov ecx, ebx
not ecx
mov edx, ecx
and edx, 0x65a1
add edx, edx
mov edi, ebx
sub edi, edx
xor ebx, 0x65a1
lea edx, [edi + ebx*2]
lea edx, [edx + ecx*2]
add ecx, ecx
or ecx, 0x34bc
sub edx, ecx
lea ecx, [edx + 0x1a5f]
mov edi, ecx
or edi, eax
add edx, edi
add edx, 0x1a5f
not ecx
or ecx, eax
add ecx, edx
add ecx, 0xffffe5a2
mov eax, ecx
and eax, 0xffff9d22
mov edi, ecx
and edi, 0x62dd
mov edx, eax
sub edx, edi
add edx, ecx
not ecx
or ecx, 0xffff9d22
sub edx, ecx
not eax
lea ecx, [edx + eax]
add eax, edx
add eax, 0x62de
mov edx, eax
xor edx, 0xb
add ecx, edx
add ecx, 0x62de
mov edx, eax
not edx
and edx, 0xfffffff4
add edx, ecx
and eax, 0xb
add eax, edx
imul eax, eax, 0x4e7
lea ecx, [eax + 0x179c]
mov edx, ecx
and edx, 0x2222
add edx, edx
neg edx
add edx, eax
add edx, 0x179c
xor ecx, 0x5ddd
add ecx, edx
lea edx, [eax + ecx]
add edx, 0x179c
add eax, ecx
add eax, 0x5be1
mov ecx, eax
or ecx, 0xffff8b1a
lea edx, [edx + ecx*2]
add edx, 0x4445
not ecx
lea ecx, [edx + ecx*4]
mov edx, eax
not edx
xor eax, 0x74e5
add eax, eax
sub ecx, eax
add edx, edx
or edx, 0xffffe9ca
sub ecx, edx
imul edx, ecx, 0xffffced7
lea eax, [edx + 0x412a]
mov ecx, eax
not ecx
mov edi, ecx
and edi, 0xffffd750
add edx, edi
add edx, 0x412a
xor eax, 0x28af
add eax, edx
or ecx, 0xffffd750
sub eax, ecx
add eax, 0x28b0
mov edx, eax
and edx, 0xffff868d
mov ecx, eax
or ecx, 0x7972
add edx, ecx
not ecx
add ecx, edx
and eax, 0x7972
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x7973
lea ecx, [edx + edx]
add ecx, 0xf2e6
lea eax, [eax + eax*2]
sub eax, ecx
add eax, 0xffffd750
cmp word [esi + 0x10], ax
mov eax, 0x3caaf6a8
mov ecx, 0x51f98730
cmove eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jmp 0x10006812
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007d638]
mov edi, dword [0x1007d63c]
mov ecx, edx
xor ecx, edx
not ecx
and ecx, edi
xor ecx, edx
xor edx, edi
sub ecx, edx
add ecx, 0x46d0dfd5
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x485546a4
cmove eax, ecx
mov edi, dword [0x10088db0]
cmp dword [0x10088dac], 0xa
setl byte [esi]
lea edx, [edi + 1]
imul edx, edi
mov edi, dword [0x1007d648]
mov ebx, dword [0x1007d64c]
mov ecx, edi
or ecx, ebx
not edi
or edi, ebx
not ebx
add ebx, ecx
lea ecx, [edi + ebx]
add ecx, 2
and edx, 1
cmp edx, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
sete al
or al, byte [esi]
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi], eax
mov ecx, dword [0x1007e3ac]
mov edx, dword [0x1007e3b0]
mov ebx, ecx
and ebx, edx
mov eax, ecx
not eax
mov edi, eax
and edi, edx
lea edi, [edi + ebx*2]
mov ebx, ecx
or ebx, edx
not ebx
lea edi, [edi + ebx*2]
xor ecx, edx
add ecx, edi
or eax, edx
sub ecx, eax
add ecx, 0x46d0dfd6
cmp dword [esi], ecx
mov eax, 0xebf6e1b8
mov ecx, 0x485546a4
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10006e2c
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x87acc5a0
mov eax, 0xebf6e1b8
mov ecx, 0x67ae8e2c
cmove eax, ecx
mov dword [ebx], eax
mov eax, dword [0x1007dc80]
mov ecx, dword [0x1007dc84]
mov edi, eax
or edi, ecx
sub edi, ecx
sub edi, ecx
add edi, ecx
not eax
or eax, ecx
add eax, edi
add eax, 0xb
mov ecx, dword [0x10088da8]
cmp dword [0x10088da4], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x87acc5a0
mov eax, 0xebf6e1b8
mov ecx, 0x67ae8e2c
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10006efb
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d598]
and ecx, dword [0x1007d59c]
mov edx, ecx
not edx
add edx, edx
lea ecx, [edx + ecx*2]
mov edx, 0x4905ec19
sub edx, ecx
cmp eax, edx
mov eax, 0xebf6e1b8
mov ecx, 0x31748d9c
cmove eax, ecx
mov dword [ebx], eax
mov eax, dword [0x10088da0]
cmp dword [0x10088d9c], 0xa
setl cl
mov edx, eax
not edx
add edx, eax
add edx, eax
add edx, 2
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007e38c]
mov edi, dword [0x1007e390]
mov ecx, edx
not ecx
and ecx, edi
add ecx, edx
or edx, edi
sub ecx, edx
add ecx, 0x4905ec1b
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x31748d9c
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10006f70
mov edx, dword [0x10088d98]
mov eax, dword [0x1007dca8]
mov ecx, dword [0x1007dcac]
mov edi, eax
not edi
and edi, ecx
and eax, ecx
not ecx
add ecx, edi
add eax, ecx
add eax, 0xb
cmp dword [0x10088d94], eax
setl al
setge ah
mov ecx, edx
not ecx
mov edi, ecx
and edi, 1
add edi, edi
mov ebx, edx
sub ebx, edi
add ebx, ecx
add ecx, ebx
add ecx, 0xffffffff
imul ecx, edx
mov dword [esi], ecx
mov ecx, dword [0x1007dcb4]
mov edi, ecx
not edi
mov ebx, dword [0x1007dcb0]
mov edx, ebx
and edx, edi
not ebx
and ecx, ebx
sub edx, ecx
sub edx, edi
add edx, ebx
mov ecx, dword [esi]
and ecx, 1
cmp ecx, edx
sete cl
mov dl, ah
and dl, cl
or al, cl
add dl, al
not al
add al, dl
add al, ah
mov ecx, dword [esi + 0xc]
mov dword [ecx], 0x6879b2f7
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0xc]
mov dword [eax], 0x6879b2f7
jmp 0x10007006
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x4ccb1a40
mov ecx, 0x70f9973c
mov eax, 0x6dc124c6
cmovl ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [0x1007d4b0]
mov edx, dword [0x1007d4b4]
mov edi, ecx
and edi, edx
add edi, edi
mov ebx, ecx
xor ebx, edx
sub edx, edi
not ebx
add ebx, edx
mov eax, dword [0x10088d90]
add ecx, ebx
add ecx, 0xb
cmp dword [0x10088d8c], ecx
setl cl
setge ch
lea edi, [eax + 3]
imul edi, eax
mov edx, dword [0x1007d4b8]
mov ebx, dword [0x1007d4bc]
mov dword [esi], ebx
mov eax, edx
xor eax, ebx
mov ebx, edx
or ebx, dword [esi]
not ebx
add ebx, eax
and edx, dword [esi]
lea eax, [edx + ebx]
add eax, 1
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 4]
mov dword [eax], edx
sete al
mov dl, ch
and dl, al
mov ah, cl
or ah, al
add ah, dl
xor cl, al
not cl
add cl, ah
or ch, al
add ch, cl
test ch, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x4ccb1a40
mov eax, 0x70f9973c
mov ecx, 0x6dc124c6
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x100070a4
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x574b36f5
mov eax, 0xebf6e1b8
mov ecx, 0x470ac3f8
cmove eax, ecx
mov dword [ebx], eax
mov eax, dword [0x1007d3e8]
mov ecx, dword [0x1007d3ec]
mov edx, eax
xor edx, ecx
mov edi, ecx
not edi
or edi, eax
add edi, edx
mov edx, eax
not edx
add edx, edi
and eax, ecx
add eax, edx
add eax, 0xc
mov ecx, dword [0x10088d88]
cmp dword [0x10088d84], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi], eax
mov ecx, dword [0x1007e334]
mov edx, dword [0x1007e338]
mov edi, ecx
or edi, edx
mov eax, ebx
mov ebx, edi
not ebx
lea edi, [edi + ebx*2]
mov ebx, eax
not edx
or edx, ecx
sub edx, edi
not ecx
add ecx, edx
add ecx, 0x574b36f5
cmp dword [esi], ecx
mov eax, 0xebf6e1b8
mov ecx, 0x470ac3f8
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10007166
mov edx, dword [0x1007e1ec]
mov ecx, dword [0x1007e1f0]
mov eax, edx
xor eax, ecx
mov edi, ecx
not edi
or edi, edx
add edi, eax
mov eax, edx
not eax
add eax, edi
mov edi, dword [esi + 0x3c]
mov edi, dword [edi]
mov dword [esi + 4], edi
and edx, ecx
mov ecx, dword [esi + 0x34]
mov ecx, dword [ecx]
add ecx, 2
mov dword [esi], ecx
add eax, edx
add eax, 2
cmp edi, eax
mov ecx, 0xb20b83e1
mov eax, 0x4aec4d17
cmove ecx, eax
mov dword [esi + 8], ecx
mov eax, dword [0x1007e1fc]
xor eax, dword [0x1007e200]
mov edi, eax
not edi
add eax, edi
add eax, 0xb
cmp dword [0x10088d80], eax
setge bl
setl bh
mov eax, dword [0x10088d7c]
lea edi, [eax + 1]
imul edi, eax
mov edx, dword [0x1007e204]
mov ecx, edx
not ecx
mov eax, dword [0x1007e208]
and ecx, eax
and edx, eax
not eax
add eax, ecx
add eax, edx
add eax, 1
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 8]
mov dword [eax], ecx
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
mov eax, dword [esi + 0x70]
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [esi + 0x60]
mov dword [eax], ecx
setne al
sete cl
mov dl, bh
xor dl, cl
or bh, cl
add bh, dl
add bh, al
add bh, bl
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
test bh, 1
jne 0x10016e20
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov ecx, dword [ecx]
add ecx, 2
test eax, eax
mov edx, 0xb20b83e1
mov edi, 0x4aec4d17
cmove edx, edi
mov edi, dword [esi + 0x20]
mov dword [edi], edx
mov edx, dword [esi + 0x74]
mov dword [edx], eax
mov eax, dword [esi + 0x70]
mov dword [eax], ecx
mov eax, dword [esi + 0x60]
mov dword [eax], ecx
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jmp 0x1000720e
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x51f98730
mov eax, 0xebf6e1b8
mov ecx, 0xeb7dd767
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007d488]
mov ecx, dword [0x1007d48c]
mov edx, eax
not edx
mov edi, edx
and edi, ecx
add edi, edi
mov ebx, eax
xor ebx, ecx
add ebx, ebx
sub ebx, edi
lea edi, [ebx + edx*2]
and eax, ecx
mov edx, dword [0x10088d78]
not eax
add eax, eax
sub edi, eax
add edi, 0xa
cmp dword [0x10088d74], edi
setge al
setl cl
lea ebx, [edx - 1]
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
xor ah, dl
mov ch, cl
or cl, dl
add ch, ah
add cl, ch
not ah
add ah, cl
add ah, al
test ah, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x51f98730
mov eax, 0xebf6e1b8
mov ecx, 0xeb7dd767
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10007321
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov edx, dword [eax]
mov dword [esi], edx
lea eax, [edx - 0x5e2462cc]
mov ecx, eax
xor ecx, 0x5e2462cc
add ecx, edx
add ecx, 0xa1db9d34
xor eax, 0xa1db9d33
add ecx, eax
add ecx, 0x5e2462cd
mov eax, dword [ebp + 0xc]
lea edi, [eax + eax]
mov ebx, eax
mov eax, edi
neg eax
mov edx, ecx
not edx
mov dword [esi + 0x10], edx
and edx, eax
add edx, edx
xor eax, ecx
sub ecx, edx
lea ecx, [ecx + ebx*2]
add eax, ecx
sub eax, edi
mov edi, dword [esi]
not edi
mov ebx, dword [esi + 4]
mov edx, ebx
or edx, dword [ebp + 0xc]
and edx, edi
mov ecx, edi
xor ecx, ebx
not ecx
add ecx, edx
mov edx, edi
or edx, dword [ebp + 0xc]
sub ecx, edx
mov edx, ecx
not edx
add edx, ecx
lea ebx, [edx + ecx]
add ecx, edx
add ecx, 1
mov edx, ecx
not edx
lea edx, [edx + ebx + 1]
lea ebx, [edx + ecx]
mov dword [esi + 0x14], ebx
lea edx, [edx + ecx + 1]
mov ebx, dword [esi + 0x10]
lea ecx, [eax + ebx]
lea eax, [eax + ebx + 0x5c89a817]
mov ebx, dword [esi + 0x14]
lea ebx, [ecx + ebx*2]
add ebx, 0x5c89a819
mov ecx, eax
xor ecx, edx
add ecx, ebx
mov ebx, eax
and eax, edx
not edx
lea ecx, [ecx + edx*2]
not ebx
add ebx, ecx
not eax
add eax, eax
sub ebx, eax
lea eax, [ebx + 1]
mov ecx, eax
and ecx, 0x5c89a815
lea ecx, [ecx + ebx*2]
add ecx, 2
mov edx, eax
or edx, 0xa37657ea
sub ecx, edx
not eax
add eax, ecx
mov ebx, edi
and ebx, 0x4ffde011
mov ecx, dword [esi]
and ecx, 0xb0021fee
or ebx, ecx
mov edx, dword [esi]
or edx, 0x4ffde011
sub ebx, edx
mov edx, dword [esi]
add ecx, edx
and edi, 0xb0021fee
add edi, ecx
or edx, 0xb0021fee
sub edi, edx
add ebx, 0x4ffde011
or edi, ebx
mov ecx, edi
xor ecx, 0x30021fee
xor edi, 0x4ffde011
lea ecx, [edi + ecx*2]
add ecx, edi
add ecx, edi
add ecx, 2
and ecx, dword [esi + 4]
mov edx, ecx
not edx
lea ecx, [ecx + edx*2]
sub eax, ecx
imul eax, eax, 0x460ac8cb
lea ecx, [eax - 0x2aaf2e4]
mov edx, ecx
or edx, 0x97cb199d
add eax, edx
add eax, 0xfd550d1c
not ecx
or ecx, 0x97cb199d
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xec85ce46
not eax
lea eax, [eax + edx*2]
add eax, 0xd90b9c8c
imul ecx, eax, 0x4ef55ce3
lea eax, [ecx + 0x5f683aac]
mov edx, eax
xor edx, 0xd088a638
add ecx, edx
add ecx, 0x5f683aac
mov edx, eax
not edx
and edx, 0x2f7759c7
add edx, ecx
and eax, 0xd088a638
lea ecx, [edx + eax]
add eax, edx
add eax, 0x91b8f30a
mov edx, eax
and edx, 0x2f7759c7
add ecx, edx
add ecx, 0x91b8f30a
mov edx, eax
xor edx, 0x2f7759c7
add edx, ecx
or eax, 0x2f7759c7
sub edx, eax
add edx, 0x2f7759c8
mov eax, dword [esi + 8]
mov dword [eax], edx
mov eax, dword [0x1007d0e4]
mov edx, eax
neg edx
mov edi, edx
and edi, 0xc72c77ef
sub edi, eax
mov ecx, eax
mov eax, edx
xor eax, 0xc72c77ef
add eax, edi
or edx, 0xc72c77ef
sub eax, edx
add eax, 0x38d38810
mov edx, eax
and edx, 0xc72c77ef
mov edi, eax
or edi, 0x38d38810
add edx, edi
not edi
add edi, edx
mov edx, dword [0x1007d0e0]
and eax, 0x38d38810
add eax, edi
add eax, 0xc72c77f1
mov dword [esi + 8], eax
mov dword [esi], ecx
mov edi, ecx
not edi
mov eax, edx
and eax, edi
mov ebx, edx
and ebx, ecx
lea ebx, [ebx + eax*2]
mov ecx, edx
mov dword [esi + 0x14], edx
not ecx
lea eax, [ecx + ecx]
sub eax, ecx
mov dword [esi + 0x10], eax
and ecx, dword [esi]
sub ebx, edx
mov eax, ecx
not eax
and eax, ebx
add eax, eax
lea eax, [eax + ecx*2]
or ebx, ecx
lea ecx, [ebx + ebx*2]
sub ecx, eax
mov edx, dword [esi + 8]
mov eax, edx
sub eax, ecx
mov ebx, edx
xor ebx, ecx
add ebx, eax
sub ebx, ecx
mov eax, edx
not eax
or eax, ecx
add eax, ebx
and ecx, edx
lea ebx, [ecx + eax]
add ebx, 1
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [esi]
xor eax, ecx
or ecx, edi
and ecx, edx
sub ecx, edi
or edi, edx
add edi, ecx
sub edi, edx
mov ecx, edi
or ecx, eax
lea edx, [edi + ecx]
not ecx
lea ecx, [edx + ecx*2]
xor edi, eax
add edi, ecx
add eax, edi
add eax, 2
not eax
lea ecx, [eax + eax]
shl eax, 2
mov edi, ebx
sub edi, eax
mov eax, ebx
or eax, ecx
not eax
add eax, eax
sub edi, eax
xor ecx, ebx
not ecx
add ecx, edi
not ebx
mov edx, dword [esi + 0x10]
lea eax, [edx + edx]
sub edx, eax
lea eax, [ecx + ebx]
add ecx, ebx
add ecx, 0xffffffff
mov edi, eax
neg edi
and edi, edx
add edi, edi
sub edi, eax
add edi, edx
lea eax, [edi + eax*2]
add eax, 0xfffffffe
or ecx, edx
add ecx, ecx
sub eax, ecx
mov ecx, eax
neg ecx
lea edx, [eax - 1]
add eax, eax
and edx, 0x23d063a7
sub edx, eax
or ecx, 0x23d063a7
sub edx, ecx
lea eax, [edx + 0x23d063a8]
not eax
mov ecx, eax
and ecx, 0xe591db32
add ecx, edx
add ecx, 0x23d063a8
or eax, 0x1a6e24cd
sub ecx, eax
add ecx, 0x34dc499a
mov eax, ecx
xor eax, 0xdc2f9c58
mov edx, ecx
sub edx, eax
not ecx
mov eax, ecx
and eax, 0x23d063a7
add eax, eax
sub edx, eax
lea edi, [edx + ecx]
lea eax, [edx + ecx]
add eax, 0x24c7c3ed
mov ecx, eax
xor ecx, 0xc9e6c1c4
lea ecx, [ecx + edi*2]
add ecx, 0x498f87da
xor eax, 0x36193e3b
lea eax, [ecx + eax*2]
lea ecx, [edi + edi]
add ecx, 0x498f87da
or ecx, 0x6c327c76
sub eax, ecx
lea ecx, [eax + 0x6c327c78]
mov edx, ecx
not edx
and edx, 0xdb383c12
add eax, edx
add eax, 0x6c327c78
or ecx, 0x24c7c3ed
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xdb383c13
mov ecx, eax
not ecx
and ecx, 0xc9e6c1c4
add ecx, edx
add ecx, 0xdb383c13
or eax, 0x36193e3b
add eax, ecx
add eax, 0xc9e6c1c5
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [0x1007dec0]
mov ecx, dword [0x1007dec4]
mov edi, eax
or edi, ecx
sub edi, ecx
sub edi, ecx
add edi, ecx
not eax
or eax, ecx
add eax, edi
add eax, 0xb
cmp dword [0x10088d70], eax
mov eax, dword [0x10088d6c]
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jne 0x10016e20
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov edx, dword [eax]
mov dword [esi], edx
mov eax, edx
and eax, 0xa1db9d34
add eax, edx
not edx
add eax, edx
mov ecx, edx
or ecx, 0xa1db9d34
sub eax, ecx
lea ebx, [eax - 0x5e2462cc]
mov ecx, ebx
and ecx, 0x21db9d33
add ecx, ecx
add eax, eax
add eax, 0x43b73a68
sub eax, ecx
not ebx
mov ecx, ebx
or ecx, 0x5e2462cc
sub eax, ecx
or ebx, 0xa1db9d33
lea edi, [eax + ebx]
lea ecx, [eax + ebx]
add ecx, 0x5e2462cc
mov eax, dword [ebp + 0xc]
lea ebx, [eax + eax]
lea edi, [ebx + edi*2]
add edi, 0xbc48c598
neg ebx
mov eax, ecx
xor eax, ebx
add eax, edi
mov edi, ecx
or edi, ebx
sub eax, edi
not ecx
or ecx, ebx
lea ebx, [eax + ecx]
add ebx, 1
mov eax, edx
or eax, dword [esi]
and eax, dword [esi + 4]
mov ecx, edx
or ecx, dword [ebp + 0xc]
add eax, ecx
add eax, 1
lea ecx, [eax + eax*2]
not eax
add ecx, eax
lea edi, [ecx + eax]
add eax, ecx
add eax, 2
mov ecx, eax
not ecx
add ecx, edi
add ecx, 2
add eax, ecx
add eax, 1
mov ecx, ebx
and ecx, 0x237657ea
add ecx, ecx
mov edi, ebx
sub edi, ecx
mov ecx, ebx
xor ecx, 0x5c89a815
add ecx, edi
lea edi, [ecx + ebx]
add ebx, ecx
add ebx, 1
mov ecx, eax
not ecx
and ecx, ebx
add ecx, edi
add ecx, 1
add ecx, eax
mov edi, ebx
or edi, eax
add edi, ecx
xor eax, ebx
not eax
add eax, edi
not ebx
lea ecx, [eax + ebx]
lea edi, [ebx + eax]
add edi, 2
mov eax, edi
not eax
and eax, 0x5c89a815
lea eax, [eax + ecx*2]
add eax, 4
or edi, 0x5c89a815
sub eax, edi
and edx, 0x4ffde011
mov edi, dword [esi]
mov ecx, edi
and ecx, 0xb0021fee
or edx, ecx
or edi, 0x4ffde011
sub edx, edi
add edx, 0x4ffde011
or edx, ecx
mov ecx, edx
xor ecx, 0xb0021fee
xor edx, 0x4ffde011
lea ecx, [ecx + edx*2]
add ecx, 1
mov edx, dword [esi + 4]
add edx, edx
mov edi, dword [ebp + 0xc]
add edx, edi
add edx, 1
mov edi, ecx
not edi
or edi, ecx
and edi, edx
not edx
or edx, ecx
add edx, edi
add edx, eax
imul ecx, edx, 0x460ac8cb
lea eax, [ecx - 0x5d74ce3f]
mov edx, eax
xor edx, 0xec85ce45
add ecx, edx
add ecx, 0xa28b31c1
mov edx, eax
or edx, 0x137a31ba
add edx, ecx
mov ecx, eax
not ecx
add ecx, edx
and eax, 0xec85ce45
add eax, ecx
imul ecx, eax, 0x4ef55ce3
lea eax, [ecx - 0x424a0f0a]
mov edx, eax
not edx
and edx, 0xc1304cd1
add ecx, edx
add ecx, 0xbdb5f0f6
and eax, 0xc1304cd1
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0x5088a638
add ecx, ecx
mov edx, eax
sub edx, ecx
mov ecx, eax
xor ecx, 0xd088a638
add ecx, edx
sub ecx, eax
mov eax, dword [esi + 8]
mov dword [eax], ecx
mov edx, dword [0x1007d0e0]
mov dword [esi], edx
mov eax, dword [0x1007d0e4]
not edx
mov dword [esi + 8], edx
mov ebx, edx
and ebx, eax
mov edi, eax
not edi
mov ecx, edx
and ecx, edi
sub ebx, ecx
mov ecx, edx
xor ecx, eax
add ebx, ecx
not ecx
add ecx, ebx
mov edx, dword [esi + 8]
or edx, edi
or edi, eax
and edi, dword [esi]
add edx, edi
add edx, 1
mov ebx, dword [esi]
or ebx, eax
sub ecx, ebx
or edx, ecx
lea edi, [edx - 1]
lea ecx, [edx + edx]
add ecx, 0xfffffffe
sub ecx, edi
mov edx, eax
neg edx
mov dword [esi + 0x10], edx
add ecx, 1
mov edx, ecx
not edx
mov dword [esi + 0x14], edx
mov edi, dword [esi + 0x10]
and edi, edx
sub edi, eax
sub edi, eax
sub edi, ecx
or ecx, dword [esi + 0x10]
sub edi, ecx
sub edi, dword [esi + 0x14]
mov ecx, dword [esi]
xor ecx, eax
add ecx, eax
not ebx
add ebx, ecx
add edi, eax
mov edx, dword [esi]
and edx, eax
or eax, dword [esi + 8]
sub ebx, eax
mov ecx, edx
not ecx
and ecx, ebx
add ecx, edx
not ecx
lea eax, [ecx + ecx]
sub eax, ecx
sub eax, ecx
mov ebx, ecx
and ebx, eax
mov edx, ecx
or edx, eax
add ebx, edx
not edx
add edx, ebx
xor eax, ecx
add eax, edx
add eax, eax
xor eax, 0xfffffffe
lea ecx, [eax + eax]
sub eax, ecx
sub eax, edi
mov edi, dword [esi + 8]
lea ecx, [edi + edi]
mov edx, dword [esi]
lea ecx, [ecx + edx*2]
add ecx, 2
or edi, ecx
mov ebx, edi
or edx, ecx
mov edi, edx
not ecx
lea edx, [ecx + ebx*2]
add edx, edi
add eax, 1
mov ecx, 0xfffffffe
sub ecx, edx
mov edi, eax
xor edi, ecx
mov ebx, eax
or ebx, ecx
and ecx, eax
sub eax, edx
add edi, eax
not ebx
add ebx, edi
not ecx
sub ecx, ebx
lea eax, [ecx + 0x23d063aa]
mov edx, eax
and edx, 0x1a6e24cd
add edx, edx
neg edx
add edx, ecx
add edx, 0x23d063aa
xor eax, 0xe591db32
add eax, edx
lea edx, [ecx + eax]
add edx, 0x23d063aa
lea ecx, [ecx + eax + 0x58acad45]
mov eax, ecx
not eax
mov edi, ecx
or edi, 0xdc2f9c58
lea edx, [edx + edi*2]
add edx, 0x34dc499b
not edi
lea edx, [edx + edi*4]
xor ecx, 0x23d063a7
add ecx, ecx
sub edx, ecx
add eax, eax
or eax, 0x47a0c74e
sub edx, eax
imul edx, edx, 0x6feb31c3
lea eax, [edx - 0x7e0710f8]
mov ecx, eax
not ecx
mov edi, ecx
and edi, 0x78dcc60a
add edx, edi
add edx, 0x81f8ef08
xor eax, 0x872339f5
add eax, edx
or ecx, 0x78dcc60a
sub eax, ecx
add eax, 0x872339f6
mov edx, eax
and edx, 0xb1db33b5
mov ecx, eax
or ecx, 0x4e24cc4a
add edx, ecx
not ecx
add ecx, edx
and eax, 0x4e24cc4a
add eax, ecx
lea ecx, [eax + eax]
add ecx, 0x9c499896
lea eax, [eax + eax*2]
add eax, 0xea6e64e1
sub eax, ecx
imul eax, eax, 0xf8aa46eb
lea ecx, [eax - 0x46723a96]
mov edx, ecx
and edx, 0xdb383c12
add eax, edx
add eax, 0xb98dc56a
or ecx, 0x24c7c3ed
sub eax, ecx
add eax, 0xc9e6c1c3
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [0x1007e56c]
mov ecx, eax
not ecx
or ecx, eax
mov eax, dword [0x1007e570]
and ecx, eax
sub ecx, eax
add ecx, 0x62721317
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
jmp 0x100073c2
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [str._gH]
and ecx, dword [0x1007d570]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0x4905ec1c
cmp eax, ecx
mov ecx, 0xe42e6bbd
mov eax, 0x8d445cd3
cmovl ecx, eax
mov dword [esi], ecx
mov edx, dword [0x1007d578]
mov ecx, dword [0x1007d57c]
mov edi, edx
sub edi, ecx
mov ebx, edx
xor ebx, ecx
add edi, ebx
not ebx
lea ebx, [edi + ebx*2]
not ecx
or ecx, edx
mov edi, dword [0x10088d68]
add ecx, ecx
sub ebx, ecx
add ebx, 0xa
cmp dword [0x10088d64], ebx
setl cl
mov edx, edi
not edx
add edx, edi
add edx, edi
add edx, 2
imul edx, edi
mov edi, dword [0x1007d580]
mov ebx, edi
not ebx
mov eax, dword [0x1007d584]
and ebx, eax
not eax
or eax, edi
add eax, ebx
add eax, 1
and edx, 1
cmp edx, eax
mov eax, dword [esi + 0xc]
mov edx, dword [esi]
mov dword [eax], edx
setne al
sete dl
mov ah, cl
xor ah, dl
or cl, dl
add dl, ah
add dl, cl
not ah
add ah, dl
add ah, al
test ah, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007e384]
mov edi, dword [0x1007e388]
mov ecx, edx
or ecx, edi
not ecx
add ecx, edi
not edx
or edx, edi
sub ecx, edx
add ecx, 0x4905ec1b
cmp eax, ecx
mov eax, 0xe42e6bbd
mov ecx, 0x8d445cd3
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10007bd1
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
movzx ecx, word [eax]
mov eax, ecx
xor eax, 0xfffffffe
mov dword [esi], eax
mov edx, ecx
not edx
mov dword [esi + 4], edx
mov edi, edx
and edi, 1
mov dword [esi + 0x14], edi
mov edx, ecx
and edx, 0xfffffffe
mov dword [esi + 8], edx
lea eax, [edi + eax*2]
add eax, edx
add eax, 1
and eax, ecx
mov edx, ecx
mov dword [esi + 0x10], ecx
add eax, eax
mov ecx, 0x348a
sub ecx, eax
mov eax, ecx
and eax, 0x348a
add eax, eax
mov edi, ecx
sub edi, eax
mov eax, ecx
xor eax, 0xffffcb75
add eax, edi
add eax, ecx
mov edi, edx
and edi, 1
mov ecx, edx
xor ecx, 1
mov ebx, dword [esi + 4]
and ebx, 0xfffffffe
add ebx, edi
add ebx, ecx
add ecx, dword [esi + 0x14]
add ecx, dword [esi]
mov edx, dword [esi + 4]
or edx, 1
sub ecx, edx
add ebx, edi
add ebx, 1
mov dword [esi + 4], ebx
mov edx, ecx
not edx
and edx, ebx
sub edx, ebx
mov ebx, dword [esi + 4]
or ebx, ecx
lea edx, [edx + ebx*2]
not ebx
add ebx, edx
and ecx, dword [esi + 4]
add ecx, ebx
lea edx, [eax + ecx]
mov dword [esi + 4], edx
lea ebx, [eax + ecx]
add ebx, 2
add edi, dword [esi + 8]
mov edx, dword [esi + 0x10]
sub edi, edx
add edi, dword [esi]
mov eax, edi
and eax, edx
sub eax, edi
sub eax, edi
mov ecx, edi
not ecx
and ecx, edx
add ecx, ecx
sub eax, ecx
or edi, edx
lea eax, [eax + edi*2]
mov ecx, eax
not ecx
lea eax, [eax + ecx*2]
mov ecx, ebx
not ecx
and ecx, 0x117e
add ecx, ecx
mov edx, dword [esi + 4]
lea ecx, [ecx + edx*2]
add ecx, 4
xor ebx, 0xffffee81
lea edx, [ecx + ebx]
lea edi, [ebx + ecx]
add edi, 0xffffdd04
lea ecx, [eax + eax]
mov ebx, ecx
xor ebx, 0xfffffffe
and ebx, edi
add edx, ebx
add edx, 0xffffdd04
sub edx, ecx
lea ecx, [edx + eax*2]
add ecx, 1
add eax, eax
add eax, 1
or eax, edi
sub ecx, eax
lea eax, [ecx - 2]
mov edx, eax
and edx, 0x117e
add edx, edx
add ecx, ecx
add ecx, 0xfffffffc
sub ecx, edx
not eax
mov edx, eax
or edx, 0xffffee81
sub ecx, edx
or eax, 0x117e
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x1983
mov ecx, eax
xor ecx, 0xfffffffe
lea ecx, [ecx + edx*2]
add ecx, 0x3306
mov edx, eax
or edx, 0xfffffffe
sub ecx, edx
not eax
or eax, 0xfffffffe
add eax, ecx
imul eax, eax, 0x2df5
add eax, 0x7237
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x336f
add edx, edx
mov edi, eax
sub edi, edx
xor eax, 0x336f
add eax, edi
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x66e0
mov ecx, eax
not ecx
and ecx, 0xffffaf5f
add ecx, edx
add ecx, 0x66e0
or eax, 0x50a0
add eax, ecx
imul ecx, eax, 0x565d
mov eax, 0x59d0
sub eax, ecx
mov ecx, eax
xor ecx, 0x1f83
add ecx, ecx
lea ecx, [ecx + eax*2]
lea edx, [eax + eax]
or edx, 0x3f06
sub ecx, edx
xor eax, 0x607c
add eax, ecx
mov ecx, 0xffffc0f9
sub ecx, eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov word [eax], cx
mov edx, dword [0x1007e020]
mov ecx, dword [0x1007e024]
mov eax, edx
or eax, ecx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0x1a6e24ce
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov ecx, dword [0x1007e028]
mov edx, dword [0x1007e02c]
mov eax, ecx
or eax, edx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0x62721317
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007e030]
mov ecx, dword [0x1007e034]
mov edx, eax
xor edx, ecx
add edx, ecx
or ecx, eax
not ecx
lea ecx, [edx + ecx*2]
not eax
sub eax, ecx
mov ecx, dword [0x10088d60]
add eax, 9
cmp dword [0x10088d5c], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10016e20
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
movzx edx, word [eax]
mov ecx, edx
xor ecx, 0xfffffffe
mov dword [esi + 4], ecx
mov edi, edx
not edi
mov dword [esi], edi
mov eax, ecx
and eax, edi
mov edi, ecx
and edi, edx
lea ecx, [edi + edi]
mov ebx, edi
mov dword [esi + 8], edi
sub ecx, eax
mov eax, edx
xor eax, 1
mov edi, eax
or edi, edx
sub ecx, edi
mov edi, ebx
not edi
add edi, ecx
add edi, edi
mov ebx, 0x348a
sub ebx, edi
mov edi, ebx
and edi, 0xffffcb74
add edi, ebx
mov ecx, ebx
xor ecx, 0xffffcb75
add ecx, edi
or ebx, 0xffffcb75
sub ecx, ebx
mov edi, edx
or edx, 1
lea eax, [eax + edx*2]
not edx
lea eax, [eax + edx*4]
mov ebx, dword [esi + 4]
sub eax, ebx
sub eax, ebx
and edi, 1
mov edx, ebx
sub edx, edi
not edi
add edi, edi
sub eax, edi
sub edx, dword [esi]
add edx, 1
mov ebx, edx
xor ebx, eax
mov edi, edx
or edi, eax
add ebx, edi
not edi
add edi, ebx
and eax, edx
add eax, edi
add ecx, 0xffffcb76
mov edx, eax
not edx
and edx, ecx
mov edi, ecx
and edi, eax
add edi, edi
lea edx, [edi + edx*2]
lea ecx, [ecx + ecx*2]
sub ecx, edx
lea ebx, [eax + ecx]
lea edi, [ecx + eax]
add edi, 1
mov ecx, dword [esi]
mov eax, dword [esi + 8]
lea eax, [ecx + eax*2]
or ecx, dword [esi + 4]
sub eax, ecx
mov ecx, eax
not ecx
lea edx, [ecx + ecx]
lea eax, [edx + eax*2]
mov edx, ecx
sub edx, eax
neg eax
add ecx, eax
add ecx, 0xfffffffe
lea eax, [edx + edx]
add eax, 0xfffffffc
sub eax, ecx
lea ecx, [eax + eax]
not eax
add eax, ecx
add eax, eax
mov ecx, edi
and ecx, 0x117e
add ecx, ebx
add ecx, 1
mov edx, edi
or edx, 0x117e
add edx, ecx
not edi
add edi, edx
sub edi, eax
lea eax, [edi - 0x22fe]
mov ecx, eax
not ecx
and ecx, 0x117e
add ecx, ecx
lea ecx, [ecx + edi*2]
add ecx, 0xffffba04
xor eax, 0xffffee81
lea edx, [ecx + eax]
add eax, ecx
add eax, 2
mov edi, eax
and edi, 0x803
add edi, edi
lea ecx, [edx + edx]
add ecx, 4
sub ecx, edi
not eax
mov edx, eax
or edx, 0xfffff7fc
sub ecx, edx
or eax, 0x803
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x804
mov ecx, eax
xor ecx, 0xfffffffe
add ecx, edx
add ecx, 0x804
mov edx, eax
or edx, 0xfffffffe
sub ecx, edx
or eax, 1
add eax, ecx
imul eax, eax, 0x2df5
add eax, 0xfffff91c
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x336f
add edx, edx
mov edi, eax
sub edi, edx
xor eax, 0x336f
add eax, edi
add eax, ecx
imul eax, eax, 0x565d
mov ecx, eax
neg ecx
and ecx, 0x607c
sub ecx, eax
add eax, 0xffffffff
mov edx, eax
and edx, 0xffff9f83
sub ecx, edx
mov edx, eax
and edx, 0x607c
add edx, ecx
or eax, 0x607c
add eax, edx
mov ecx, 0x2175
sub ecx, eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov word [eax], cx
mov eax, dword [0x1007e5d4]
mov ecx, dword [0x1007e5d8]
mov edx, eax
and edx, ecx
add edx, edx
mov edi, eax
xor edi, ecx
sub ecx, edx
not edi
add edi, ecx
add eax, edi
add eax, 0x1a6e24cf
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [0x1007e5dc]
mov ecx, dword [0x1007e5e0]
mov edx, ecx
not edx
and edx, eax
mov edi, eax
or edi, ecx
add edi, edx
xor ecx, eax
not ecx
add ecx, edi
not eax
add eax, ecx
add eax, 0x62721319
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10007cc5
mov ecx, dword [0x1007d140]
mov dword [esi + 0x14], ecx
mov eax, ecx
not eax
mov dword [esi + 0x10], eax
and eax, 0x92b8e98a
and ecx, 0x6d471675
lea edx, [eax + ecx]
add ecx, edx
not edx
add edx, ecx
lea edi, [edx + eax]
lea ecx, [eax + edx]
add ecx, 1
mov eax, ecx
not eax
and eax, 0x6d471675
add eax, edi
add eax, 1
mov edx, ecx
xor edx, 0x6d471675
add edx, eax
or ecx, 0x6d471675
sub edx, ecx
mov eax, dword [0x1007d144]
mov dword [esi], eax
mov edi, eax
not edi
mov dword [esi + 4], edi
mov ebx, edx
and ebx, eax
mov ecx, edx
xor ecx, edi
sub ecx, ebx
mov ebx, edx
not ebx
or ebx, edi
sub ecx, ebx
lea eax, [ecx - 1]
mov ebx, eax
and ebx, edx
lea ebx, [ebx + ebx*2]
neg ecx
mov edi, ecx
and edi, edx
add edi, ebx
mov ebx, eax
or ebx, edx
not ebx
lea edi, [edi + ebx*2]
xor eax, edx
add eax, edi
or ecx, edx
sub eax, ecx
add eax, eax
mov ecx, 0x487750b6
sub ecx, eax
mov eax, ecx
xor eax, 0x487750b8
lea eax, [eax + ecx*2]
add ecx, ecx
or ecx, 0x90eea170
sub eax, ecx
mov dword [esi + 8], eax
mov edx, dword [esi + 0x14]
mov edi, edx
and edi, 0x8017ca68
mov ecx, dword [esi + 0x10]
add edi, ecx
mov eax, edx
xor eax, 0x7fe83597
sub edi, eax
lea eax, [edx + ecx*2]
add eax, 1
mov dword [esi + 0x10], eax
and edx, 0x7fe83597
mov eax, edi
mov dword [esi + 0x1c], edi
mov ecx, edi
not ecx
mov edi, ecx
and edi, edx
add edi, edi
mov ebx, eax
xor ebx, edx
add ebx, ebx
sub ebx, edi
mov edi, eax
or edi, edx
add edi, ebx
lea eax, [edi + ecx*2]
and edx, dword [esi + 0x1c]
not edx
add edx, edx
sub eax, edx
mov edx, dword [esi + 4]
lea ecx, [edx + edx]
sub ecx, edx
and edx, 0x8017ca68
mov ebx, dword [esi]
and ebx, 0x7fe83597
or ebx, edx
mov edx, eax
xor edx, ebx
mov edi, eax
or edi, ebx
not edi
lea edx, [edi + edx*2]
and ebx, eax
add ebx, edx
mov edi, dword [esi + 8]
mov eax, edi
and eax, 0x485ded10
add eax, edi
mov edx, edi
xor edx, 0x485ded11
add edx, eax
or edi, 0x485ded11
sub edx, edi
lea eax, [edx + ebx]
add eax, 0x485ded13
mov edx, eax
and edx, 0x37a212ee
add edx, edx
mov edi, eax
sub edi, edx
mov ebx, eax
xor ebx, 0x485ded11
add ebx, edi
lea edx, [ebx + eax]
mov dword [esi + 4], edx
add ebx, eax
add ebx, 0x6f4425dd
mov eax, ecx
not eax
mov edi, ecx
or edi, eax
and edi, 0x5a8925f2
xor ecx, 0xa576da0d
add ecx, edi
or eax, 0x5a8925f2
sub ecx, eax
mov edx, dword [esi]
mov eax, edx
or edx, 0xa576da0d
mov edi, edx
not edi
add edi, edx
and eax, 0xa576da0d
lea edx, [eax + edi]
add edx, 1
mov edi, ecx
and edi, edx
mov eax, edx
not eax
and eax, ecx
add eax, eax
lea eax, [eax + edi*2]
lea edi, [ecx + ecx]
sub edi, eax
or ecx, edx
add ecx, edi
mov eax, ebx
and ebx, 0x17294f8c
mov edx, dword [esi + 4]
add edx, ebx
add edx, 0x6f4425dd
not eax
xor ecx, 0xa576da0d
and eax, 0x17294f8c
add eax, edx
mov edx, ecx
neg edx
lea edi, [ecx - 1]
or edi, edx
and edi, eax
sub edi, ecx
mov eax, edi
not eax
and eax, 0x17294f8c
lea eax, [edi + eax*2]
add edi, edi
or edi, 0x2e529f18
sub edi, eax
lea eax, [edi - 0x17294f8c]
mov ecx, eax
not ecx
and ecx, 0x6cb64b2c
add ecx, ecx
lea ecx, [ecx + edi*2]
add ecx, 0xd1ad60e8
xor eax, 0x9349b4d3
lea edx, [ecx + eax]
add eax, ecx
add eax, 2
mov ecx, eax
mov edi, dword [esi + 0x10]
and ecx, edi
add ecx, edx
add ecx, 2
add ecx, edi
not edi
add ecx, edi
or edi, eax
sub ecx, edi
mov eax, ecx
and eax, 0x6cb64b2c
add eax, eax
lea edx, [ecx + ecx]
sub edx, eax
not ecx
mov eax, ecx
or eax, 0x9349b4d3
sub edx, eax
or ecx, 0x6cb64b2c
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x50564d0c
mov edx, ecx
xor edx, 0x574b36f5
lea eax, [edx + eax*2]
add eax, 0xa0ac9a18
mov edx, ecx
or edx, 0x574b36f5
sub eax, edx
not ecx
or ecx, 0x574b36f5
add ecx, eax
imul eax, ecx, 0xe3233b75
add eax, 0x380b1b61
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x1b437442
add edx, edx
mov edi, eax
sub edi, edx
xor eax, 0x1b437442
add eax, edi
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0x26cdef8d
add ecx, eax
or eax, 0xd9321072
add eax, ecx
imul eax, eax, 0x5e857cdd
lea ecx, [eax + 0xef1676d]
mov edx, ecx
and edx, 0xdfcfc934
add eax, edx
add eax, 0xef1676d
mov edx, ecx
not edx
and edx, 0x203036cb
add edx, eax
xor ecx, 0x203036cb
sub edx, ecx
lea eax, [edx + 0x203036cb]
mov ecx, eax
xor ecx, 0x5eee747
add ecx, ecx
lea ecx, [ecx + edx*2]
add ecx, 0x40606d96
add edx, edx
add edx, 0x40606d96
or edx, 0xbddce8e
sub ecx, edx
xor eax, 0x7a1118b8
lea edx, [ecx + eax]
add ecx, eax
add ecx, 0xbddce8f
mov dword [esi], ecx
mov eax, ecx
xor eax, 0x203036cb
add eax, edx
add eax, 0xbddce8f
mov edx, ecx
or edx, 0xdfcfc934
add edx, eax
not ecx
add ecx, edx
mov dword [esi + 4], ecx
mov eax, dword [0x1007e0c8]
mov edi, dword [0x1007e0cc]
mov ecx, eax
xor ecx, edi
add ecx, eax
add ecx, edi
or eax, edi
add eax, eax
sub ecx, eax
mov edx, ecx
mov eax, dword [0x1007e0d0]
mov edi, dword [0x1007e0d4]
mov ebx, eax
and ebx, edi
not eax
lea ecx, [eax + eax]
lea ecx, [ecx + ebx*2]
or eax, edi
add eax, eax
sub ecx, eax
and dword [esi], 0x203036cb
add edx, 0x62721317
mov dword [esi + 8], edx
add ecx, 0xa
cmp dword [0x10088d58], ecx
mov eax, dword [0x10088d54]
setl byte [esi + 0x10]
mov ecx, eax
and ecx, 1
add ecx, ecx
mov edi, eax
sub edi, ecx
add edi, eax
add edi, eax
add edi, 0xffffffff
imul edi, eax
mov ebx, dword [0x1007e0dc]
mov ecx, ebx
not ecx
mov eax, dword [0x1007e0d8]
and ecx, eax
mov edx, eax
or edx, ebx
add edx, ecx
xor ebx, eax
not ebx
add ebx, edx
not eax
add eax, ebx
add eax, 2
and edi, 1
cmp edi, eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
lea eax, [eax + ecx - 0x203036c9]
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [eax], ecx
setne al
sete cl
mov dl, byte [esi + 0x10]
or cl, dl
or al, dl
add dl, cl
not cl
add cl, dl
add al, cl
test al, 1
jne 0x10016e20
mov ecx, dword [0x1007d140]
mov dword [esi], ecx
mov edi, ecx
not edi
mov eax, edi
and eax, 0x92b8e98a
and ecx, 0x6d471675
or ecx, eax
mov eax, ecx
xor eax, 0x6d471675
lea eax, [ecx + eax*2]
mov edx, ecx
xor edx, 0x12b8e98a
lea eax, [eax + edx*2]
add ecx, ecx
or ecx, 0x2571d314
sub eax, ecx
mov edx, dword [0x1007d144]
mov dword [esi + 4], edx
add eax, 0x92b8e98b
mov ebx, edx
not ebx
lea ecx, [ebx + ebx]
add ecx, edx
add ecx, 1
xor ecx, eax
and ecx, eax
mov dword [esi + 0x10], ecx
lea eax, [edi + edi]
sub eax, edi
mov dword [esi + 0x14], eax
mov eax, edi
mov ecx, edi
and eax, 0x8017ca68
mov edi, dword [esi]
mov edx, edi
xor edx, 0x7fe83597
add edx, eax
or ecx, 0x7fe83597
add ecx, edx
mov edx, edi
add ecx, edi
add eax, ecx
add eax, 2
and edx, 0x7fe83597
or edx, eax
mov dword [esi], edx
mov dword [esi + 8], ebx
mov ecx, ebx
mov edx, dword [esi + 4]
or ecx, edx
mov dword [esi + 0x1c], ecx
mov eax, ebx
and eax, 0x8017ca68
and ecx, 0x8017ca68
add eax, ecx
add eax, 0x7fe83598
mov ecx, edx
and ecx, 0x7fe83597
and ebx, 0x7fe83597
add ebx, ebx
sub ecx, ebx
mov ebx, edx
xor ebx, 0x7fe83597
add ebx, ecx
mov ecx, dword [esi + 8]
lea edi, [ecx + ebx]
add edi, 0x7fe83598
mov ebx, eax
not ebx
mov edx, ebx
and edx, edi
mov ecx, eax
or eax, edi
not edi
and ecx, edi
sub ecx, edx
add eax, ecx
sub eax, edi
add eax, ebx
mov ebx, dword [esi]
mov ecx, ebx
not ecx
mov edx, ecx
and edx, eax
mov edi, ebx
xor edi, eax
add edi, edx
or eax, ebx
not eax
add eax, edi
sub eax, ecx
mov ecx, dword [esi + 0x10]
add ecx, ecx
mov edx, ecx
neg edx
mov edi, edx
and edi, 0x485ded10
sub edi, ecx
mov ecx, edx
xor ecx, 0x485ded11
add ecx, edi
or edx, 0x485ded11
sub ecx, edx
add ecx, eax
mov edx, dword [esi + 8]
mov eax, edx
and eax, 0x5a8925f2
and edx, 0xa576da0d
sub eax, edx
mov edi, dword [esi + 4]
mov edx, edi
xor edx, 0xa576da0d
add edx, eax
mov eax, edi
xor eax, 0x5a8925f2
add eax, edx
mov edx, edi
or edx, 0x5a8925f2
sub eax, edx
and edi, 0xa576da0d
mov edx, dword [esi + 0x1c]
and edx, 0xa576da0d
add edx, edi
add edx, 0x5a8925f3
mov edi, edx
not edi
and edi, eax
mov ebx, eax
or ebx, edx
add ebx, edi
not eax
or eax, edx
add eax, ebx
add eax, 1
xor eax, 0xa576da0d
mov edx, ecx
xor edx, 0x17294f8c
add edx, ecx
not ecx
add edx, ecx
add ecx, ecx
or ecx, 0xd1ad60e6
sub edx, ecx
lea ecx, [edx - 1]
lea edi, [eax - 1]
mov ebx, ecx
and ebx, edi
lea ebx, [ebx + edx*2]
add ebx, 0xfffffffe
sub ebx, eax
neg eax
or eax, ecx
sub ebx, eax
sub ebx, edi
sub ebx, edx
lea eax, [ebx - 0x17294f8c]
mov ecx, eax
and ecx, 0x1349b4d3
lea ecx, [ebx + ecx*2]
add ecx, 0xe8d6b074
mov edx, eax
not edx
mov edi, edx
and edi, 0x9349b4d3
add edi, ecx
mov ecx, edx
and ecx, 0x6cb64b2c
lea ecx, [edi + ecx*2]
xor eax, 0x9349b4d3
add eax, ecx
or edx, 0x9349b4d3
sub eax, edx
lea ecx, [eax + 0x6cb64b2e]
mov edx, ecx
mov edi, dword [esi + 0x14]
and edx, edi
add eax, edx
add eax, 0x6cb64b2e
add eax, edi
mov edx, ecx
or edx, edi
not edx
add edx, eax
xor ecx, edi
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x50564d0d
mov edx, ecx
not edx
add eax, eax
add eax, 0xa0ac9a1a
mov edi, ecx
xor edi, 0x574b36f5
sub eax, edi
or ecx, 0xa8b4c90a
sub eax, ecx
or edx, 0xa8b4c90a
lea ecx, [eax + edx]
add eax, edx
add eax, 0x574b36f5
mov edx, eax
and edx, 0xbd0c9839
add ecx, ecx
add ecx, 0xae966dea
sub ecx, edx
mov edx, eax
not edx
and edx, 0xbd0c9839
add edx, ecx
xor eax, 0xbd0c9839
sub edx, eax
imul eax, edx, 0xe3233b75
add eax, 0x575e4af3
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x64bc8bbd
add edx, edx
mov edi, eax
sub edi, edx
xor eax, 0x64bc8bbd
lea eax, [edi + eax*2]
lea eax, [eax + ecx*2]
add ecx, ecx
or ecx, 0x3686e884
sub eax, ecx
lea ecx, [eax - 0x1b437443]
mov edx, ecx
or edx, 0x26cdef8d
add eax, edx
add eax, 0xe4bc8bbd
not ecx
or ecx, 0x26cdef8d
add ecx, eax
imul eax, ecx, 0x5e857cdd
lea ecx, [eax - 0x6b1fb14c]
mov edx, ecx
and edx, 0x203036cb
mov edi, ecx
and edi, 0xdfcfc934
mov ebx, edx
sub ebx, edi
add eax, ebx
add eax, 0x94e04eb4
not ecx
or ecx, 0x203036cb
sub eax, ecx
not edx
lea ecx, [eax + edx]
add eax, edx
add eax, 0x203036cb
mov edx, eax
xor edx, 0x85eee747
add ecx, edx
add ecx, 0x203036cb
mov edx, eax
not edx
and edx, 0x7a1118b8
add edx, ecx
and eax, 0x85eee747
add eax, edx
add eax, 0x65beb07d
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jmp 0x1000818d
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007da70]
mov edi, dword [0x1007da74]
mov ecx, edx
or ecx, edi
not ecx
add ecx, edi
not edx
or edx, edi
sub ecx, edx
add ecx, 0xdb06aefc
cmp eax, ecx
mov ecx, 0xaa3df3d0
mov eax, 0x2ebe1cc6
cmovl ecx, eax
mov dword [esi + 4], ecx
mov edx, dword [0x1007da78]
mov edi, dword [0x1007da7c]
mov eax, edx
xor eax, edi
add eax, edx
add eax, edi
or edx, edi
mov ebx, dword [0x10088d50]
add edx, edx
sub eax, edx
add eax, 0xa
cmp dword [0x10088d4c], eax
setge ah
setl al
lea edi, [ebx + 1]
imul edi, ebx
mov ebx, dword [0x1007da80]
mov dword [esi], ebx
mov edx, dword [0x1007da84]
and ebx, edx
add ebx, ebx
mov ecx, dword [esi]
xor ecx, edx
sub edx, ebx
not ecx
add ecx, edx
mov edx, dword [esi]
add ecx, edx
add ecx, 1
and edi, 1
cmp edi, ecx
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 4]
mov dword [ecx], edx
sete cl
setne dl
and dl, al
mov ch, al
or ch, cl
add dl, ch
not ch
add ch, dl
xor al, cl
not al
add al, ch
add al, ah
add al, 1
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e484]
mov edx, dword [0x1007e488]
mov edi, ecx
not edi
and edi, edx
add edi, edi
lea edi, [edi + ecx*2]
or ecx, edx
add ecx, ecx
sub ecx, edi
add ecx, 0xdb06aefc
cmp eax, ecx
mov eax, 0xaa3df3d0
mov ecx, 0x2ebe1cc6
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10008902
mov eax, dword [esi + 0x68]
mov eax, dword [eax]
mov ecx, dword [0x1007dff0]
mov edx, dword [0x1007dff4]
mov edi, ecx
xor edi, edx
add edi, ecx
add edi, edx
or ecx, edx
add ecx, ecx
sub edi, ecx
cmp eax, edi
mov eax, 0xc90b56b
mov ecx, 0x1a6e24ce
cmove eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [0x1007e000]
mov ecx, dword [0x1007e004]
mov edi, eax
xor edi, ecx
mov edx, eax
sub edx, edi
mov edi, ecx
not edi
or edi, eax
sub edx, edi
and eax, ecx
not eax
add eax, edx
add eax, 0xa
cmp dword [0x10088d48], eax
mov eax, dword [0x10088d44]
setl cl
mov edx, eax
not edx
imul edx, eax
test dl, 1
sete al
or al, cl
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jne 0x10016e20
mov eax, dword [esi + 0x68]
mov eax, dword [eax]
mov ecx, dword [0x1007e5c4]
mov edx, dword [0x1007e5c8]
mov edi, ecx
or edi, edx
not ecx
or ecx, edx
not edx
add edx, edi
add ecx, edx
add ecx, 2
cmp eax, ecx
mov eax, 0xc90b56b
mov ecx, 0x1a6e24ce
cmove eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jmp 0x10008a03
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d2a0]
mov edx, dword [0x1007d2a4]
mov edi, edx
not edi
and edi, ecx
not ecx
or ecx, edx
add ecx, edi
mov edx, 0x69b78b6e
sub edx, ecx
cmp eax, edx
mov eax, 0xcb18fef8
mov ecx, 0x1ccdfb18
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007d2a8]
mov ecx, dword [0x1007d2ac]
mov edi, eax
and edi, ecx
mov edx, eax
not edx
mov ebx, edx
and ebx, ecx
lea edi, [ebx + edi*2]
mov ebx, eax
or ebx, ecx
not ebx
lea edi, [edi + ebx*2]
xor eax, ecx
add eax, edi
or edx, ecx
mov ecx, dword [0x10088d40]
sub eax, edx
add eax, 0xb
cmp dword [0x10088d3c], eax
lea eax, [ecx + ecx]
mov edx, ecx
not edx
lea eax, [edx + eax + 0x2b2b6e4a]
setl dl
imul eax, ecx
test al, 1
sete al
mov ecx, edx
add cl, al
mov ah, dl
xor ah, al
add ah, cl
or dl, al
add dl, ah
test dl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e2f4]
mov edx, dword [0x1007e2f8]
mov edi, ecx
not edi
mov ebx, edi
and ebx, edx
add ebx, ebx
xor ecx, edx
sub ecx, ebx
add ecx, edx
add ecx, edi
add ecx, 0x69b78b70
cmp eax, ecx
mov eax, 0xcb18fef8
mov ecx, 0x1ccdfb18
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10008af2
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007db10]
mov edx, dword [0x1007db14]
mov edi, ecx
or edi, edx
mov ebx, edi
not ebx
lea edi, [edi + ebx*2]
not edx
or edx, ecx
sub edx, edi
not ecx
add ecx, edx
add ecx, 0xd2b59ac0
cmp eax, ecx
mov ecx, 0x650461ae
mov eax, 0xd1642d4a
cmovl ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1007db18]
mov edx, dword [0x1007db1c]
mov ebx, edx
not ebx
and ebx, ecx
mov edi, ecx
xor edi, edx
mov eax, edi
sub eax, ebx
not edi
add edi, eax
not ecx
or ecx, edx
mov ebx, dword [0x10088d38]
sub edi, ecx
add edi, 0xa
cmp dword [0x10088d34], edi
setl cl
mov eax, ebx
not eax
add eax, ebx
lea edx, [ebx + eax]
add edx, 0xe2b37ab0
imul edx, ebx
mov eax, dword [0x1007db24]
mov edi, eax
not edi
mov ebx, dword [0x1007db20]
and edi, ebx
not ebx
or ebx, eax
lea eax, [edi + ebx]
add eax, 1
and edx, 1
cmp edx, eax
mov eax, dword [esi + 0xc]
mov edx, dword [esi]
mov dword [eax], edx
sete al
or al, cl
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e4a4]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xd2b59ac1
cmp eax, ecx
mov eax, 0x650461ae
mov ecx, 0xd1642d4a
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10008bd6
mov eax, dword [esi + 0xbc]
mov eax, dword [eax]
mov ecx, eax
xor ecx, 0xfffffffd
add ecx, ecx
mov edx, eax
not edx
or edx, 0xfffffffd
add edx, ecx
mov ecx, eax
and ecx, 0xfffffffd
lea edi, [edx + ecx]
add ecx, edx
add ecx, 4
and eax, ecx
add eax, edi
add eax, 4
not ecx
add ecx, eax
lea eax, [ecx + ecx]
sub eax, ecx
imul ecx, eax, 0x29f7d98d
lea eax, [ecx + 0x29f7d98d]
mov edx, eax
and edx, 0x2c0965e6
add edx, edx
add ecx, ecx
add ecx, 0x53efb31a
sub ecx, edx
not eax
mov edx, eax
or edx, 0x53f69a19
sub ecx, edx
or eax, 0xac0965e6
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x53f69a19
mov ecx, eax
xor ecx, 0xff19b0f6
add ecx, edx
add ecx, 0x53f69a19
mov edx, eax
or edx, 0xff19b0f6
sub ecx, edx
or eax, 0xe64f09
add eax, ecx
imul eax, eax, 0x95c01145
add eax, 0x5ad048aa
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x76a99f2b
add edx, edx
mov edi, eax
sub edi, edx
xor eax, 0x76a99f2b
add eax, edi
add eax, ecx
add eax, 0xed533e58
mov ecx, dword [0x1007df10]
mov edi, dword [0x1007df14]
mov edx, ecx
or edx, edi
not edx
add edx, edi
not ecx
or ecx, edi
sub edx, ecx
cmp eax, edx
mov ecx, 0x4905ec1b
mov eax, 0x65347728
cmove ecx, eax
mov dword [esi], ecx
mov eax, dword [0x1007df18]
mov edx, dword [0x1007df1c]
mov ecx, eax
xor ecx, edx
add ecx, eax
add ecx, edx
or eax, edx
add eax, eax
sub ecx, eax
mov eax, dword [0x1007df20]
mov edx, dword [0x1007df24]
mov edi, eax
and edi, edx
not eax
lea ebx, [eax + eax]
lea edi, [ebx + edi*2]
or eax, edx
add ecx, 0x62721317
mov dword [esi + 4], ecx
add eax, eax
sub edi, eax
add edi, 0xa
cmp dword [0x10088d30], edi
mov eax, dword [0x10088d2c]
setl byte [esi + 8]
mov edi, eax
and edi, 1
add edi, edi
mov ebx, eax
sub ebx, edi
add ebx, eax
lea edi, [eax + ebx]
add edi, 0xffffffff
imul edi, eax
mov ebx, dword [0x1007df2c]
mov edx, ebx
not edx
mov eax, dword [0x1007df28]
and edx, eax
mov ecx, eax
or ecx, ebx
add ecx, edx
xor ebx, eax
not ebx
add ebx, ecx
not eax
add eax, ebx
add eax, 2
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0x20]
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
setne al
sete cl
mov dl, byte [esi + 8]
or cl, dl
or al, dl
add dl, cl
not cl
add cl, dl
add al, cl
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0xbc]
mov ecx, dword [eax]
mov edx, ecx
not edx
mov dword [esi], edx
and edx, 0xfffffffd
mov edi, ecx
xor edi, 0xfffffffd
add edi, edx
mov edx, ecx
and edx, 0xfffffffd
add edx, edi
add edx, 3
mov ebx, edx
and ebx, ecx
mov eax, edx
not eax
mov edi, eax
and edi, ecx
add edi, edi
sub ebx, edi
xor edx, ecx
add edx, ebx
sub edx, dword [esi]
add edx, eax
not edx
imul eax, edx, 0xd6082673
lea ecx, [eax + 0x29187182]
not ecx
lea eax, [ecx + eax*2]
add eax, 0x5230e304
imul eax, eax, 0x95c01145
add eax, 0x744cdf88
mov ecx, eax
and ecx, 0x895660d4
mov edx, eax
xor edx, 0x895660d4
add edx, ecx
mov ecx, eax
xor ecx, 0x76a99f2b
add ecx, edx
not eax
or eax, 0x895660d4
sub ecx, eax
lea eax, [ecx - 0x76a99f2c]
mov edx, eax
not edx
and edx, 0xa2d2f7b2
add ecx, edx
add ecx, 0x895660d4
and eax, 0xa2d2f7b2
add eax, ecx
mov ecx, eax
and ecx, 0x76a99f2b
add ecx, eax
not eax
or eax, 0x895660d4
add eax, ecx
add eax, 0x76a99f2d
mov ecx, dword [0x1007e584]
mov edi, dword [0x1007e588]
mov edx, ecx
or edx, edi
not edx
add edx, edi
not ecx
or ecx, edi
sub edx, ecx
cmp eax, edx
mov eax, 0x4905ec1b
mov ecx, 0x65347728
cmove eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov ecx, dword [0x1007e58c]
mov edx, dword [0x1007e590]
mov eax, ecx
not eax
and eax, edx
add eax, ecx
or ecx, edx
sub eax, ecx
add eax, 0x62721317
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10008cbd
mov edx, dword [0x1007d128]
mov dword [esi], edx
mov eax, edx
not eax
mov dword [esi + 4], eax
add eax, eax
add eax, edx
add eax, 1
and eax, 0x3403d49f
and edx, 0xcbfc2b60
lea edi, [eax + edx]
add edi, edi
sub edi, edx
sub edi, edx
add edi, edx
sub edi, eax
mov eax, dword [0x1007d12c]
mov ecx, eax
and eax, 0xcbfc2b60
mov ebx, eax
not ebx
lea ebx, [eax + ebx*2]
not ecx
mov dword [esi + 8], ecx
mov eax, ecx
and eax, 0x3403d49f
xor ebx, 0xfffffffe
or ebx, eax
mov ecx, edi
xor ecx, ebx
add ecx, ecx
mov eax, ebx
not eax
or eax, edi
add eax, ecx
and ebx, edi
not edi
add edi, eax
lea ecx, [edi + ebx]
lea eax, [ebx + edi]
add eax, 2
mov ebx, eax
not ebx
lea edx, [ecx + ebx*2]
add edx, 3
or ebx, eax
and eax, 0x3ca8eaf
and ebx, 0x3ca8eaf
add eax, ebx
add eax, 0xfc357151
and edx, 0xfc357150
mov ecx, edx
not ecx
and ecx, eax
add ecx, ecx
mov edi, edx
xor edi, eax
sub edi, ecx
mov ebx, edx
or ebx, eax
add ebx, edi
add ebx, eax
sub ebx, edx
mov edi, ebx
and edi, 0xfc357150
mov eax, ebx
not eax
mov ecx, eax
and ecx, 0x3ca8eaf
sub edi, ecx
xor ebx, 0x3ca8eaf
add ebx, edi
add ebx, eax
mov edi, dword [esi]
mov eax, edi
mov ecx, dword [esi + 8]
and eax, ecx
xor edi, ecx
mov ecx, eax
or ecx, edi
add ecx, edi
mov edx, eax
xor edx, edi
add edx, ecx
mov ecx, edi
not ecx
lea ecx, [edx + ecx*2]
and edi, eax
not eax
add eax, ecx
not edi
add edi, edi
sub edi, eax
add edi, ebx
mov ecx, dword [esi + 4]
and ecx, 0x7192183
mov eax, dword [esi]
and eax, 0xf8e6de7c
or eax, ecx
mov ecx, eax
and ecx, 0x78e6de7c
mov ebx, eax
not ebx
mov edx, ebx
and edx, 0xf8e6de7c
lea ecx, [edx + ecx*2]
xor eax, 0xf8e6de7c
add ecx, eax
mov edx, ebx
and edx, 0x7192183
lea ecx, [ecx + edx*2]
add ecx, eax
or ebx, 0xf8e6de7c
sub ecx, ebx
lea eax, [ecx + 1]
add ecx, ecx
add ecx, 2
sub eax, ecx
lea ebx, [edi + eax]
add eax, edi
add eax, 0x3ca8eaf
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 8]
lea eax, [ecx + ecx*2]
add ecx, ecx
sub eax, ecx
mov ecx, dword [esi + 4]
or ecx, eax
mov edx, dword [esi]
or edx, eax
not eax
lea eax, [eax + ecx*2]
lea ecx, [eax + edx]
add eax, edx
add eax, 2
lea edi, [ecx + ecx]
add edi, 4
sub edi, eax
mov edx, 0xfc357151
sub edx, ebx
mov eax, edx
or eax, 0x9889ac77
lea ecx, [eax + eax]
sub ecx, dword [esi + 0x10]
not eax
lea eax, [ecx + eax*4]
xor edx, 0x67765388
add edx, edx
sub eax, edx
lea ecx, [ebx + ebx]
add ecx, 0x7951d5c
or ecx, 0xceeca710
sub eax, ecx
add eax, 0x67765389
mov edx, eax
sub edx, edi
mov ecx, edi
neg ecx
mov edi, eax
xor edi, ecx
add edi, edx
mov edx, eax
or edx, ecx
not edx
add edx, edi
and eax, ecx
lea edi, [edx + eax]
add eax, edx
add eax, 1
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x9889ac77
add edx, edi
add edx, 1
xor eax, 0x67765388
add eax, edx
or ecx, 0x9889ac77
sub eax, ecx
lea ecx, [eax + eax]
add ecx, 0x311358ee
lea eax, [eax + eax*2]
add eax, 0xc99d0565
sub eax, ecx
imul eax, eax, 0x849f79a9
mov ecx, 0xfe9fa849
sub ecx, eax
lea edx, [eax + 0x16057b6]
and edx, 0x59368e69
add edx, edx
sub eax, edx
add ecx, ecx
or ecx, 0xb26d1cd2
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xda96e620
lea ecx, [edx + edx]
add ecx, 0xb52dcc40
sub eax, ecx
mov edx, dword [0x1007e050]
mov edi, dword [0x1007e054]
mov dword [esi], edi
mov ecx, edx
or ecx, edi
not ecx
lea ecx, [edx + ecx*2]
xor edx, edi
add edx, ecx
mov dword [esi + 4], edx
mov edx, dword [0x1007e058]
mov ebx, dword [0x1007e05c]
mov ecx, edx
and ecx, ebx
not ebx
add ecx, ebx
or ebx, edx
sub ecx, ebx
imul eax, eax, 0xf6203a99
mov dword [esi + 8], eax
add eax, eax
neg eax
mov dword [esi + 0x10], eax
add ecx, 0xa
cmp dword [0x10088d28], ecx
mov eax, dword [0x10088d24]
mov ebx, eax
not ebx
setl byte [esi + 0x14]
add ebx, 0x427ce1a8
imul ebx, eax
mov edi, dword [0x1007e060]
mov eax, dword [0x1007e064]
mov ecx, edi
xor ecx, eax
mov edx, edi
or edx, eax
sub ecx, edx
not eax
sub ecx, eax
or eax, edi
add eax, ecx
and ebx, 1
cmp ebx, eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x10]
lea eax, [eax + ecx + 0x1f01193e]
not eax
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
lea eax, [eax + ecx + 0x62721319]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
sete al
or al, byte [esi + 0x14]
jne 0x10016e20
mov edi, dword [0x1007d128]
mov dword [esi], edi
mov ebx, edi
not ebx
mov edx, edi
and edx, 0xcbfc2b60
mov eax, ebx
and eax, 0x3403d49f
or edi, 0x3403d49f
lea ecx, [eax + edx]
sub ecx, edi
mov edi, dword [esi]
xor edi, 0xcbfc2b60
sub edx, edi
add eax, eax
sub edx, eax
add ecx, 0x3403d49f
lea edi, [edx + ebx]
add edi, 0x3403d49f
add edx, ebx
mov eax, ecx
or eax, edi
add edx, eax
add edx, 0x3403d49f
not eax
add eax, edx
not ecx
or ecx, edi
sub eax, ecx
mov edx, dword [0x1007d12c]
mov dword [esi + 8], edx
mov ecx, edx
not ecx
mov dword [esi + 4], ecx
and ecx, 0x3403d49f
and edx, 0xcbfc2b60
or edx, ecx
mov ecx, eax
sub ecx, edx
mov edi, eax
xor edi, edx
lea ecx, [ecx + edi*2]
not edi
lea ecx, [ecx + edi*2]
not edx
or edx, eax
add edx, edx
sub ecx, edx
mov eax, ecx
not eax
add eax, eax
add eax, ecx
add eax, 1
and eax, 0xfc357150
and ecx, 0x3ca8eaf
lea edi, [eax + ecx]
add edi, edi
sub edi, ecx
sub edi, ecx
add edi, ecx
sub edi, eax
mov dword [esi + 0x10], edi
mov ecx, ebx
mov eax, ebx
or eax, 0xf8e6de7c
mov edx, dword [esi]
lea ebx, [edx + eax]
add ebx, 1
mov eax, dword [esi + 4]
mov edi, dword [esi + 8]
lea eax, [edi + eax*2]
add eax, 1
or edx, eax
not edx
mov edi, dword [esi]
or edi, ecx
and edi, eax
mov dword [esi + 0x1c], edi
add edx, edi
sub edx, ecx
and dword [esi + 8], ecx
mov edi, dword [esi]
lea edi, [edi + ecx*2]
add edi, 1
mov dword [esi + 0x24], edi
or ecx, dword [esi + 4]
mov dword [esi + 0x14], ecx
mov ecx, dword [esi]
or dword [esi + 4], ecx
xor ecx, eax
sub eax, dword [esi + 0x1c]
add eax, ecx
mov edi, eax
not edi
mov ecx, edx
and ecx, edi
mov dword [esi], ecx
mov ecx, edx
or ecx, eax
add ecx, dword [esi]
xor eax, edx
not eax
add eax, ecx
or edi, edx
sub edi, eax
mov ecx, dword [esi + 0x24]
mov eax, ecx
not eax
or eax, ecx
and ecx, 0x7192183
and eax, 0x7192183
add eax, ecx
add eax, 0xf8e6de7d
or ebx, eax
mov ecx, dword [esi + 0x10]
xor ecx, 0x3ca8eaf
mov eax, ecx
neg eax
add eax, eax
sub edi, eax
sub edi, ecx
xor ebx, 0x7192183
add ebx, edi
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 8]
mov edx, ebx
not edx
sub ecx, dword [esi + 4]
lea eax, [ecx + ecx]
sub eax, ecx
sub eax, ecx
sub eax, ecx
lea ecx, [eax + eax]
sub ecx, eax
mov eax, ecx
not eax
lea eax, [ecx + eax*2]
not eax
mov ecx, ebx
and ecx, 0x1889ac77
add ecx, ecx
sub edx, ecx
mov ecx, ebx
xor ecx, 0x67765388
lea ecx, [edx + ecx*2]
lea ecx, [ecx + ebx*2]
add ebx, ebx
or ebx, 0xceeca710
sub ecx, ebx
lea edx, [ecx + 0x67765389]
mov edi, edx
or edi, eax
add ecx, edi
add ecx, 0x67765389
not edx
or edx, eax
add ecx, edx
add ecx, 0x9889ac78
mov eax, ecx
and eax, 0xb4ca06a6
mov edi, ecx
and edi, 0x4b35f959
mov edx, eax
sub edx, edi
add edx, ecx
not ecx
or ecx, 0xb4ca06a6
sub edx, ecx
not eax
lea edi, [edx + eax]
add eax, edx
add eax, 0x4b35f95a
mov ecx, eax
not ecx
mov edx, eax
xor edx, 0x7753e25f
add edx, edi
add edx, 0x4b35f95a
and ecx, 0x88ac1da0
add ecx, edx
and eax, 0x7753e25f
add eax, ecx
imul ecx, eax, 0x849f79a9
mov eax, 0xea63550a
sub eax, ecx
mov edx, eax
and edx, 0x59368e69
add edx, edx
mov edi, eax
sub edi, edx
xor eax, 0x26c97196
add eax, edi
sub eax, ecx
lea ecx, [eax - 0x632f8e23]
add eax, eax
add eax, 0x39a0e3ba
sub eax, ecx
not ecx
lea eax, [eax + ecx*4]
add ecx, ecx
sub eax, ecx
imul eax, eax, 0xf6203a99
mov ecx, 0x13bf8ace
sub ecx, eax
mov edx, ecx
and edx, 0xe0fee6c0
or ecx, 0x1f01193f
add edx, ecx
not ecx
add ecx, edx
add eax, 0xec407531
or eax, 0xe0fee6c0
sub eax, ecx
add eax, 0xe0fee6c1
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jmp 0x10008f6e
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d5e8]
mov edx, dword [0x1007d5ec]
mov edi, edx
not edi
and edi, ecx
not ecx
or ecx, edx
add ecx, edi
add ecx, 0x476d50b4
cmp eax, ecx
mov ecx, 0x2913e8f2
mov eax, 0xd8c23118
cmovl ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [0x10088d20]
cmp dword [0x10088d1c], 0xa
setge byte [esi]
setl byte [esi + 8]
lea edi, [eax - 1]
imul edi, eax
mov eax, dword [0x1007d5f8]
mov edx, dword [0x1007d5fc]
mov ecx, eax
xor ecx, edx
add ecx, edx
mov ebx, eax
and eax, edx
not edx
lea ecx, [ecx + edx*2]
not ebx
add ebx, ecx
not eax
add eax, eax
sub ebx, eax
and edi, 1
add ebx, 1
cmp edi, ebx
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
setne al
mov dl, byte [esi + 8]
mov ecx, edx
and cl, al
add cl, dl
add cl, al
add cl, byte [esi]
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e39c]
or ecx, dword [0x1007e3a0]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0x476d50b4
cmp eax, ecx
mov eax, 0x2913e8f2
mov ecx, 0xd8c23118
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x100094f3
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi], ax
movzx edi, word [0x1007d0dc]
movzx eax, word [0x1007d0de]
mov ebx, edi
not ebx
mov edx, eax
mov dword [esi + 8], eax
not edx
mov ecx, ebx
and ecx, edx
mov dword [esi + 4], ecx
lea edx, [eax + edx*2]
add edx, 1
mov eax, edx
not eax
sub edx, eax
sub edx, eax
add edx, eax
add edx, eax
lea ecx, [ebx + ebx]
sub ecx, edi
sub ecx, ebx
sub ecx, ebx
mov eax, edx
not eax
or edx, eax
and edx, ebx
and edi, eax
mov dword [esi + 0x10], edi
xor eax, ebx
mov dword [esi + 0x14], eax
mov edi, dword [esi + 8]
mov eax, dword [esi + 4]
lea eax, [edi + eax*2]
or ebx, edi
sub eax, ebx
mov ebx, eax
not ebx
lea edi, [ebx + ebx]
sub ebx, edi
add eax, eax
sub ebx, eax
lea eax, [ebx - 2]
not eax
lea eax, [ebx + eax*2]
add eax, 0xfffffffe
mov edi, ecx
and edi, eax
add edi, edi
lea ebx, [ecx + ecx]
sub ebx, edi
sub ebx, eax
mov edi, eax
not edi
mov eax, ecx
not eax
or eax, edi
sub ebx, eax
and edi, ecx
not edi
add edi, ebx
mov eax, 1
sub eax, edi
mov edi, dword [esi + 0x10]
or edi, edx
sub edi, dword [esi + 0x14]
mov ecx, edi
not ecx
lea ecx, [ecx + ecx*2]
add ecx, edi
lea edx, [ecx + edi]
add edi, ecx
add edi, 2
mov ecx, edi
not ecx
add ecx, edx
add ecx, 2
add ecx, edi
not ecx
mov edx, eax
xor edx, 0xffffaa4e
lea edi, [edx + eax*2]
add eax, eax
or eax, 0x549c
sub edi, eax
lea edx, [edi + 0x549c]
mov eax, edx
and eax, ecx
lea eax, [edi + eax*2]
add eax, 0x549c
add eax, ecx
not edx
lea eax, [eax + edx*2]
or edx, ecx
add edx, edx
sub eax, edx
mov ecx, eax
and ecx, 0x2a4e
add ecx, ecx
mov edx, eax
sub edx, ecx
mov ecx, eax
xor ecx, 0x55b1
add ecx, edx
lea edx, [eax + ecx]
add edx, 1
add ecx, eax
lea eax, [ecx + ecx]
add eax, 2
sub eax, edx
imul eax, eax, 0xffffd001
lea ecx, [eax - 0x2fff]
lea eax, [eax + eax*2]
add eax, 0xffff7003
not ecx
lea edx, [eax + ecx*2]
lea eax, [eax + ecx*2]
add eax, 1
mov ecx, eax
and ecx, 0xffffaf39
sub ecx, edx
or eax, 0x50c6
sub ecx, eax
imul eax, ecx, 0xffffcfff
lea ecx, [eax + 0x7e75]
mov edx, ecx
and edx, 0xffff8f3a
add edx, eax
or ecx, 0x70c5
sub ecx, edx
lea eax, [ecx - 0x6001]
add ecx, ecx
add ecx, 0xffff3ffe
sub eax, ecx
cmp word [esi], ax
mov ecx, 0x882b1fb6
mov eax, 0x2c0edd7c
cmove ecx, eax
mov dword [esi], ecx
mov eax, dword [0x1007de90]
mov ecx, dword [0x1007de94]
mov edx, eax
not edx
and edx, ecx
mov dword [esi + 4], edx
not ecx
or ecx, eax
mov dword [esi + 8], ecx
mov eax, dword [0x1007de9c]
mov edi, eax
not edi
add eax, edi
add eax, 0xb
cmp dword [0x10088d18], eax
mov eax, dword [0x10088d14]
setl byte [esi + 0x10]
lea edi, [eax - 1]
imul edi, eax
mov eax, dword [0x1007dea0]
mov ecx, dword [0x1007dea4]
mov ebx, eax
or ebx, ecx
sub ebx, ecx
sub ebx, ecx
add ebx, ecx
not eax
or eax, ecx
add eax, ebx
add eax, 1
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0x20]
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
lea eax, [eax + ecx + 0x62721318]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
sete al
or al, byte [esi + 0x10]
jne 0x10016e20
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi + 4], ax
movzx eax, word [0x1007d0dc]
mov dword [esi], eax
lea edx, [eax - 1]
lea ecx, [eax + eax]
add ecx, 0xfffffffe
sub ecx, edx
not eax
movzx edi, word [0x1007d0de]
mov ebx, eax
mov edx, eax
and eax, edi
mov dword [esi + 8], eax
not edi
and ebx, edi
add ebx, edi
or edx, edi
not edx
add edx, ebx
or edi, dword [esi]
sub edx, edi
mov eax, edx
not eax
add edx, eax
add edx, eax
not edx
lea edx, [edx + edx*2]
add edx, eax
add edx, eax
mov eax, ecx
not eax
mov ebx, 1
sub ebx, edx
mov edi, eax
and edi, ebx
mov dword [esi + 0x10], edi
lea edi, [eax + eax]
mov dword [esi], edi
mov edi, dword [esi + 0x10]
sub dword [esi], edi
and ecx, ebx
add ecx, dword [esi]
sub ecx, edx
xor ebx, eax
sub ecx, ebx
mov edi, dword [esi + 8]
mov eax, edi
not eax
lea edx, [edi + edi]
mov ebx, edi
mov edi, eax
sub edi, edx
add edi, ebx
sub edi, eax
lea eax, [edi + edi]
add eax, 0xfffffffe
neg eax
lea edx, [edi + eax]
add edx, 0xffffffff
neg edi
add edi, edi
sub edx, edi
mov eax, ecx
not eax
mov edi, ecx
and edi, 0xffffaa4e
add edi, eax
mov eax, ecx
xor eax, 0xffffaa4e
add eax, edi
or ecx, 0xffffaa4e
sub eax, ecx
mov ecx, 2
sub ecx, edx
add eax, 0xffffaa4e
lea edi, [edx - 3]
and edi, eax
sub edi, edx
mov edx, eax
or edx, ecx
add edi, edx
not edx
add edx, edi
and eax, ecx
lea ecx, [eax + edx]
add ecx, 3
add eax, edx
add eax, eax
add eax, 6
lea ecx, [ecx + ecx*2]
sub ecx, eax
imul eax, ecx, 0xffffd001
mov ecx, 0x3a4d
sub ecx, eax
lea edx, [eax - 0x3a4e]
and edx, 0x50c6
add edx, edx
sub eax, edx
add ecx, ecx
or ecx, 0xffffa18c
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x1679
lea ecx, [edx + edx]
add ecx, 0x2cf2
sub eax, ecx
imul eax, eax, 0x3001
lea ecx, [eax + eax]
neg ecx
add eax, ecx
add eax, 0xffff8f39
not eax
cmp word [esi + 4], ax
mov eax, 0x882b1fb6
mov ecx, 0x2c0edd7c
cmove eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [0x1007e564]
mov ecx, dword [0x1007e568]
mov edx, eax
or edx, ecx
not edx
lea edx, [eax + edx*2]
xor eax, ecx
add eax, edx
add eax, ecx
add eax, 0x62721319
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x100095c4
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0xee298ee
mov eax, 0xebf6e1b8
mov ecx, 0xd6a808e6
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
cmp dword [0x10088d10], 0xa
mov edx, dword [0x10088d0c]
setge ah
setl al
mov ecx, edx
and ecx, 1
mov edi, edx
sub edi, ecx
sub edi, ecx
not ecx
add ecx, ecx
not ecx
add ecx, edi
imul ecx, edx
test cl, 1
sete dl
mov dh, al
or dh, dl
mov ebx, eax
xor bl, dl
not bl
add bl, dh
or cl, al
add cl, bl
add cl, ah
and al, dl
not al
add al, cl
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e43c]
mov edi, dword [0x1007e440]
mov edx, ecx
or edx, edi
mov ebx, edx
not ebx
shl ebx, 2
lea edx, [ebx + edx*2]
mov ebx, ecx
xor ebx, edi
not ebx
add ebx, ebx
sub edx, ebx
and ecx, edi
not ecx
add ecx, ecx
sub edx, ecx
add edx, 0xee298ee
cmp eax, edx
mov eax, 0xebf6e1b8
mov ecx, 0xd6a808e6
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10009958
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi], eax
mov ecx, dword [0x1007d958]
mov edx, dword [0x1007d95c]
mov ebx, edx
not ebx
and ebx, ecx
mov edi, ecx
xor edi, edx
mov eax, edi
sub eax, ebx
not edi
add edi, eax
not ecx
or ecx, edx
sub edi, ecx
add edi, 0xc90b56b
cmp dword [esi], edi
mov eax, 0x23794767
mov ecx, 0x180a17c9
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007d960]
mov ecx, dword [0x1007d964]
mov edx, eax
not edx
and edx, ecx
and eax, ecx
not ecx
add ecx, edx
add eax, ecx
add eax, 0xb
mov ecx, dword [0x10088d08]
cmp dword [0x10088d04], eax
setl al
lea edx, [ecx - 0x2ad978e5]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e44c]
mov edi, dword [0x1007e450]
mov edx, ecx
not edx
mov ebx, edx
and ebx, edi
xor ecx, edi
not ecx
add ecx, ebx
or edx, edi
sub ecx, edx
add ecx, 0xc90b56b
cmp eax, ecx
mov eax, 0x23794767
mov ecx, 0x180a17c9
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10009a13
mov eax, dword [esi + 0xc0]
cmp byte [eax], 0
mov eax, 0xd2b59ac0
mov ecx, 0x44b0088b
cmovne eax, ecx
mov edi, dword [0x10088d00]
cmp dword [0x10088cfc], 0xa
setl byte [esi]
lea edx, [edi - 1]
imul edx, edi
mov edi, dword [0x1007dd00]
mov ebx, edi
not ebx
mov ecx, dword [0x1007dd04]
and ebx, ecx
add ebx, edi
or edi, ecx
sub ebx, edi
and edx, 1
cmp edx, ebx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
sete al
or al, byte [esi]
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jne 0x10016e20
mov eax, dword [esi + 0xc0]
cmp byte [eax], 0
mov eax, 0xd2b59ac0
mov ecx, 0x44b0088b
cmovne eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [0x1007e504]
mov ecx, dword [0x1007e508]
mov edx, eax
not edx
and edx, ecx
not ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0x62721318
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10009adc
mov eax, dword [esi + 0x80]
mov edx, dword [eax]
mov ecx, edx
not ecx
mov eax, ecx
and eax, 0x70bb90e3
add eax, eax
mov edi, edx
sub edi, eax
mov eax, dword [esi + 0x78]
mov eax, dword [eax]
mov dword [esi], eax
or edx, 0xf446f1c
sub edi, edx
or ecx, 0xf446f1c
lea edx, [edi + ecx]
add ecx, edi
add ecx, 0xe17721c6
mov edi, ecx
xor edi, 0xf446f1d
add edx, edi
add edx, 0xe17721c6
mov edi, ecx
or edi, 0xf446f1d
sub edx, edi
or ecx, 0xf0bb90e2
lea edi, [edx + ecx]
add ecx, edx
add ecx, 0x1e88de3b
mov edx, ecx
xor edx, 0x684d39fc
lea edx, [edx + edi*2]
add edx, 0x3d11bc76
mov edi, ecx
or edi, 0x684d39fc
sub edx, edi
not ecx
or ecx, 0x684d39fc
add ecx, edx
sub ecx, eax
imul ecx, ecx, 0x8c77a52d
lea edx, [ecx - 0x73885ad3]
mov edi, edx
not edi
and edi, 0x5bfba7b
add ecx, edi
add ecx, 0x8c77a52d
or edx, 0xfa404584
lea edi, [ecx + edx]
add ecx, edx
add ecx, 0xcf6e99be
mov edx, ecx
and edx, 0xfa404584
add edx, edi
add edx, 0xcf6e99be
not ecx
mov edi, ecx
and edi, 0x5bfba7b
sub edx, edi
mov edi, ecx
and edi, 0xfa404584
add edi, edx
or ecx, 0xfa404584
add ecx, edi
imul edx, ecx, 0x6276f2a5
lea ecx, [edx - 0x3d84a36f]
mov edi, ecx
xor edi, 0x43f8b028
add edi, edi
lea edi, [edi + edx*2]
add edi, 0x84f6b922
add edx, edx
add edx, 0x84f6b922
or edx, 0x87f16050
sub edi, edx
xor ecx, 0x3c074fd7
lea edx, [edi + ecx]
add ecx, edi
add ecx, 1
mov edi, ecx
xor edi, 0x86d1b676
add edx, edi
add edx, 1
mov edi, ecx
or edi, 0x792e4989
add edi, edx
mov edx, ecx
not edx
add edx, edi
and ecx, 0x86d1b676
lea edi, [edx + ecx]
add edx, ecx
add edx, 0x86d1b678
not edx
mov ecx, edx
and ecx, 0x3c074fd7
lea ebx, [ecx + edi]
add ebx, 0x86d1b678
mov eax, dword [esi + 0x7c]
mov ecx, dword [eax]
mov dword [esi + 4], ecx
or edx, 0xc3f8b028
sub ebx, edx
add ebx, 0x87f16050
mov edi, dword [esi]
not edi
mov dword [esi + 8], edi
mov eax, dword [esi + 0x88]
mov dword [eax], ebx
lea edx, [ecx + 8]
mov eax, dword [esi + 0x8c]
mov dword [eax], edx
and edi, 7
mov edx, edi
not edx
add edx, edi
add edx, edi
mov edi, dword [esi]
mov ebx, edi
neg ebx
add ebx, ebx
sub ebx, edi
lea ebx, [ebx + edi*2]
add edx, edx
not edx
sub edx, ebx
add edx, 0x513e3263
mov ebx, edx
and ebx, 0x513e3264
sub edx, ebx
sub edx, ebx
not ebx
add ebx, ebx
sub edx, ebx
mov ecx, edi
and ecx, 7
mov ebx, edi
xor ebx, 7
add ebx, ecx
mov ecx, edi
xor ecx, 0xfffffff8
lea eax, [ecx + ebx]
add eax, 1
mov ecx, dword [esi + 8]
lea edi, [edi + ecx*2]
add edi, 1
mov dword [esi], edi
mov edi, ecx
and edi, 0xfffffff8
or eax, edi
mov ebx, eax
not ebx
mov edi, eax
and edi, 0x7bee21c5
mov ecx, ebx
sub ecx, edi
add ecx, eax
add ecx, 0x7bee21c6
or eax, ebx
and eax, 0x8411de3a
mov edi, ebx
and edi, 0x7bee21c5
or edi, eax
sub edi, ebx
mov eax, ecx
not eax
or eax, ecx
not eax
and eax, edi
or edi, ecx
add edi, eax
mov eax, edi
and eax, 0x7bee21c5
mov ecx, edi
xor ecx, 0x8411de3a
add ecx, eax
mov eax, edi
xor eax, 0x7bee21c5
add eax, ecx
or edi, 0x7bee21c5
sub eax, edi
lea eax, [eax + edx*2]
add eax, 0x5d839b34
lea ecx, [edx - 0x513e3266]
sub eax, ecx
mov ecx, eax
xor ecx, 0x9633a940
add ecx, eax
not eax
add ecx, eax
add eax, eax
or eax, 0xd398ad7e
sub ecx, eax
mov ebx, dword [esi]
mov eax, ebx
not eax
lea edx, [ecx - 0x2c675281]
mov edi, edx
and edi, eax
lea ecx, [edi + ecx*2]
add ecx, 0xa7315afe
add ecx, ebx
or ebx, edx
sub ecx, ebx
sub ecx, eax
not edx
add edx, ecx
imul eax, edx, 0xd327fd43
lea ecx, [eax - 0x19767440]
not ecx
mov edx, ecx
and edx, 0xa7fdea4c
add eax, edx
add eax, 0xe6898bc0
or ecx, 0x580215b3
sub eax, ecx
imul eax, eax, 0x1c5776b
mov ecx, eax
neg ecx
or ecx, 0xd94bb92f
mov edx, ecx
sub edx, eax
not ecx
lea eax, [edx + ecx]
add eax, 0xd94bb92f
not eax
mov ecx, dword [esi + 0x90]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov edx, dword [eax]
mov eax, edx
xor eax, 0x4acfe13d
mov ecx, edx
sub ecx, eax
mov eax, edx
not eax
mov edi, eax
or edi, 0x4acfe13d
sub ecx, edi
mov edi, eax
or edi, 0xb5301ec2
lea ebx, [ecx + edi]
add edi, ecx
add edi, 0x959fc27a
mov ecx, edi
and ecx, 0x4acfe13d
add ebx, ebx
add ebx, 0x2b3f84f4
sub ebx, ecx
mov ecx, edi
not ecx
and ecx, 0x4acfe13d
add ecx, ebx
xor edi, 0x4acfe13d
sub ecx, edi
mov dword [esi + 4], ecx
mov dword [esi], eax
lea edi, [eax + eax*2]
sub edi, eax
sub edi, eax
mov ebx, edi
and ebx, 0x9f040f58
mov eax, edi
or eax, 0x9f040f58
add eax, ebx
not edi
or edi, 0x9f040f58
add edi, eax
add edi, 0x60fbf0a9
and edx, 0x60fbf0a7
mov eax, edi
xor eax, edx
mov ebx, edi
sub ebx, eax
or edx, edi
add edx, ebx
add edx, eax
sub edx, edi
mov edi, edx
and edi, 0x60fbf0a7
mov eax, edx
and eax, 0x9f040f58
mov ecx, edi
sub ecx, eax
mov ebx, edx
xor ebx, 0x60fbf0a7
add ebx, ecx
not edx
or edx, 0x60fbf0a7
sub ebx, edx
not edi
add edi, ebx
mov eax, edi
mov ecx, dword [ebp + 8]
and eax, ecx
mov edx, edi
xor edx, dword [esi + 0x5c]
add eax, edx
not edx
add edx, eax
mov eax, edi
or eax, ecx
sub edx, eax
and edx, edi
mov ecx, dword [esi + 4]
lea edi, [ecx - 0x4acfe13d]
mov eax, edi
or eax, 0x1ce13bec
lea ecx, [ecx + eax*2]
add ecx, 0xb5301ec3
not eax
lea ecx, [ecx + eax*4]
mov ebx, edi
xor edi, 0x631ec413
add edi, edi
sub ecx, edi
not ebx
add ebx, ebx
or ebx, 0xc63d8826
sub ecx, ebx
lea eax, [ecx + edx]
add eax, 0xe31ec414
add ecx, 0xe31ec414
mov edi, ecx
xor edi, edx
add edi, eax
mov eax, ecx
or eax, edx
not eax
add eax, edi
and ecx, edx
lea edi, [eax + ecx]
add ecx, eax
add ecx, 1
mov edx, ecx
not edx
mov eax, edx
and eax, 0x1ce13bec
add eax, edi
add eax, 1
xor ecx, 0xe31ec413
add ecx, eax
or edx, 0x1ce13bec
sub ecx, edx
mov eax, dword [esi + 0xc4]
mov edx, dword [ebp + 8]
lea eax, [eax + edx*2]
mov edi, dword [esi + 0x5c]
mov edx, edi
sub edx, eax
neg eax
add eax, edi
add eax, 0xfffffffe
add edx, edx
add edx, 0xfffffffc
sub edx, eax
not edx
mov ebx, dword [esi]
mov eax, ebx
and eax, edx
add eax, ebx
mov edi, ebx
or edi, edx
not edi
lea eax, [eax + edi*2]
xor ebx, edx
add ebx, eax
lea eax, [edx + ebx]
add eax, 2
mov edx, eax
not edx
add edx, edx
lea edi, [edx + eax]
add eax, edx
add eax, 1
mov ebx, dword [ebp + 8]
lea edx, [ecx + ebx]
add ecx, ebx
add ecx, 0x78f4eae8
lea edi, [edi + edx*2]
add edi, 0xf1e9d5d1
mov edx, ecx
xor edx, eax
add edx, edi
mov edi, ecx
or edi, eax
sub edx, edi
not ecx
or ecx, eax
add ecx, edx
add ecx, 0xa3ec5105
lea eax, [ecx + ecx]
not ecx
add ecx, eax
mov eax, 0x1ca5bf7e
sub eax, ecx
mov ecx, eax
xor ecx, 0x635a4080
add ecx, ecx
lea ecx, [ecx + eax*2]
lea edx, [eax + eax]
or edx, 0xc6b48100
sub ecx, edx
xor eax, 0x1ca5bf7f
add eax, ecx
mov ecx, 0x394b7eff
sub ecx, eax
mov eax, dword [esi + 0xb8]
mov dword [eax], ecx
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
mov edx, dword [0x1007dd70]
mov edi, dword [0x1007dd74]
mov ecx, edx
or ecx, edi
not ecx
add ecx, edi
not edx
or edx, edi
sub ecx, edx
add ecx, 2
cmp eax, ecx
mov eax, 0xee4fbe1
mov ecx, 0x4aec4d17
cmovb eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x8c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x60]
mov dword [ecx], eax
mov eax, dword [0x1007dd78]
mov ecx, dword [0x1007dd7c]
mov edx, eax
xor edx, ecx
add edx, ecx
or ecx, eax
not ecx
lea ecx, [edx + ecx*2]
not eax
sub eax, ecx
add eax, 0x62721316
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov ecx, dword [0x1007dd80]
mov edx, dword [0x1007dd84]
mov eax, ecx
or eax, edx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
mov ecx, dword [0x10088cf8]
add eax, 0xa
cmp dword [0x10088cf4], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10016e20
mov eax, dword [esi + 0x78]
mov ebx, dword [eax]
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov edx, eax
xor edx, 0xf0bb90e3
mov edi, eax
xor edi, 0xf446f1c
lea edx, [edx + edi*2]
not eax
add eax, eax
or eax, 0xe17721c6
sub edx, eax
lea eax, [edx - 0x1e88de3a]
mov edi, eax
not edi
and edi, 0xf446f1d
add edx, edi
add edx, 0xe17721c6
or eax, 0xf0bb90e2
add eax, edx
sub eax, ebx
lea edx, [eax + 0x7791a91a]
mov edi, edx
or edi, 0x684d39fc
add eax, edi
add eax, 0x7791a91a
not edx
or edx, 0x684d39fc
add edx, eax
imul eax, edx, 0x8c77a52d
add eax, 0xd20a2510
mov edx, eax
and edx, 0xc9aedf42
sub eax, edx
sub eax, edx
not edx
add edx, edx
sub eax, edx
imul eax, eax, 0x6276f2a5
lea edx, [eax - 0xd45c32f]
mov edi, edx
xor edi, 0x86d1b676
add eax, edi
add eax, 0xf2ba3cd1
mov ecx, dword [esi + 0x7c]
mov edi, dword [ecx]
mov dword [esi + 4], edi
xor edx, 0x792e4989
add eax, edx
add eax, 0x4aca669f
mov edx, ebx
not edx
mov dword [esi], edx
mov ecx, dword [esi + 0x88]
mov dword [ecx], eax
lea eax, [edi + 8]
mov ecx, dword [esi + 0x8c]
mov dword [ecx], eax
mov eax, edx
and eax, 7
mov edi, edx
or edi, 7
mov edx, ebx
and edx, 7
lea edx, [edx + edx*2]
add edx, eax
mov dword [esi + 0x14], edx
mov dword [esi + 0x10], edi
sub eax, edi
not edi
add edi, edi
sub eax, edi
mov edi, dword [esi]
or edi, 0xfffffff8
add edi, eax
add edi, ebx
mov eax, edi
not eax
lea eax, [edi + eax*2]
add eax, 1
mov edi, eax
not edi
add edi, edi
add edi, eax
add edi, edi
xor edi, 0xfffffffe
lea ecx, [ebx + 0x513e3264]
mov eax, ecx
or eax, edi
not eax
lea edx, [ebx + edi*2]
add edx, 0x513e3264
add eax, edx
not ecx
or ecx, edi
sub eax, ecx
mov ecx, eax
not ecx
and ecx, 0x513e3264
lea ecx, [ecx + eax*2]
or eax, 0x513e3264
sub ecx, eax
mov dword [esi + 8], ecx
mov ecx, dword [esi]
mov eax, ecx
and eax, 0x7ffffff8
mov edx, dword [esi + 0x14]
lea eax, [edx + eax*2]
xor ebx, 7
add ebx, eax
sub ebx, dword [esi + 0x10]
mov eax, ecx
and eax, 0xfffffff8
add ebx, 1
mov ecx, eax
and ecx, ebx
mov edx, eax
or edx, ebx
add ecx, edx
not edx
add edx, ecx
xor ebx, eax
lea eax, [edx + ebx]
lea edi, [ebx + edx]
add edi, 1
mov ecx, edi
not ecx
lea edx, [eax + ecx*2]
add edx, 2
mov ecx, edi
and ecx, 0x8411de3a
add eax, ecx
add eax, 1
mov ebx, edi
xor ebx, 0x8411de3a
sub eax, ebx
or edi, 0x7bee21c5
sub eax, edi
not ecx
add ecx, eax
and edx, 0x7bee21c5
mov edi, edx
xor edi, edx
not edi
and edi, ecx
xor edi, edx
mov eax, edx
xor eax, ecx
sub edi, eax
or ecx, edx
add ecx, edi
xor ecx, 0x8411de3a
mov eax, dword [esi + 8]
add eax, ecx
add eax, 0xaec1cd9c
mov ecx, eax
and ecx, 0x1633a940
add ecx, ecx
mov edx, eax
sub edx, ecx
mov edi, eax
xor edi, 0x69cc56bf
add edi, edx
lea ecx, [edi + eax]
add ecx, 1
add edi, eax
mov ebx, dword [esi]
lea eax, [ebx + edi]
add eax, 1
mov edx, ecx
or edx, ebx
lea eax, [eax + edx*2]
not edx
lea eax, [eax + edx*4]
mov edx, ecx
xor edx, ebx
not edx
add edx, edx
sub eax, edx
and ebx, ecx
not ebx
add ebx, ebx
sub eax, ebx
mov ecx, eax
not ecx
mov edx, eax
xor edx, 0x9633a940
add edx, eax
and ecx, 0x69cc56bf
add ecx, edx
and eax, 0x9633a940
add eax, ecx
imul eax, eax, 0xd327fd43
add eax, 0xb9b18903
mov edx, eax
and edx, 0xa7fdea4c
mov ecx, eax
or ecx, 0x580215b3
add edx, ecx
not ecx
add ecx, edx
and eax, 0x580215b3
add eax, ecx
imul eax, eax, 0x1c5776b
add eax, 0x1c5776b
mov ecx, dword [esi + 0x90]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov eax, dword [eax]
lea edx, [eax + 0x4acfe13d]
mov dword [esi + 4], edx
mov ecx, edx
and ecx, 0xb5301ec2
add ecx, eax
add ecx, 0x4acfe13d
or edx, 0xb5301ec2
add edx, ecx
mov dword [esi + 8], edx
mov ebx, eax
and ebx, 0x60fbf0a7
mov ecx, eax
and ecx, 0x1f040f58
add ecx, ecx
mov edi, ebx
sub edi, ecx
add edi, eax
mov ecx, eax
not ecx
mov dword [esi], ecx
mov eax, ecx
and eax, 0x1f040f58
add eax, eax
or ecx, 0x60fbf0a7
sub eax, ecx
sub edi, ecx
not ebx
add ebx, edi
add eax, 0x60fbf0a7
mov ecx, eax
xor ecx, ebx
not ebx
sub ecx, ebx
or ebx, eax
add ebx, ecx
xor ebx, 0x60fbf0a7
mov edx, dword [ebp + 8]
xor edx, ebx
mov ecx, edx
not ecx
mov eax, ecx
and eax, ebx
sub eax, ebx
mov edi, ecx
or edi, ebx
not edi
add edi, edi
sub eax, edi
xor ecx, ebx
not ecx
add ecx, eax
add ecx, edx
mov eax, dword [esi + 4]
not eax
mov edi, dword [esi + 8]
lea edx, [edi + eax]
lea edi, [eax + edi - 0x1ce13bea]
mov eax, ecx
not eax
mov ebx, edi
and ebx, eax
add ebx, edx
add ebx, 0xe31ec416
mov edx, edi
not edx
and edx, ecx
sub ebx, edx
add ebx, ecx
mov edx, edi
or edx, ecx
not edx
add edx, ebx
add eax, eax
sub edx, eax
and ecx, edi
not ecx
add ecx, edx
mov eax, ecx
and eax, 0xe31ec413
add eax, ecx
mov edx, ecx
not edx
and edx, 0x1ce13bec
add edx, eax
xor ecx, 0x1ce13bec
sub ecx, edx
lea ebx, [ecx - 0x1ce13bec]
mov edx, dword [ebp + 8]
mov eax, edx
neg eax
lea edi, [ecx + ecx]
add edi, 0xc63d8828
add edx, edx
sub edi, edx
mov ecx, ebx
xor ecx, eax
add ecx, edi
or eax, ebx
add eax, eax
sub ecx, eax
sub edx, dword [ebp + 8]
and edx, dword [esi]
mov eax, edx
not eax
add eax, eax
lea edi, [eax + edx]
add eax, edx
add eax, 1
lea edx, [ecx - 1]
and edx, 0x5c13aefc
sub edx, ecx
neg ecx
or ecx, 0xa3ec5103
add ecx, edx
lea ecx, [ecx + edi*2]
add ecx, 2
not eax
add eax, ecx
imul eax, eax, 0x1283a637
add eax, 0x378af2a5
mov ecx, eax
and ecx, 0xa0492480
sub eax, ecx
sub eax, ecx
not ecx
add ecx, ecx
sub eax, ecx
imul eax, eax, 0xbbcaef87
add eax, 0x886a20f2
mov ecx, dword [esi + 0xb8]
mov dword [ecx], eax
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
mov edx, dword [0x1007e524]
mov ecx, dword [0x1007e528]
mov edi, ecx
not edi
mov ebx, edx
and ebx, edi
xor ecx, edx
not ecx
add ecx, ebx
or edi, edx
sub ecx, edi
add ecx, 2
cmp eax, ecx
mov eax, 0xee4fbe1
mov ecx, 0x4aec4d17
cmovb eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x8c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x60]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jmp 0x10009b80
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d778]
mov edi, dword [0x1007d77c]
mov edx, edi
not edx
mov ebx, ecx
and ebx, edx
not ecx
and edi, ecx
sub ebx, edi
sub ebx, edx
add ecx, ebx
add ecx, 0xe35f3138
cmp eax, ecx
mov ecx, 0x46a6f531
mov eax, 0xd86e9080
cmovl ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1007d780]
mov edi, dword [0x1007d784]
mov edx, ecx
not edx
mov ebx, edx
and ebx, edi
or ecx, edi
not ecx
add ecx, ebx
mov edi, dword [0x10088cf0]
sub ecx, edx
add ecx, 0xa
cmp dword [0x10088cec], ecx
setl byte [esi + 4]
lea edx, [edi - 1]
imul edx, edi
mov edi, dword [0x1007d78c]
mov ebx, edi
not ebx
mov eax, dword [0x1007d788]
mov ecx, eax
and ecx, ebx
xor edi, eax
not edi
add edi, ecx
or ebx, eax
sub edi, ebx
and edx, 1
cmp edx, edi
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
or al, byte [esi + 4]
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi], eax
mov edi, dword [0x1007e3ec]
mov edx, dword [0x1007e3f0]
mov eax, edi
not eax
mov ebx, eax
and ebx, edx
add ebx, ebx
mov ecx, edi
xor ecx, edx
add ecx, ecx
sub ecx, ebx
lea eax, [ecx + eax*2]
and edi, edx
not edi
add edi, edi
sub eax, edi
add eax, 0xe35f3138
cmp dword [esi], eax
mov eax, 0x46a6f531
mov ecx, 0xd86e9080
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000a56c
mov edx, dword [0x1007e244]
mov eax, dword [0x1007e248]
mov ecx, edx
and ecx, eax
mov edi, edx
or edi, eax
not edi
add edi, ecx
mov dword [esi + 4], edi
xor edx, eax
mov dword [esi + 8], edx
mov edx, dword [0x1007e254]
mov ecx, dword [0x1007e258]
mov eax, edx
xor eax, ecx
add eax, edx
add eax, ecx
or edx, ecx
add edx, edx
sub eax, edx
mov ecx, dword [0x10088ce8]
add eax, 0xa
cmp dword [0x10088ce4], eax
setge dh
setl dl
lea edi, [ecx - 1]
imul edi, ecx
mov ebx, dword [0x1007e25c]
mov eax, dword [0x1007e260]
mov dword [esi], eax
mov ecx, ebx
xor ecx, eax
mov eax, ebx
sub eax, ecx
mov ecx, dword [esi]
not ecx
or ecx, ebx
sub eax, ecx
and ebx, dword [esi]
not ebx
add ebx, eax
and edi, 1
cmp edi, ebx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
lea eax, [ecx + eax - 0x2d4a653f]
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
sete al
mov ecx, edx
and cl, al
add cl, dl
and dh, al
add dh, cl
mov ecx, edx
xor cl, al
add cl, dh
or dl, al
add dl, cl
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
test dl, 1
jne 0x10016e20
mov ecx, dword [0x1007e658]
mov edx, dword [0x1007e65c]
mov eax, ecx
or eax, edx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0xd2b59ac0
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov ecx, dword [0x1007e660]
mov edx, dword [0x1007e664]
mov eax, ecx
not eax
and eax, edx
add eax, ecx
or ecx, edx
sub eax, ecx
add eax, 0x62721317
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000a65e
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x21e18892
mov eax, 0xebf6e1b8
mov ecx, 0xb08744e5
cmove eax, ecx
mov edi, dword [0x10088ce0]
cmp dword [0x10088cdc], 0xa
setl cl
mov edx, edi
not edx
add edx, edi
add edx, edi
imul edx, edi
mov edi, dword [0x1007d854]
mov ebx, edi
not ebx
or ebx, edi
mov edi, dword [0x1007d850]
and ebx, edi
sub ebx, edi
and edx, 1
cmp edx, ebx
mov edx, dword [esi + 0xc]
mov dword [edx], eax
sete al
or al, cl
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e414]
mov edx, dword [0x1007e418]
mov edi, ecx
xor edi, edx
mov ebx, ecx
or ebx, edx
not ebx
add ebx, edi
and ecx, edx
add ecx, ebx
add ecx, 0x21e18893
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0xb08744e5
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000a760
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d930]
mov edx, dword [0x1007d934]
mov edi, ecx
not edi
mov ebx, edi
and ebx, edx
add ebx, ebx
xor ecx, edx
sub ecx, ebx
add ecx, edx
add ecx, edi
add ecx, 0x1484abe
cmp eax, ecx
mov eax, 0x63ff8d83
mov ecx, 0xf5c7ae29
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007d938]
mov edx, dword [0x1007d93c]
mov ecx, edx
not ecx
mov edi, eax
and edi, ecx
not eax
and edx, eax
sub edi, edx
sub edi, ecx
mov edx, dword [0x10088cd8]
add eax, edi
add eax, 0xa
cmp dword [0x10088cd4], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1007d940]
mov edi, edx
not edi
or edi, edx
and ecx, 1
not edi
and edi, dword [0x1007d944]
cmp ecx, edi
sete cl
setne dl
mov ah, al
and ah, dl
mov ch, al
or ch, cl
add ch, ah
xor cl, al
not cl
add cl, ch
or al, dl
add al, cl
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [str._CqrZRzf]
mov edx, dword [0x1007e448]
mov edi, ecx
xor edi, edx
mov ebx, ecx
or ebx, edx
not ebx
add ebx, edi
and ecx, edx
add ecx, ebx
add ecx, 0x1484abe
cmp eax, ecx
mov eax, 0x63ff8d83
mov ecx, 0xf5c7ae29
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000a7fd
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [0x1007d200]
mov ecx, dword [0x1007d204]
mov edx, eax
not edx
and edx, ecx
not ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0xa1c653e9
mov dword [edi], eax
mov eax, dword [0x1007d208]
mov ecx, dword [0x1007d20c]
mov edx, eax
not edx
and edx, ecx
not ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
mov ecx, dword [0x10088cd0]
cmp dword [0x10088ccc], eax
setge dl
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
or cl, dl
add cl, al
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov dword [edi], 0xa1c653e8
jmp 0x1000a8ea
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007d250]
mov ecx, dword [0x1007d254]
mov edi, ecx
not edi
mov ebx, edx
and ebx, edi
xor ecx, edx
not ecx
add ecx, ebx
or edi, edx
sub ecx, edi
add ecx, 0x4aec4d17
cmp eax, ecx
mov eax, 0x6fc7539d
mov ecx, 0xfd612383
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
cmp dword [0x10088cc8], 0xa
mov ecx, dword [0x10088cc4]
setge dl
setl dh
lea eax, [ecx + 1]
imul eax, ecx
or al, dh
add al, dl
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x4aec4d17
mov eax, 0x6fc7539d
mov ecx, 0xfd612383
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000a967
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x574b36f5
mov eax, 0x242c3b79
mov ecx, 0x900ebcc1
cmovl eax, ecx
mov dword [ebx], eax
mov eax, dword [0x1007d280]
mov edx, dword [0x1007d284]
mov edi, eax
xor edi, edx
add edi, edx
mov ecx, eax
and eax, edx
not edx
lea edx, [edi + edx*2]
not ecx
add ecx, edx
not eax
add eax, eax
sub ecx, eax
add ecx, 0xb
cmp dword [0x10088cc0], ecx
mov eax, dword [0x10088cbc]
setl cl
mov edx, eax
not edx
add edx, 0xac48e8c2
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e2ec]
mov edx, dword [0x1007e2f0]
mov edi, ecx
not edi
and edi, edx
and ecx, edx
not edx
add edx, edi
add ecx, edx
add ecx, 0x574b36f6
cmp eax, ecx
mov eax, 0x242c3b79
mov ecx, 0x900ebcc1
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x1000a9e7
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi], eax
mov edi, dword [0x1007d2c8]
mov edx, dword [0x1007d2cc]
mov eax, edi
not eax
mov ebx, eax
and ebx, edx
add ebx, ebx
mov ecx, edi
xor ecx, edx
add ecx, ecx
sub ecx, ebx
lea eax, [ecx + eax*2]
and edi, edx
not edi
add edi, edi
sub eax, edi
add eax, 0x7753e25f
cmp dword [esi], eax
mov eax, 0xac60ee70
mov ecx, 0x2185ac45
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007d2d0]
mov ecx, dword [0x1007d2d4]
mov edx, eax
or edx, ecx
not eax
or eax, ecx
not ecx
add ecx, edx
mov edx, dword [0x10088cb8]
add eax, ecx
add eax, 0xc
cmp dword [0x10088cb4], eax
setge al
setl cl
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
sete ah
mov edx, ecx
and dl, ah
and bl, cl
add bl, dl
or cl, ah
add cl, bl
or al, ah
add al, cl
not dl
add dl, al
test dl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e2fc]
mov edi, dword [0x1007e300]
mov edx, edi
not edx
mov ebx, ecx
and ebx, edx
not ecx
and edi, ecx
sub ebx, edi
sub ebx, edx
add ecx, ebx
add ecx, 0x7753e25f
cmp eax, ecx
mov eax, 0xac60ee70
mov ecx, 0x2185ac45
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000aa8b
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d318]
mov edx, dword [0x1007d31c]
mov edi, edx
not edi
or edi, edx
and edi, ecx
sub edi, ecx
add edi, 0x777eec84
cmp eax, edi
mov eax, 0xebf6e1b8
mov ecx, 0xca00581a
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007d320]
mov ecx, dword [0x1007d324]
mov edx, eax
not edx
and edx, ecx
add edx, edx
lea edx, [edx + eax*2]
or eax, ecx
add eax, eax
sub eax, edx
add eax, 0xa
cmp dword [0x10088cb0], eax
mov edi, dword [0x10088cac]
setge al
setl cl
mov edx, edi
not edx
add edx, edi
add edx, edi
imul edx, edi
test dl, 1
sete ah
mov ch, cl
or ch, ah
mov ebx, ecx
xor bl, ah
not bl
add bl, ch
add bl, dl
or al, ah
add al, bl
and cl, ah
not cl
add cl, al
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e30c]
mov edx, ecx
not edx
or edx, ecx
not edx
and edx, dword [0x1007e310]
add edx, 0x777eec84
cmp eax, edx
mov eax, 0xebf6e1b8
mov ecx, 0xca00581a
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000ab6d
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007d340]
mov edi, dword [0x1007d344]
mov ecx, edx
and ecx, edi
not edi
add ecx, edi
or edi, edx
sub ecx, edi
add ecx, 0x7753e25f
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0xbf0b93a4
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007d348]
mov ecx, dword [0x1007d34c]
mov edi, ecx
not edi
and edi, eax
add edi, edi
mov edx, eax
sub edx, edi
mov edi, eax
not edi
or edi, ecx
sub edx, edi
and eax, ecx
mov ecx, dword [0x10088ca8]
not eax
add eax, edx
add eax, 0xa
cmp dword [0x10088ca4], eax
setge al
setl dl
mov edi, ecx
not edi
add edi, ecx
lea ebx, [ecx + edi]
add ebx, 2
imul ebx, ecx
test bl, 1
sete cl
mov ah, dl
xor ah, cl
add ah, dl
or al, cl
add al, ah
add al, 1
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007e314]
mov ecx, dword [0x1007e318]
mov edi, ecx
not edi
mov ebx, edx
and ebx, edi
xor ecx, edx
not ecx
add ecx, ebx
or edi, edx
sub ecx, edi
add ecx, 0x7753e25f
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0xbf0b93a4
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000ac3d
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x69b78b6f
mov eax, 0xebf6e1b8
mov ecx, 0xc7f4b3af
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007d370]
mov ecx, dword [0x1007d374]
mov edx, eax
not edx
and edx, ecx
mov edi, eax
or edi, ecx
mov ebx, eax
and eax, ecx
not ecx
and ebx, ecx
sub ebx, edx
not edi
add edi, ebx
mov ebx, dword [0x10088ca0]
add ecx, ecx
sub edi, ecx
not eax
add eax, edi
add eax, 0xa
cmp dword [0x10088c9c], eax
setge ah
setl al
lea edx, [ebx + 1]
imul edx, ebx
mov ecx, dword [0x1007d378]
mov edi, dword [0x1007d37c]
mov dword [esi], edi
mov ebx, ecx
xor ebx, edi
lea edi, [ecx + ebx*2]
or ecx, dword [esi]
add ecx, ecx
sub edi, ecx
not ebx
add ebx, edi
mov ecx, dword [esi]
add ecx, ebx
add ecx, 1
and edx, 1
cmp edx, ecx
setne dl
sete cl
mov ch, al
or ch, cl
mov dh, al
xor dh, cl
not dh
add dh, ch
or dl, al
add dl, dh
add dl, ah
and al, cl
not al
add al, dl
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x69b78b6f
mov eax, 0xebf6e1b8
mov ecx, 0xc7f4b3af
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000ad19
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d390]
mov edx, dword [0x1007d394]
mov edi, edx
not edi
and edi, ecx
mov ebx, ecx
or ebx, edx
add ebx, edi
xor edx, ecx
not edx
add edx, ebx
not ecx
add ecx, edx
add ecx, 0x6534772a
cmp eax, ecx
mov ecx, 0xff8e08df
mov eax, 0xf225f560
cmovl ecx, eax
mov dword [esi], ecx
mov edi, dword [0x1007d398]
mov edx, dword [0x1007d39c]
mov ecx, edi
or ecx, edx
not ecx
add ecx, edi
not edx
or edx, edi
mov ebx, dword [0x10088c98]
sub ecx, edx
add ecx, 0xa
cmp dword [0x10088c94], ecx
setge ch
setl cl
lea edi, [ebx + 1]
imul edi, ebx
mov edx, dword [0x1007d3a0]
mov eax, dword [0x1007d3a4]
mov ebx, edx
xor ebx, eax
add ebx, eax
or eax, edx
not eax
lea eax, [ebx + eax*2]
not edx
not eax
add eax, edx
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0xc]
mov edx, dword [esi]
mov dword [eax], edx
sete al
or cl, al
or ch, al
add al, cl
not cl
add cl, al
add cl, ch
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x65347728
mov eax, 0xff8e08df
mov ecx, 0xf225f560
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000aded
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007d3b8]
mov ecx, dword [0x1007d3bc]
mov edi, edx
sub edi, ecx
mov ebx, edx
xor ebx, ecx
add edi, ebx
not ebx
lea edi, [edi + ebx*2]
not ecx
or ecx, edx
add ecx, ecx
sub edi, ecx
add edi, 0x65347728
cmp eax, edi
mov eax, 0xebf6e1b8
mov ecx, 0x3b10faf8
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007d3c0]
mov ecx, dword [0x1007d3c4]
mov edx, eax
not edx
and edx, ecx
not ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
mov ecx, dword [0x10088c90]
cmp dword [0x10088c8c], eax
setl al
mov edx, ecx
not edx
add edx, ecx
add edx, ecx
add edx, 0xbea0000e
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e32c]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0x65347729
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x3b10faf8
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000aec3
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x55f1a97f
mov ecx, 0xac48089
mov eax, 0xfda8d2fa
cmovl ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x10088c88]
cmp dword [0x10088c84], 0xa
mov edx, ecx
not edx
lea edi, [ecx + edx]
lea edx, [edx + edi - 1]
setl byte [esi + 4]
imul edx, ecx
mov ecx, dword [0x1007d444]
mov eax, ecx
not eax
mov edi, dword [0x1007d440]
mov ebx, edi
and ebx, eax
add ebx, edi
or ecx, edi
sub ebx, ecx
sub ebx, eax
not edi
add edi, ebx
and edx, 1
cmp edx, edi
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
or al, byte [esi + 4]
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e344]
mov edx, dword [0x1007e348]
mov edi, ecx
not edi
and edi, edx
and ecx, edx
not edx
add edx, edi
add ecx, edx
add ecx, 0x55f1a980
cmp eax, ecx
mov eax, 0xac48089
mov ecx, 0xfda8d2fa
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000af7e
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d458]
or ecx, dword [0x1007d45c]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0x55f1a980
cmp eax, ecx
mov ecx, 0xebf6e1b8
mov eax, 0xb4d2bb68
cmove ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1007d460]
mov edx, dword [0x1007d464]
mov ebx, edx
not ebx
and ebx, ecx
not ecx
or ecx, edx
mov edi, dword [0x10088c80]
add ecx, ebx
mov edx, 9
sub edx, ecx
cmp dword [0x10088c7c], edx
setl byte [esi + 4]
mov edx, edi
and edx, 1
lea edx, [edi + edx*2]
mov ebx, edi
not ebx
add edx, ebx
add edx, ebx
add edx, 0xffffffff
imul edx, edi
mov ecx, dword [0x1007d468]
mov ebx, dword [0x1007d46c]
mov eax, ecx
and eax, ebx
mov edi, ecx
or edi, ebx
not edi
add edi, eax
xor ecx, ebx
lea eax, [ecx + edi]
add eax, 1
and edx, 1
cmp edx, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
or al, byte [esi + 4]
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e34c]
mov edx, dword [0x1007e350]
mov edi, edx
not edi
and edi, ecx
not ecx
or ecx, edx
add ecx, edi
add ecx, 0x55f1a980
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0xb4d2bb68
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000b02c
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007d4d0]
mov edi, dword [0x1007d4d4]
mov ecx, edx
and ecx, edi
not edi
add ecx, edi
or edi, edx
sub ecx, edi
add ecx, 0x4ccb1a40
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x828fd7f5
cmove eax, ecx
mov ecx, dword [0x1007d4d8]
mov edx, dword [0x1007d4dc]
mov edi, edx
not edi
or edi, edx
and edi, ecx
sub edi, ecx
add edi, 0xa
cmp dword [0x10088c78], edi
mov edi, dword [0x10088c74]
setl cl
mov edx, 1
sub edx, edi
imul edx, edi
mov edi, dword [0x1007d4e0]
mov ebx, edi
not ebx
or ebx, edi
mov edi, dword [0x1007d4e4]
and ebx, edi
sub ebx, edi
and edx, 1
cmp edx, ebx
mov edx, dword [esi + 0xc]
mov dword [edx], eax
sete al
or al, cl
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e364]
mov edi, dword [0x1007e368]
mov ebx, ecx
xor ebx, edi
add ebx, edi
mov edx, ecx
and ecx, edi
not edi
lea edi, [ebx + edi*2]
not edx
add edx, edi
not ecx
add ecx, ecx
sub edx, ecx
add edx, 0x4ccb1a41
cmp eax, edx
mov eax, 0xebf6e1b8
mov ecx, 0x828fd7f5
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000b113
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [str.UHnN]
mov edx, dword [0x1007d4fc]
mov edi, ecx
or edi, edx
not edi
lea edi, [ecx + edi*2]
xor ecx, edx
add ecx, edi
add ecx, edx
add ecx, 0x4aec4d19
cmp eax, ecx
mov ecx, 0xebf6e1b8
mov eax, 0x95468c79
cmove ecx, eax
mov dword [esi], ecx
mov edx, dword [0x1007d500]
mov edi, dword [0x1007d504]
mov ecx, edx
and ecx, edi
not edi
add ecx, edi
or edi, edx
mov ebx, dword [0x10088c70]
sub ecx, edi
add ecx, 0xa
cmp dword [0x10088c6c], ecx
setl byte [esi + 4]
mov edx, ebx
not edx
imul edx, ebx
mov eax, dword [0x1007d508]
mov edi, dword [0x1007d50c]
mov ebx, eax
xor ebx, edi
mov ecx, eax
or ecx, edi
sub ebx, ecx
not edi
sub ebx, edi
or edi, eax
add edi, ebx
and edx, 1
cmp edx, edi
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
or al, byte [esi + 4]
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e36c]
mov ebx, dword [0x1007e370]
mov edi, ebx
not edi
mov edx, ecx
and edx, edi
add edx, ecx
or ebx, ecx
sub edx, ebx
sub edx, edi
not ecx
add ecx, edx
add ecx, 0x4aec4d17
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x95468c79
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000b1eb
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d520]
mov edx, dword [0x1007d524]
mov edi, ecx
not edi
and edi, edx
not edx
or edx, ecx
lea ecx, [edi + edx]
add ecx, 0x46d0dfd6
cmp eax, ecx
mov ecx, 0x81656042
mov eax, 0x51216eca
cmovl ecx, eax
cmp dword [0x10088c68], 0xa
mov edi, dword [0x10088c64]
setl byte [esi]
lea edx, [edi - 1]
imul edx, edi
mov edi, dword [0x1007d530]
mov ebx, edi
xor ebx, edi
not ebx
mov eax, dword [str.DMB]
and ebx, eax
xor ebx, edi
xor edi, eax
sub ebx, edi
and edx, 1
cmp edx, ebx
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
setne al
sete cl
mov ah, byte [esi]
mov dl, ah
xor dl, cl
or cl, ah
add cl, ah
not dl
add dl, cl
add dl, al
test dl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x46d0dfd5
mov eax, 0x81656042
mov ecx, 0x51216eca
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000b2cd
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d548]
mov edx, dword [0x1007d54c]
mov edi, ecx
and edi, edx
add edi, edi
mov ebx, ecx
xor ebx, edx
sub edx, edi
not ebx
add ebx, edx
add ecx, ebx
add ecx, 0x47ed2c8a
cmp eax, ecx
mov ecx, 0xdbcb4f2
mov eax, 0x450f77ee
cmovl ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1007d550]
mov edx, dword [0x1007d554]
mov edi, edx
not edi
and edi, ecx
mov ebx, ecx
or ebx, edx
add ebx, edi
xor edx, ecx
not edx
add edx, ebx
mov ebx, dword [0x10088c60]
not ecx
add ecx, edx
add ecx, 0xc
cmp dword [0x10088c5c], ecx
setge ch
setl cl
mov edi, 1
sub edi, ebx
imul edi, ebx
mov edx, dword [0x1007d558]
mov eax, dword [0x1007d55c]
mov ebx, edx
or ebx, eax
not ebx
add ebx, eax
not edx
or edx, eax
sub ebx, edx
and edi, 1
cmp edi, ebx
mov eax, dword [esi + 0xc]
mov edx, dword [esi]
mov dword [eax], edx
sete al
mov edx, ecx
xor dl, al
add dl, al
or cl, al
add cl, dl
add cl, ch
add cl, 1
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x47ed2c89
mov eax, 0xdbcb4f2
mov ecx, 0x450f77ee
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000b379
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d5c0]
mov edi, dword [0x1007d5c4]
mov edx, ecx
not edx
mov ebx, edx
and ebx, edi
or ecx, edi
not ecx
add ecx, ebx
sub ecx, edx
add ecx, 0x47ed2c89
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x1cf96fd1
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007d5c8]
mov ecx, eax
not ecx
or ecx, eax
mov eax, dword [0x10088c58]
not ecx
and ecx, dword [0x1007d5cc]
add ecx, 0xa
cmp dword [0x10088c54], ecx
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x47ed2c89
mov eax, 0xebf6e1b8
mov ecx, 0x1cf96fd1
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000b455
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x476d50b3
mov ecx, 0xebf6e1b8
mov eax, 0x3a34334b
cmove ecx, eax
mov dword [esi], ecx
mov eax, dword [0x10088c50]
mov ecx, dword [0x1007d618]
or ecx, dword [0x1007d61c]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xb
cmp dword [0x10088c4c], ecx
setl byte [esi + 4]
lea ecx, [eax - 1]
imul ecx, eax
mov dword [esi + 8], ecx
mov ecx, dword [0x1007d620]
mov ebx, dword [0x1007d624]
mov edi, ecx
and edi, ebx
mov edx, ecx
not edx
mov eax, edx
and eax, ebx
lea eax, [eax + edi*2]
mov edi, ecx
or edi, ebx
not edi
lea eax, [eax + edi*2]
xor ecx, ebx
add ecx, eax
or edx, ebx
sub ecx, edx
mov eax, dword [esi + 8]
and eax, 1
add ecx, 1
cmp eax, ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
mov ah, byte [esi + 4]
mov cl, ah
and cl, al
mov dl, ah
or dl, al
add cl, dl
not dl
add dl, cl
xor ah, al
not ah
add ah, dl
test ah, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e3a4]
mov edx, dword [0x1007e3a8]
mov edi, edx
not edi
and edi, ecx
not ecx
or ecx, edx
add ecx, edi
mov edx, 0x476d50b2
sub edx, ecx
cmp eax, edx
mov eax, 0xebf6e1b8
mov ecx, 0x3a34334b
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000b4e9
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007d660]
mov ecx, dword [0x1007d664]
mov edi, ecx
not edi
mov ebx, edx
and ebx, edi
xor ecx, edx
not ecx
add ecx, ebx
or edi, edx
sub ecx, edi
add ecx, 0x40b0c0da
cmp eax, ecx
mov ecx, 0xa46a37f3
mov eax, 0x271f4463
cmovl ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [0x10088c48]
cmp dword [0x10088c44], 0xa
setl bl
mov edx, eax
and edx, 1
add edx, edx
mov edi, eax
sub edi, edx
add edi, eax
lea edx, [eax + edi]
add edx, 0xffffffff
imul edx, eax
mov edi, dword [0x1007d670]
mov eax, dword [0x1007d674]
mov dword [esi], eax
mov ecx, edi
or ecx, eax
mov eax, ecx
not eax
shl eax, 2
lea eax, [eax + ecx*2]
mov ecx, edi
xor ecx, dword [esi]
not ecx
add ecx, ecx
sub eax, ecx
and edi, dword [esi]
not edi
add edi, edi
sub eax, edi
and edx, 1
cmp edx, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
sete al
mov ecx, ebx
xor cl, al
mov edx, ebx
or dl, al
add cl, dl
not dl
add dl, cl
and bl, al
not bl
add bl, dl
test bl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e3b4]
mov edx, dword [0x1007e3b8]
mov edi, ecx
and edi, edx
mov ebx, ecx
or ebx, edx
not ebx
add ebx, edi
xor ecx, edx
add ecx, ebx
add ecx, 0x40b0c0db
cmp eax, ecx
mov eax, 0xa46a37f3
mov ecx, 0x271f4463
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000b5cd
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x44b0088b
mov ecx, 0x6aef98f9
mov eax, 0xa0b861ee
cmovl ecx, eax
mov dword [esi + 4], ecx
mov edx, dword [0x1007d690]
mov edi, dword [0x1007d694]
mov ecx, edx
and ecx, edi
not edi
add ecx, edi
or edi, edx
mov ebx, dword [0x10088c40]
sub ecx, edi
add ecx, 0xa
cmp dword [0x10088c3c], ecx
setge cl
setl ch
lea edi, [ebx - 1]
imul edi, ebx
mov eax, dword [0x1007d698]
mov ebx, eax
not ebx
mov edx, dword [0x1007d69c]
mov dword [esi], edx
and ebx, dword [esi]
add ebx, ebx
lea ebx, [ebx + eax*2]
or eax, dword [esi]
add eax, eax
sub eax, ebx
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 4]
mov dword [eax], edi
sete al
mov ah, ch
and ah, al
and cl, al
add cl, ah
add cl, al
or ch, al
add ch, cl
test ch, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x44b0088b
mov eax, 0x6aef98f9
mov ecx, 0xa0b861ee
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000b6c7
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x44b0088b
mov ecx, 0xebf6e1b8
mov eax, 0x7e11b155
cmove ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [0x1007d6b8]
mov ecx, dword [0x1007d6bc]
mov edx, eax
or edx, ecx
not edx
lea edx, [eax + edx*2]
xor eax, ecx
add eax, edx
mov edi, dword [0x10088c38]
add eax, ecx
add eax, 0xc
cmp dword [0x10088c34], eax
setl cl
lea edx, [edi - 1]
imul edx, edi
mov ebx, dword [0x1007d6c4]
mov dword [esi], ebx
not ebx
mov edi, dword [str.a0Ug]
and ebx, edi
add ebx, ebx
mov eax, edi
sub eax, ebx
mov ebx, edi
not ebx
or ebx, dword [esi]
sub eax, ebx
and edi, dword [esi]
not edi
add edi, eax
and edx, 1
cmp edx, edi
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 4]
mov dword [eax], edx
setne al
sete dl
xor dl, cl
add dl, al
or cl, al
add cl, dl
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007e3c4]
mov edi, dword [0x1007e3c8]
mov ecx, edx
xor ecx, edi
add ecx, edx
add ecx, edi
or edx, edi
add edx, edx
sub ecx, edx
add ecx, 0x44b0088b
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x7e11b155
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000b77a
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d6d8]
mov edx, dword [0x1007d6dc]
mov edi, ecx
or edi, edx
not edi
lea edi, [edx + edi*2]
xor edx, ecx
not edx
sub edx, edi
not ecx
add ecx, edx
add ecx, 0x40b0c0da
cmp eax, ecx
mov ecx, 0xebf6e1b8
mov eax, 0xe3b4b3cf
cmove ecx, eax
mov dword [esi], ecx
mov eax, dword [0x1007d6e0]
mov ecx, dword [0x1007d6e4]
mov edx, eax
not edx
and edx, ecx
not ecx
or ecx, eax
mov eax, dword [0x10088c30]
add ecx, edx
add ecx, 0xb
cmp dword [0x10088c2c], ecx
setge byte [esi + 4]
setl byte [esi + 8]
lea ecx, [eax + 1]
imul ecx, eax
mov dword [esi + 0x10], ecx
mov eax, dword [0x1007d6e8]
mov edx, eax
not edx
mov edi, dword [0x1007d6ec]
and edx, edi
mov ebx, eax
or ebx, edi
mov ecx, eax
and eax, edi
not edi
and ecx, edi
sub ecx, edx
not ebx
add ebx, ecx
add edi, edi
sub ebx, edi
not eax
add eax, ebx
mov ecx, dword [esi + 0x10]
and ecx, 1
cmp ecx, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
setne cl
mov dl, byte [esi + 8]
and cl, dl
mov ah, byte [esi + 4]
and ah, al
or ah, cl
mov ecx, edx
xor cl, al
add cl, ah
or dl, al
add dl, cl
test dl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x40b0c0da
mov eax, 0xebf6e1b8
mov ecx, 0xe3b4b3cf
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000b84e
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d700]
mov edx, dword [0x1007d704]
mov edi, ecx
and edi, edx
not ecx
lea ebx, [ecx + ecx]
lea edi, [ebx + edi*2]
or ecx, edx
add ecx, ecx
sub edi, ecx
add edi, 0x3caaf6a8
cmp eax, edi
mov ecx, 0xabdeb8a6
mov eax, 0xc8fa8043
cmovl ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1007d708]
mov edx, dword [0x1007d70c]
mov eax, ecx
and eax, edx
add eax, eax
mov edi, ecx
xor edi, edx
sub edx, eax
not edi
add edi, edx
mov ebx, dword [0x10088c28]
lea eax, [ecx + edi]
add eax, 0xb
cmp dword [0x10088c24], eax
setge ch
setl cl
mov eax, ebx
and eax, 0xfffffffe
add eax, ebx
mov edx, ebx
or edx, 1
add edx, eax
add edx, ebx
mov eax, ebx
not eax
lea edi, [eax + edx]
add edi, 0xffffffff
imul edi, ebx
mov edx, dword [0x1007d710]
mov eax, dword [0x1007d714]
mov ebx, edx
or ebx, eax
not ebx
add ebx, edx
not eax
or eax, edx
sub ebx, eax
and edi, 1
cmp edi, ebx
mov eax, dword [esi + 0xc]
mov edx, dword [esi]
mov dword [eax], edx
sete al
or cl, al
or ch, al
add al, cl
not cl
add cl, al
add cl, ch
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e3d4]
mov edx, dword [0x1007e3d8]
mov ebx, ecx
xor ebx, edx
mov edi, ecx
sub edi, ebx
mov ebx, edx
not ebx
or ebx, ecx
sub edi, ebx
and ecx, edx
not ecx
add ecx, edi
add ecx, 0x3caaf6a8
cmp eax, ecx
mov eax, 0xabdeb8a6
mov ecx, 0xc8fa8043
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000b93f
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x3caaf6a8
mov ecx, 0xebf6e1b8
mov eax, 0x7018a424
cmove ecx, eax
mov dword [esi], ecx
mov ebx, dword [0x10088c20]
mov eax, dword [0x1007d734]
and eax, dword [0x1007d730]
mov edx, eax
not edx
add eax, edx
add eax, 0xb
cmp dword [0x10088c1c], eax
setl dh
setge dl
mov edi, ebx
not edi
add edi, 0x3bf6b590
imul edi, ebx
mov ecx, dword [0x1007d738]
mov ebx, ecx
not ebx
mov eax, dword [0x1007d73c]
and ebx, eax
not eax
or eax, ecx
add eax, ebx
add eax, 1
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
setne al
sete cl
and dl, cl
or cl, dh
not cl
add cl, dl
or al, dh
add al, cl
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007e3dc]
mov edi, dword [0x1007e3e0]
mov ecx, edx
xor ecx, edx
not ecx
and ecx, edi
xor ecx, edx
xor edx, edi
sub ecx, edx
add ecx, 0x3caaf6a8
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x7018a424
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000ba4d
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x2c0edd7c
mov ecx, 0xebf6e1b8
mov eax, 0x1bd8d81a
cmove ecx, eax
mov dword [esi], ecx
mov edi, dword [0x10088c18]
mov ecx, dword [str.xdN_fe]
and ecx, dword [0x1007d75c]
mov edx, ecx
not edx
add edx, edx
lea ecx, [edx + ecx*2]
mov edx, 8
sub edx, ecx
cmp dword [0x10088c14], edx
setl byte [esi + 4]
lea edx, [edi - 1]
imul edx, edi
mov edi, dword [0x1007d760]
mov eax, dword [0x1007d764]
mov ecx, edi
xor ecx, eax
mov ebx, eax
not ebx
or ebx, edi
add ebx, ecx
mov ecx, edi
not ecx
add ecx, ebx
and edi, eax
lea eax, [edi + ecx]
add eax, 2
and edx, 1
cmp edx, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
or al, byte [esi + 4]
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x2c0edd7c
mov eax, 0xebf6e1b8
mov ecx, 0x1bd8d81a
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000bb17
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d7a0]
mov edx, dword [0x1007d7a4]
mov edi, ecx
not edi
and edi, edx
and ecx, edx
not edx
add edx, edi
add ecx, edx
add ecx, 0xee298ef
cmp eax, ecx
mov eax, 0xf20101a9
mov ecx, 0x7da64dce
cmovl eax, ecx
mov dword [ebx], eax
mov eax, dword [0x1007d7a8]
mov ecx, dword [0x1007d7ac]
mov edx, ecx
not edx
and edx, eax
not eax
or eax, ecx
mov edi, dword [0x10088c10]
add eax, edx
add eax, 0xb
cmp dword [0x10088c0c], eax
setge al
setl cl
lea edx, [edi + 1]
imul edx, edi
test dl, 1
sete dl
mov ah, cl
or ah, dl
add ah, dl
xor cl, dl
not cl
add cl, ah
add cl, al
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e3f4]
mov edx, dword [0x1007e3f8]
mov edi, ecx
or edi, edx
not ecx
or ecx, edx
not edx
add edx, edi
add ecx, edx
add ecx, 0xee298f0
cmp eax, ecx
mov eax, 0xf20101a9
mov ecx, 0x7da64dce
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x1000bbc0
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007d7c8]
mov edi, dword [0x1007d7cc]
mov ecx, edx
not ecx
and ecx, edi
add ecx, edx
or edx, edi
sub ecx, edx
add ecx, 0x12a989ca
cmp eax, ecx
mov ecx, 0xf2d60b57
mov eax, 0xd8f562a8
cmovl ecx, eax
mov dword [esi], ecx
mov ebx, dword [0x10088c08]
cmp dword [0x10088c04], 0xa
setl al
setge ah
lea edi, [ebx - 1]
imul edi, ebx
mov edx, dword [0x1007d7dc]
mov ebx, edx
not ebx
mov ecx, dword [0x1007d7d8]
and ebx, ecx
not ecx
or ecx, edx
not ecx
sub ecx, ebx
and edi, 1
cmp edi, ecx
mov ecx, dword [esi + 0xc]
mov edx, dword [esi]
mov dword [ecx], edx
sete cl
mov dl, ah
and dl, cl
mov ch, al
or ch, cl
add ch, dl
xor al, cl
not al
add al, ch
or ah, cl
add ah, al
test ah, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x12a989ca
mov eax, 0xf2d60b57
mov ecx, 0xd8f562a8
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000bc80
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d7f0]
mov edx, dword [0x1007d7f4]
mov ebx, ecx
xor ebx, edx
mov edi, ecx
sub edi, ebx
mov ebx, edx
not ebx
or ebx, ecx
sub edi, ebx
and ecx, edx
not ecx
add ecx, edi
add ecx, 0x1a6e24ce
cmp eax, ecx
mov ecx, 0x67372326
mov eax, 0xa4c60dd8
cmovl ecx, eax
mov dword [esi + 4], ecx
mov edx, dword [0x1007d7f8]
mov edi, dword [0x1007d7fc]
mov ecx, edx
xor ecx, edx
not ecx
and ecx, edi
xor ecx, edx
xor edx, edi
mov edi, dword [0x10088c00]
sub ecx, edx
add ecx, 0xa
cmp dword [0x10088bfc], ecx
setge byte [esi + 8]
lea ebx, [edi + 1]
imul ebx, edi
mov eax, dword [0x1007d800]
mov edx, eax
not edx
mov edi, dword [0x1007d804]
mov dword [esi], edi
mov ecx, edx
and ecx, edi
add ecx, ecx
mov edi, eax
xor edi, dword [esi]
add edi, edi
sub edi, ecx
lea ecx, [edi + edx*2]
and eax, dword [esi]
not eax
add eax, eax
sub ecx, eax
and ebx, 1
cmp ebx, ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
setne al
sete cl
or cl, byte [esi + 8]
add cl, al
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e404]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0x1a6e24cf
cmp eax, ecx
mov eax, 0x67372326
mov ecx, 0xa4c60dd8
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000bd34
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x21e18892
mov ecx, 0x74034a37
mov eax, 0xaf8797e
cmovl ecx, eax
mov dword [esi], ecx
mov edx, dword [0x1007d820]
mov ecx, dword [0x1007d824]
mov edi, ecx
not edi
mov ebx, edx
and ebx, edi
xor ecx, edx
not ecx
add ecx, ebx
or edi, edx
mov ebx, dword [0x10088bf8]
sub ecx, edi
add ecx, 0xa
cmp dword [0x10088bf4], ecx
setl byte [esi + 4]
lea edx, [ebx + 1]
imul edx, ebx
mov eax, dword [0x1007d828]
mov ebx, dword [0x1007d82c]
mov edi, eax
and edi, ebx
add edi, edi
mov ecx, eax
xor ecx, ebx
sub ebx, edi
not ecx
add ecx, ebx
add eax, ecx
add eax, 1
and edx, 1
cmp edx, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
or al, byte [esi + 4]
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi], eax
mov edx, dword [0x1007e40c]
mov edi, dword [0x1007e410]
mov eax, edx
and eax, edi
mov ebx, edi
not ebx
and ebx, edx
mov ecx, eax
sub ecx, ebx
not edx
or edx, edi
sub ecx, edx
not eax
add eax, ecx
add eax, 0x21e18892
cmp dword [esi], eax
mov eax, 0x74034a37
mov ecx, 0xaf8797e
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000be21
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d868]
mov edx, dword [0x1007d86c]
not edx
mov edi, ecx
and edi, edx
sub edi, edx
or edx, ecx
add edx, edi
not ecx
add ecx, edx
add ecx, 0x1a6e24cf
cmp eax, ecx
mov ecx, 0xebf6e1b8
mov eax, 0xf9a46325
cmove ecx, eax
mov dword [esi], ecx
mov ebx, dword [0x10088bf0]
cmp dword [0x10088bec], 0xa
setge ch
setl cl
mov edi, ebx
not edi
add edi, 0xf5534cf8
imul edi, ebx
mov edx, dword [0x1007d878]
mov eax, dword [0x1007d87c]
mov ebx, edx
and ebx, eax
not eax
add ebx, eax
or eax, edx
sub ebx, eax
and edi, 1
cmp edi, ebx
mov eax, dword [esi + 0xc]
mov edx, dword [esi]
mov dword [eax], edx
sete al
mov edx, ecx
or dl, al
add dl, cl
or ch, al
add ch, dl
and cl, al
not cl
add cl, ch
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x1a6e24ce
mov eax, 0xebf6e1b8
mov ecx, 0xf9a46325
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000bef2
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007d8b8]
mov edi, dword [0x1007d8bc]
mov ecx, edx
xor ecx, edi
add ecx, edx
add ecx, edi
or edx, edi
add edx, edx
sub ecx, edx
add ecx, 0xee4fbe1
cmp eax, ecx
mov ecx, 0xdc938545
mov eax, 0x515425f0
cmovl ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1007d8c0]
mov edx, dword [0x1007d8c4]
mov edi, ecx
and edi, edx
not ecx
lea ebx, [ecx + ecx]
lea ebx, [ebx + edi*2]
or ecx, edx
mov edi, dword [0x10088be8]
add ecx, ecx
sub ebx, ecx
add ebx, 0xa
cmp dword [0x10088be4], ebx
setl byte [esi + 4]
mov edx, edi
and edx, 1
add edx, edx
mov ebx, edi
sub ebx, edx
add ebx, edi
lea edx, [edi + ebx]
add edx, 0xffffffff
imul edx, edi
mov edi, dword [0x1007d8cc]
mov eax, edi
not eax
mov ebx, dword [0x1007d8c8]
and eax, ebx
mov ecx, ebx
or ecx, edi
add ecx, eax
xor edi, ebx
not edi
add edi, ecx
not ebx
lea eax, [ebx + edi]
add eax, 2
and edx, 1
cmp edx, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
setne al
sete cl
mov dl, byte [esi + 4]
or cl, dl
or al, dl
add dl, cl
not cl
add cl, dl
add al, cl
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0xee4fbe1
mov eax, 0xdc938545
mov ecx, 0x515425f0
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000bfaa
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0xee4fbe1
mov ecx, 0xebf6e1b8
mov eax, 0x4a97789c
cmove ecx, eax
mov dword [esi + 4], ecx
cmp dword [0x10088be0], 0xa
mov eax, dword [0x10088bdc]
setl byte [esi]
setge byte [esi + 8]
lea edi, [eax - 1]
imul edi, eax
mov edx, dword [0x1007d8f0]
mov ebx, dword [0x1007d8f4]
mov eax, edx
sub eax, ebx
mov ecx, edx
xor ecx, ebx
add eax, ecx
not ecx
lea eax, [eax + ecx*2]
not ebx
or ebx, edx
add ebx, ebx
sub eax, ebx
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
setne al
sete cl
mov ah, byte [esi + 8]
and ah, cl
mov dl, byte [esi]
or cl, dl
add cl, ah
or al, dl
add al, cl
add al, 1
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e434]
mov edx, dword [0x1007e438]
mov edi, ecx
and edi, edx
add edi, edi
mov ebx, ecx
xor ebx, edx
sub edx, edi
not ebx
add ebx, edx
add ecx, ebx
add ecx, 0xee4fbe2
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x4a97789c
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000c097
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007d980]
mov edi, dword [0x1007d984]
mov ecx, edx
or ecx, edi
not ecx
add ecx, edi
not edx
or edx, edi
sub ecx, edx
add ecx, 0xc90b56b
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x433a47a8
cmove eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x1007d988]
mov edx, dword [0x1007d98c]
mov eax, ecx
not eax
and eax, edx
add eax, ecx
or ecx, edx
mov edi, dword [0x10088bd8]
sub eax, ecx
add eax, 0xa
cmp dword [0x10088bd4], eax
setge al
setl cl
lea edx, [edi + 1]
imul edx, edi
and edx, 1
sete ah
and dl, cl
or cl, ah
add cl, dl
or al, ah
add al, cl
add al, 1
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi], eax
mov ecx, dword [0x1007e454]
mov edx, dword [0x1007e458]
mov edi, edx
not edi
and edi, ecx
sub edi, ecx
mov eax, ebx
mov ebx, ecx
or ebx, edx
add edi, ebx
not ebx
add ebx, edi
and ecx, edx
add ecx, ebx
add ecx, 0xc90b56c
mov ebx, eax
cmp dword [esi], ecx
mov eax, 0xebf6e1b8
mov ecx, 0x433a47a8
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1000c15b
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x1484abd
mov eax, 0xebf6e1b8
mov ecx, 0x7f363443
cmove eax, ecx
mov dword [ebx], eax
mov eax, dword [0x1007d9b0]
mov ecx, dword [0x1007d9b4]
mov edi, eax
xor edi, ecx
mov edx, eax
sub edx, edi
mov edi, ecx
not edi
or edi, eax
sub edx, edi
and eax, ecx
not eax
add eax, edx
add eax, 0xa
mov ecx, dword [0x10088bd0]
cmp dword [0x10088bcc], eax
setl al
mov edx, ecx
not edx
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e45c]
mov edx, dword [0x1007e460]
mov edi, ecx
and edi, edx
not edx
and edx, ecx
add edx, edx
lea edx, [edx + edi*2]
add ecx, ecx
sub ecx, edx
add ecx, 0x1484abd
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x7f363443
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1000c227
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d9d0]
mov edx, dword [0x1007d9d4]
mov edi, ecx
xor edi, edx
mov ebx, ecx
or ebx, edx
not ebx
add ebx, edi
and ecx, edx
add ecx, ebx
add ecx, 0xf03baa78
cmp eax, ecx
mov eax, 0xf109bd46
mov ecx, 0x38861d99
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov edx, dword [0x10088bc8]
cmp dword [0x10088bc4], 0xa
setge al
setl cl
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
or ah, dl
add ah, dl
xor cl, dl
not cl
add cl, ah
add cl, al
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0xf03baa77
mov eax, 0xf109bd46
mov ecx, 0x38861d99
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000c2c6
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007d9f8]
mov edx, dword [0x1007d9fc]
mov edi, ecx
and edi, edx
not edx
and edx, ecx
add edx, edx
lea edx, [edx + edi*2]
add ecx, ecx
sub ecx, edx
add ecx, 0xf03baa77
cmp eax, ecx
mov ecx, 0xebf6e1b8
mov eax, 0xd50d1e42
cmove ecx, eax
mov dword [esi], ecx
mov edi, dword [0x10088bc0]
cmp dword [0x10088bbc], 0xa
setl al
lea edx, [edi - 1]
imul edx, edi
mov ecx, dword [0x1007da08]
mov ebx, dword [0x1007da0c]
mov edi, ecx
and edi, ebx
not ebx
add edi, ebx
or ebx, ecx
sub edi, ebx
and edx, 1
cmp edx, edi
mov ecx, dword [esi + 0xc]
mov edx, dword [esi]
mov dword [ecx], edx
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
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0xf03baa77
mov eax, 0xebf6e1b8
mov ecx, 0xd50d1e42
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000c358
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007da20]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xe35f3139
cmp eax, ecx
mov ecx, 0xebf6e1b8
mov eax, 0x6681e2cf
cmove ecx, eax
mov dword [esi], ecx
mov ecx, dword [str.qi]
mov edx, dword [0x1007da2c]
not edx
mov edi, ecx
and edi, edx
sub edi, edx
or edx, ecx
add edx, edi
not ecx
add ecx, edx
add ecx, 0xb
cmp dword [0x10088bb8], ecx
mov edi, dword [0x10088bb4]
setl cl
lea edx, [edi + 1]
imul edx, edi
mov eax, dword [0x1007da30]
mov ebx, dword [0x1007da34]
mov edi, eax
or edi, ebx
not edi
lea edi, [eax + edi*2]
xor eax, ebx
add eax, edi
add eax, ebx
add eax, 2
and edx, 1
cmp edx, eax
mov eax, dword [esi + 0xc]
mov edx, dword [esi]
mov dword [eax], edx
setne al
sete dl
mov ah, cl
and ah, dl
or dl, cl
add dl, ah
add dl, al
or cl, al
add cl, dl
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007e474]
mov edi, dword [0x1007e478]
mov ecx, edx
and ecx, edi
not edi
add ecx, edi
or edi, edx
sub ecx, edi
add ecx, 0xe35f3138
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x6681e2cf
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000c408
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0xb3c4abd9
mov eax, 0x12d26dff
mov ecx, 0xee1e03ef
cmovl eax, ecx
mov ecx, dword [0x10088bb0]
cmp dword [0x10088bac], 0xa
setl byte [esi]
mov edx, ecx
not edx
mov ebx, edx
and ebx, 0x7ffffffe
add ebx, ebx
mov edi, ecx
sub edi, ebx
add edi, ecx
add edx, edi
add edx, 0xdd675efc
imul edx, ecx
mov ecx, dword [0x1007da58]
mov edi, ecx
not edi
mov ebx, dword [0x1007da5c]
and edi, ebx
not ebx
or ebx, ecx
lea ecx, [edi + ebx]
add ecx, 1
and edx, 1
cmp edx, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
sete al
or al, byte [esi]
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e480]
mov edx, ecx
not edx
or edx, ecx
mov ecx, dword [0x1007e47c]
and edx, ecx
sub edx, ecx
add edx, 0xb3c4abd9
cmp eax, edx
mov eax, 0x12d26dff
mov ecx, 0xee1e03ef
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000c4e6
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0xde58570c
mov eax, 0xec42ddfb
mov ecx, 0x8747413a
cmovl eax, ecx
mov dword [edi], eax
cmp dword [0x10088ba8], 0xa
mov ecx, dword [0x10088ba4]
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
add dl, cl
mov ah, al
xor ah, cl
add ah, dl
or al, cl
add al, ah
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e48c]
mov edx, ecx
not edx
or edx, ecx
mov ecx, dword [0x1007e490]
and edx, ecx
sub edx, ecx
add edx, 0xde58570c
cmp eax, edx
mov eax, 0xec42ddfb
mov ecx, 0x8747413a
cmovl eax, ecx
mov dword [edi], eax
jmp 0x1000c597
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007dac0]
mov edx, dword [0x1007dac4]
mov edi, ecx
or edi, edx
sub edi, edx
sub edi, edx
add edi, edx
not ecx
or ecx, edx
add ecx, edi
add ecx, 0xde58570d
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0xfd20ef5
cmove eax, ecx
cmp dword [0x10088ba0], 0xa
mov edi, dword [0x10088b9c]
setl cl
lea edx, [edi + 1]
imul edx, edi
mov edi, dword [0x1007dad0]
and edi, dword [0x1007dad4]
mov ebx, edi
not ebx
add ebx, ebx
lea edi, [ebx + edi*2]
and edx, 1
xor edi, 0xfffffffe
cmp edx, edi
mov edx, dword [esi + 0xc]
mov dword [edx], eax
sete al
or al, cl
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e494]
xor ecx, dword [0x1007e498]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xde58570d
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0xfd20ef5
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000c616
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0xd2b59ac0
mov eax, 0xebf6e1b8
mov ecx, 0x15893b6e
cmove eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x1007db40]
mov edx, dword [0x1007db44]
mov eax, ecx
or eax, edx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
mov ecx, dword [0x10088b98]
add eax, 0xa
cmp dword [0x10088b94], eax
setl al
mov edx, ecx
not edx
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e4ac]
mov edx, dword [0x1007e4b0]
not edx
mov edi, ecx
and edi, edx
sub edi, edx
or edx, ecx
add edx, edi
not ecx
add ecx, edx
add ecx, 0xd2b59ac1
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x15893b6e
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1000c6c5
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007db60]
mov edi, dword [0x1007db64]
mov ecx, edx
xor ecx, edi
add ecx, edx
add ecx, edi
or edx, edi
add edx, edx
sub ecx, edx
add ecx, 0xb3c4abd9
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0x44d4174a
cmove eax, ecx
mov edi, dword [0x10088b90]
cmp dword [0x10088b8c], 0xa
setl byte [esi]
mov edx, 1
sub edx, edi
imul edx, edi
mov edi, dword [0x1007db70]
mov ebx, edi
xor ebx, edi
not ebx
mov ecx, dword [0x1007db74]
and ebx, ecx
xor ebx, edi
xor edi, ecx
sub ebx, edi
and edx, 1
cmp edx, ebx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
sete al
or al, byte [esi]
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0xb3c4abd9
mov eax, 0xebf6e1b8
mov ecx, 0x44d4174a
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000c75c
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi], eax
mov edx, dword [0x1007db88]
mov edi, dword [0x1007db8c]
mov eax, edx
and eax, edi
mov ebx, edi
not ebx
and ebx, edx
mov ecx, eax
sub ecx, ebx
not edx
or edx, edi
sub ecx, edx
not eax
add eax, ecx
add eax, 0xaeeed343
cmp dword [esi], eax
mov ecx, 0x60016b18
mov eax, 0x7bbf30a0
cmovl ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1007db90]
mov edx, dword [0x1007db94]
mov edi, ecx
xor edi, edx
mov ebx, ecx
or ebx, edx
not ebx
add ebx, edi
and ecx, edx
mov edi, dword [0x10088b88]
add ecx, ebx
add ecx, 0xb
cmp dword [0x10088b84], ecx
setl byte [esi + 4]
lea edx, [edi - 1]
imul edx, edi
mov edi, dword [0x1007db9c]
mov ebx, edi
not ebx
mov eax, dword [0x1007db98]
mov ecx, eax
and ecx, ebx
xor edi, eax
not edi
add edi, ecx
or ebx, eax
sub edi, ebx
and edx, 1
cmp edx, edi
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
or al, byte [esi + 4]
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e4bc]
mov edx, dword [0x1007e4c0]
mov edi, ecx
or edi, edx
not edi
lea edi, [ecx + edi*2]
xor ecx, edx
add ecx, edi
add ecx, edx
add ecx, 0xaeeed345
cmp eax, ecx
mov eax, 0x60016b18
mov ecx, 0x7bbf30a0
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000c7fa
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007dbb0]
mov edx, dword [0x1007dbb4]
mov edi, edx
not edi
and edi, ecx
sub edi, ecx
mov ebx, ecx
or ebx, edx
add edi, ebx
not ebx
add ebx, edi
and ecx, edx
add ecx, ebx
add ecx, 0xb20b83e2
cmp eax, ecx
mov eax, 0xcecb0164
mov ecx, 0x87762c13
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007dbb8]
mov ecx, dword [0x1007dbbc]
mov edx, eax
and edx, ecx
not ecx
and ecx, eax
add ecx, ecx
lea ecx, [ecx + edx*2]
add eax, eax
sub eax, ecx
mov edx, dword [0x10088b80]
add eax, 0xa
cmp dword [0x10088b7c], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
mov ah, al
and ah, dl
or dl, al
add dl, ah
add dl, cl
or al, cl
add al, dl
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov edx, dword [0x1007e4c4]
mov edi, dword [0x1007e4c8]
mov ecx, edx
and ecx, edi
not edi
add ecx, edi
or edi, edx
sub ecx, edi
add ecx, 0xb20b83e1
cmp eax, ecx
mov eax, 0xcecb0164
mov ecx, 0x87762c13
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000c8e4
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007dc00]
mov edx, dword [0x1007dc04]
mov edi, ecx
xor edi, edx
add edi, ecx
mov ebx, ecx
or ebx, edx
sub edi, ebx
not ecx
or ecx, edx
add ecx, edi
add ecx, 0xaeeed344
cmp eax, ecx
mov edx, 0xebf6e1b8
mov eax, 0xb2a1e308
cmove edx, eax
mov eax, dword [0x10088b78]
cmp dword [0x10088b74], 0xa
setl byte [esi]
setge byte [esi + 4]
lea edi, [eax + 1]
imul edi, eax
mov ecx, dword [0x1007dc10]
mov eax, dword [0x1007dc14]
mov ebx, ecx
or ebx, eax
not ebx
lea ebx, [eax + ebx*2]
xor eax, ecx
not eax
sub eax, ebx
not ecx
add ecx, eax
and edi, 1
cmp edi, ecx
mov eax, dword [esi + 0xc]
mov dword [eax], edx
setne al
sete cl
mov ah, byte [esi + 4]
and ah, cl
mov dl, byte [esi]
or cl, dl
add cl, ah
or al, dl
add al, cl
add al, 1
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007e4d4]
mov edx, dword [0x1007e4d8]
mov edi, ecx
xor edi, edx
mov ebx, ecx
or ebx, edx
sub edi, ebx
not edx
sub edi, edx
or edx, ecx
lea ecx, [edi + edx]
add ecx, 0xaeeed343
cmp eax, ecx
mov eax, 0xebf6e1b8
mov ecx, 0xb2a1e308
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000c9b1
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [0x1007dc28]
mov edx, dword [0x1007dc2c]
mov edi, ecx
xor edi, edx
mov ebx, edx
not ebx
or ebx, ecx
add ebx, edi
mov edi, ecx
not edi
add edi, ebx
and ecx, edx
add ecx, edi
add ecx, 0x882b1fb8
cmp eax, ecx
mov ecx, 0x9689abd6
mov eax, 0xddf25efa
cmovl ecx, eax
mov dword [esi], ecx
mov edx, dword [0x1007dc30]
mov edi, dword [0x1007dc34]
mov ecx, edx
or ecx, edi
not ecx
add ecx, edi
not edx
or edx, edi
mov ebx, dword [0x10088b70]
sub ecx, edx
add ecx, 0xa
cmp dword [0x10088b6c], ecx
setge dh
setl dl
mov edi, ebx
not edi
add edi, 0x8f1cc122
imul edi, ebx
mov ebx, dword [0x1007dc38]
mov ecx, dword [0x1007dc3c]
mov dword [esi + 4], ecx
mov eax, ebx
and eax, ecx
not ebx
lea ecx, [ebx + ebx]
lea eax, [ecx + eax*2]
or ebx, dword [esi + 4]
add ebx, ebx
sub eax, ebx
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
mov ecx, edx
or cl, al
add cl, al
xor dl, al
not dl
add dl, cl
add dl, dh
test dl, 1
jne 0x10016e20
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, 0x882b1fb6
mov eax, 0x9689abd6
mov ecx, 0xddf25efa
cmovl eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000ca8c
mov eax, dword [0x1007dcd0]
mov ecx, dword [0x1007dcd4]
mov edx, eax
or edx, ecx
mov edi, edx
not edi
lea edx, [edx + edi*2]
mov edi, dword [0x10088b68]
not ecx
or ecx, eax
sub ecx, edx
not eax
add eax, ecx
add eax, 0xa
cmp dword [0x10088b64], eax
setge al
setl ah
mov edx, edi
not edx
add edx, edi
add edx, edi
imul edx, edi
mov edi, dword [0x1007dcd8]
mov ebx, edi
not ebx
mov ecx, dword [0x1007dcdc]
and ebx, ecx
and edi, ecx
not ecx
add ecx, ebx
add ecx, edi
add ecx, 1
and edx, 1
cmp edx, ecx
mov ecx, dword [0x1007dcc8]
mov edx, ecx
not edx
lea ecx, [ecx + edx + 0x62721318]
mov edx, dword [esi + 0xc]
mov dword [edx], ecx
sete cl
setne dl
and dl, ah
or ah, cl
add ah, dl
or al, cl
add al, ah
add al, 1
test al, 1
jne 0x10016e20
mov eax, dword [0x1007e4fc]
mov ecx, dword [0x1007e500]
mov edx, eax
or edx, ecx
not edx
lea edx, [ecx + edx*2]
xor ecx, eax
not ecx
sub ecx, edx
not eax
add eax, ecx
add eax, 0x62721317
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000cb6f
mov eax, dword [esi + 0x9c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [esi + 8], eax
mov edi, dword [0x1007d0a4]
mov edx, dword [0x1007d0a8]
mov dword [esi], edx
mov ecx, edi
not ecx
mov dword [esi + 0x10], ecx
mov eax, ecx
and eax, edx
add eax, ecx
add eax, edx
mov ebx, ecx
xor ebx, edx
add ebx, eax
or ecx, edx
mov dword [esi + 0x14], ecx
sub ebx, ecx
sub ebx, ecx
mov ecx, edx
not ecx
mov dword [esi + 4], ecx
mov edx, edi
and edx, ecx
mov dword [esi + 0x24], edx
mov eax, edi
xor eax, ecx
lea ecx, [edx + edi]
sub ecx, eax
mov eax, edi
mov edx, dword [esi]
or eax, edx
mov dword [esi + 0x1c], eax
sub ecx, eax
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], edi
and edi, edx
mov dword [esi + 0x38], edi
lea ecx, [edi + edi]
mov eax, dword [esi + 0x24]
sub ecx, eax
not eax
add eax, dword [esi + 0x28]
mov edx, ebx
mov edi, ebx
xor edi, ebx
not edi
and edi, eax
xor edi, ebx
xor ebx, eax
sub edi, ebx
or eax, edx
add eax, edi
lea edi, [eax + eax*2]
add eax, eax
sub eax, edi
lea edi, [eax + eax]
not eax
add eax, edi
mov edx, 0x8f9beb63
sub edx, eax
sub ecx, dword [esi + 0x14]
mov edi, dword [esi + 0x2c]
xor edi, dword [esi]
mov eax, dword [esi + 0x1c]
not eax
lea ebx, [eax + edi*2]
mov eax, dword [esi + 0x38]
not eax
add ecx, eax
sub ebx, eax
or ebx, ecx
mov eax, ebx
neg eax
mov ecx, edx
and ecx, eax
add ecx, ecx
mov edi, edx
sub edi, ecx
add ebx, ebx
sub edi, ebx
xor eax, edx
not eax
add eax, edi
lea edi, [eax + edx]
lea ecx, [edx + eax]
add ecx, 1
mov eax, ecx
or eax, 0x8f9beb64
lea edx, [edi + eax*2]
add edx, 1
not eax
lea eax, [edx + eax*4]
mov edi, ecx
xor ecx, 0x7064149b
add ecx, ecx
sub eax, ecx
not edi
add edi, edi
or edi, 0xe0c82936
sub eax, edi
mov ecx, dword [esi + 4]
add ecx, ecx
mov ebx, dword [esi]
add ecx, ebx
add ecx, 1
mov edx, ecx
or ecx, 0x8531b91
mov edi, ecx
not edi
add edi, ecx
and edx, 0x8531b91
lea ecx, [edx + edi]
add ecx, 1
mov edx, ebx
and edx, 0xf7ace46e
mov edi, ebx
and edi, 0x8531b91
lea edx, [edx + edi*2]
mov edi, ebx
add ebx, ebx
sub ebx, edx
or ebx, ecx
xor ebx, 0xf7ace46e
lea ecx, [eax + 0x7064149c]
mov edx, ecx
not edx
and edx, ebx
lea eax, [eax + edx*2]
add eax, 0x7064149c
add eax, ebx
or ebx, ecx
add ebx, ebx
sub ebx, eax
mov eax, dword [esi + 4]
lea eax, [edi + eax*2]
add eax, 1
mov ecx, eax
and ecx, 0xc337c9a3
mov edx, eax
xor edx, 0xc337c9a3
add edx, ecx
not eax
or eax, 0xc337c9a3
add eax, edx
add eax, ecx
add eax, 0x3cc8365e
and edi, 0x3cc8365c
mov ecx, eax
or ecx, edi
not edi
mov edx, eax
and edx, edi
add edx, ecx
sub edx, edi
or edi, eax
add edi, edx
sub edi, eax
mov eax, edi
xor eax, 0x3cc8365c
xor edi, 0xc337c9a3
add eax, edi
add eax, edi
add eax, 1
mov edi, dword [esi + 0x10]
mov edx, edi
and edx, eax
mov ecx, edi
xor ecx, eax
add ecx, edx
mov edx, edi
or edx, eax
sub ecx, edx
not eax
sub ecx, eax
or eax, edi
add eax, ecx
mov ecx, eax
not ecx
add ecx, ecx
add eax, ecx
add eax, 1
add ebx, 0xd47d2188
mov ecx, ebx
or ecx, eax
not ecx
add ecx, ecx
mov edx, ebx
sub edx, ecx
xor eax, ebx
not eax
add eax, edx
not ebx
add ebx, eax
mov eax, ebx
not eax
and eax, 0x2b82de78
add eax, ebx
or ebx, 0xd47d2187
add ebx, eax
imul eax, ebx, 0xc56b20cf
lea ecx, [eax - 0x5bcbfc29]
not ecx
lea edx, [eax + eax]
add edx, 0x486807ae
mov eax, ecx
sub eax, edx
add ecx, ecx
sub eax, ecx
lea ecx, [eax - 1]
mov edx, ecx
and edx, 0x43563ffa
add edx, eax
add edx, 0xffffffff
neg eax
and eax, 0xbca9c005
add eax, edx
xor ecx, 0xbca9c005
sub eax, ecx
imul eax, eax, 0x66ca19d1
lea ecx, [eax + 0x1c484115]
not ecx
mov edx, ecx
and edx, 0x1e75b596
add eax, edx
add eax, 0x1c484115
or ecx, 0xe18a4a69
sub eax, ecx
lea ecx, [eax - 0x3ceb6b2e]
xor ecx, 0xe3b7beeb
lea ecx, [ecx + eax*2]
add ecx, 0x862929a4
add eax, eax
add eax, 0x862929a4
or eax, 0xc76f7dd6
sub ecx, eax
lea eax, [ecx - 0x3890822a]
mov edx, eax
and edx, 0x618a4a69
lea ecx, [ecx + edx*2]
add ecx, 0xc76f7dd6
not eax
lea ecx, [ecx + eax*2]
add eax, eax
or eax, 0xc31494d2
sub ecx, eax
add ecx, 0x1e75b597
cmp dword [esi + 8], ecx
mov ecx, 0xaeeed343
mov eax, 0xd2b59ac0
cmove ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1007dd18]
mov dword [esi + 4], ecx
mov edx, dword [0x1007dd1c]
mov eax, edx
not eax
and eax, ecx
mov edi, ecx
or edi, edx
add edi, eax
xor edx, ecx
not edx
add edx, edi
mov dword [esi + 8], edx
mov ebx, dword [0x1007dd20]
mov edi, dword [0x1007dd24]
mov eax, ebx
or eax, edi
not eax
add eax, ebx
not edi
or edi, ebx
sub eax, edi
add eax, 0xa
cmp dword [0x10088b60], eax
setge bh
setl bl
mov eax, dword [0x10088b5c]
lea edi, [eax - 1]
imul edi, eax
mov edx, dword [0x1007dd28]
mov eax, dword [0x1007dd2c]
mov ecx, edx
xor ecx, eax
add ecx, eax
or eax, edx
not eax
lea eax, [ecx + eax*2]
not edx
not eax
add eax, edx
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0x20]
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [esi + 4]
not eax
mov ecx, dword [esi + 8]
lea eax, [eax + ecx + 0x62721319]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
sete al
or bl, al
or bh, al
add al, bl
not bl
add bl, al
add bl, bh
test bl, 1
jne 0x10016e20
mov eax, dword [esi + 0x9c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [esi + 0x28], eax
mov edx, dword [0x1007d0a4]
mov dword [esi], edx
mov eax, dword [0x1007d0a8]
mov dword [esi + 0x10], eax
not eax
mov ecx, edx
and ecx, eax
add ecx, edx
mov ebx, edx
xor ebx, eax
lea ecx, [ecx + ebx*2]
mov edi, edx
or edi, eax
mov dword [esi + 0x2c], edi
sub ecx, edi
sub ecx, edi
not ebx
add ebx, ecx
mov dword [esi + 4], ebx
mov edx, dword [esi + 0x10]
mov ecx, edx
or ecx, eax
mov dword [esi + 0x1c], ecx
mov ecx, eax
and ecx, 0xc337c9a3
mov ebx, edx
xor ebx, 0x3cc8365c
add ebx, ecx
lea edi, [eax + eax]
mov dword [esi + 0x54], edi
lea edi, [edx + eax*2]
add edi, 1
mov dword [esi + 0x38], edi
or eax, 0x3cc8365c
add eax, ebx
add eax, edx
add eax, ecx
add eax, 2
mov dword [esi + 8], eax
mov edi, dword [esi]
mov eax, edi
not eax
mov dword [esi + 0x24], eax
mov ecx, eax
and ecx, edx
and edi, edx
mov ebx, eax
or ebx, edx
mov dword [esi + 0x48], ebx
sub dword [esi + 4], edx
mov eax, dword [esi]
xor eax, edx
add eax, edx
mov ebx, dword [esi]
or ebx, edx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x44], edx
and edx, 0x3cc8365c
or edx, dword [esi + 8]
xor edx, 0xc337c9a3
mov ebx, dword [esi + 0x24]
mov dword [esi + 8], ebx
mov ebx, dword [esi + 8]
or ebx, dword [esi]
mov dword [esi + 8], ebx
and dword [esi + 8], edx
mov ebx, dword [esi + 0x24]
or edx, ebx
mov dword [esi + 0x10], edx
mov edx, ebx
and edx, dword [esi + 0x1c]
sub edx, edi
mov ebx, dword [esi + 0x14]
not ebx
mov dword [esi + 0x14], ebx
add eax, ebx
mov ebx, dword [esi + 0x48]
sub eax, ebx
not ebx
add ebx, edx
sub ebx, dword [esi + 0x54]
not ecx
add ecx, ebx
mov edx, ecx
or edx, dword [esi + 4]
mov ebx, ecx
xor ebx, dword [esi + 4]
add ebx, edx
mov edx, dword [esi + 4]
not edx
or edx, ecx
add edx, ebx
mov ebx, dword [esi + 4]
and ebx, ecx
not ecx
add ecx, edx
lea edx, [ecx + ebx]
add ebx, ecx
add ebx, 2
lea ecx, [edx + edx]
add ecx, 4
sub ebx, ecx
add edi, dword [esi]
add edi, dword [esi + 0x14]
sub edi, dword [esi + 0x2c]
mov ecx, edi
xor ecx, eax
add ecx, eax
or eax, edi
mov edx, eax
sub edx, ecx
not eax
add eax, eax
sub edx, eax
not edi
add edi, edx
not ebx
sub ebx, edi
mov ecx, dword [esi + 0x38]
mov eax, ecx
not eax
or eax, ecx
and eax, 0x8531b91
or ecx, 0xf7ace46e
add eax, ecx
add eax, 1
mov ecx, dword [esi + 0x1c]
and ecx, 0xf7ace46e
mov edx, dword [esi + 0x44]
or edx, 0x8531b91
add ecx, edx
add ecx, 1
mov edx, eax
xor edx, ecx
mov edi, ecx
sub edi, edx
or eax, ecx
add eax, edi
add eax, edx
sub eax, ecx
xor eax, 0xf7ace46e
sub ebx, eax
mov ecx, dword [esi + 0x10]
not ecx
add ecx, dword [esi + 8]
mov eax, dword [esi]
sub eax, ecx
lea eax, [eax + ebx*2]
add eax, 0xa8fa4314
add ebx, 0xd47d218a
sub eax, ebx
lea ecx, [eax - 1]
mov edx, ecx
or edx, 0x2b82de78
mov edi, ecx
sub edi, edx
not edx
add edx, edx
sub edi, edx
or ecx, 0xd47d2187
add ecx, edi
sub ecx, eax
imul eax, ecx, 0xc56b20cf
mov ecx, 0x21371cf8
sub ecx, eax
and ecx, 0x43563ffa
sub ecx, eax
add eax, 0xdec8e307
or eax, 0xbca9c005
add eax, ecx
imul eax, eax, 0x66ca19d1
lea ecx, [eax - 0x516ac6a2]
mov edx, ecx
xor edx, 0xe18a4a69
add eax, edx
add eax, 0xae95395e
not ecx
add eax, ecx
add ecx, ecx
or ecx, 0x3ceb6b2c
sub eax, ecx
lea ecx, [eax - 1]
mov edx, ecx
and edx, 0x1c484114
lea edx, [edx + eax*2]
add edx, 0xfffffffe
or ecx, 0xe3b7beeb
sub edx, ecx
sub edx, eax
add edx, 0xe5e5336e
cmp dword [esi + 0x28], edx
mov eax, 0xaeeed343
mov ecx, 0xd2b59ac0
cmove eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov ecx, dword [0x1007e50c]
mov edx, dword [0x1007e510]
mov eax, ecx
or eax, edx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0x62721317
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000cc2e
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + ecx]
mov eax, ecx
mov edi, ecx
sub eax, edx
mov ebx, edx
mov dword [esi], edx
not eax
imul eax, eax, 0xc44ffe6f
lea ecx, [eax - 0x3c788191]
mov edx, ecx
or edx, 0xbf08a38d
add eax, edx
add eax, 0xc3877e6f
not ecx
or ecx, 0xbf08a38d
add ecx, eax
imul eax, ecx, 0x422d208f
add eax, 0x5e1f24cc
mov dword [esi + 0x2c], eax
mov eax, edi
shr eax, 0x10
mov dword [esi + 0x28], eax
mov ecx, edi
shr ecx, 0x1f
mov dword [esi + 4], ecx
mov eax, 0x1c83b78e
add eax, 0x43a6554d
mov edi, eax
and edi, ebx
mov edx, 0xffffffff
and edx, ecx
shld edx, edi, 1
mov dword [esi + 8], edx
add edi, edi
mov edx, 0xaa00a916
add edx, 0xf5d54a0e
mov ecx, 0
adc ecx, 0xffffffff
mov ebx, edx
sub ebx, edi
mov edi, ecx
sbb edi, dword [esi + 8]
add ebx, dword [esi]
adc edi, dword [esi + 4]
xor ecx, dword [esi + 4]
xor edx, dword [esi]
add edx, ebx
adc ecx, edi
add edx, dword [esi]
adc ecx, dword [esi + 4]
add edx, eax
mov edi, 0xffffffff
adc ecx, edi
add edx, 1
adc ecx, 0
mov ebx, ecx
and ebx, edi
and eax, edx
add eax, edx
adc ebx, ecx
not edx
mov edi, edx
and edi, 0x9fd5f324
sub eax, edi
sbb ebx, 0
mov edi, 0x1c83b78e
add eax, edi
mov edi, 0xffffffff
adc ebx, edi
mov edi, 0xaa00a916
add eax, edi
mov edi, ebx
adc edi, 0
add eax, edx
not ecx
adc edi, ecx
add eax, 0x397b9f5d
adc edi, 0
mov ecx, eax
and ecx, 0x146dd6f
not eax
and eax, 0xfeb92290
sub ecx, eax
sbb edi, 0
mov eax, 0xc085ae6a
add ecx, eax
mov eax, 1
adc edi, eax
add ecx, 0x3cec96b6
adc edi, 0
mov eax, ecx
and eax, 0xffff7fff
add eax, ecx
mov edx, edi
adc edx, edi
mov ebx, ecx
xor ebx, 0xffff7fff
add ebx, eax
not edi
adc edi, edx
or ecx, 0xffff7fff
sub ebx, ecx
sbb edi, 0xffffffff
mov eax, edi
mov ecx, 0x1c83b78e
add ebx, ecx
mov dword [esi + 0x10], ebx
mov ecx, 0xffffffff
adc eax, ecx
mov dword [esi + 0x14], eax
mov edx, dword [ebp + 0xc]
mov ecx, edx
not ecx
mov dword [esi + 4], ecx
add edx, ecx
mov edi, 0
adc edi, 0xffffffff
add edx, ecx
adc edi, 0xffffffff
add edx, 1
adc edi, 0
mov eax, edx
mov dword [esi], edx
and eax, 0xd5acc70b
xor ecx, ecx
mov ebx, 0xaa00a916
add ebx, 0x2bac1df5
setb cl
or ecx, edi
or ebx, edx
sub eax, ebx
mov edx, 0
sbb edx, ecx
not ecx
not ebx
shld ecx, ebx, 1
add ebx, ebx
sub eax, ebx
sbb edx, ecx
mov dword [esi + 8], edx
mov ecx, edi
mov edx, 0xffffffff
or ecx, edx
mov edx, 0x1c83b78e
lea ebx, [edx + 0xdcf8166]
mov edx, dword [esi]
or edx, ebx
add edx, eax
adc ecx, dword [esi + 8]
mov eax, dword [esi]
not eax
add eax, edx
mov dword [esi], eax
not edi
adc edi, ecx
mov dword [esi + 0x1c], edi
mov edi, dword [ebp + 0xc]
mov edx, edi
and edx, ebx
mov eax, edi
and eax, 0xd5acc70b
sub edx, eax
mov ecx, 0
sbb ecx, ecx
mov eax, edi
xor eax, ebx
add edx, eax
mov edi, 0xffffffff
adc ecx, edi
not eax
add eax, edx
adc ecx, dword [esi + 0x44]
or ebx, dword [esi + 4]
sub eax, ebx
sbb ecx, 0xffffffff
mov edi, dword [esi + 0x1c]
mov ebx, edi
not ebx
mov edx, dword [esi]
not edx
and ebx, ecx
and edx, eax
mov dword [esi + 8], edi
or dword [esi + 8], ecx
mov edi, dword [esi]
or edi, eax
add edi, edx
adc dword [esi + 8], ebx
mov ebx, dword [esi + 0x1c]
and ebx, ecx
mov edx, dword [esi]
and edx, eax
not eax
add eax, edi
not ecx
adc ecx, dword [esi + 8]
add eax, edx
adc ecx, ebx
add eax, 1
adc ecx, 0
mov edi, ecx
mov edx, 0xffffffff
and edi, edx
mov dword [esi + 8], edi
mov edx, 0x1c83b78e
add edx, 0xdd00166
and edx, eax
mov dword [esi + 0x1c], edx
xor ebx, ebx
mov edx, 0xaa00a916
add edx, 0x2bab9df5
mov dword [esi], edx
setb bl
mov edi, ecx
xor edi, ebx
mov edx, eax
xor edx, dword [esi]
add edx, dword [esi + 0x1c]
adc edi, dword [esi + 8]
not ecx
or ecx, ebx
not eax
or eax, dword [esi]
add eax, edx
adc ecx, edi
add eax, 1
adc ecx, 0
mov edx, 0x1b3c5a1e
sub edx, dword [esi + 0x10]
mov dword [esi + 8], edx
mov edx, 0
sbb edx, dword [esi + 0x14]
mov dword [esi], edx
not ecx
not eax
mov edx, ecx
shld edx, eax, 1
lea ebx, [eax + eax]
sub ebx, eax
sbb edx, ecx
add ebx, 1
adc edx, 0
mov eax, edx
not eax
mov dword [esi + 0x1c], eax
mov ecx, ebx
not ecx
mov dword [esi + 0x24], ecx
mov edi, dword [esi]
and edi, eax
mov dword [esi + 0x38], edi
mov eax, dword [esi + 8]
mov edi, eax
and edi, ecx
mov ecx, dword [esi]
shld ecx, eax, 1
mov eax, dword [esi + 8]
add eax, eax
add edi, eax
adc ecx, dword [esi + 0x38]
add edi, ebx
adc ecx, edx
or edx, dword [esi]
or ebx, dword [esi + 8]
sub edi, ebx
sbb ecx, edx
sub edi, dword [esi + 0x24]
sbb ecx, dword [esi + 0x1c]
add edi, dword [esi + 0x10]
adc ecx, dword [esi + 0x14]
mov dword [esi + 8], ecx
mov eax, 0x1b3c5a1f
sub eax, edi
mov dword [esi], eax
mov eax, 0
sbb eax, ecx
mov dword [esi + 0x1c], eax
mov edx, dword [esi + 4]
mov eax, edx
and eax, 0xffff7fff
add eax, edx
mov ecx, edx
mov ebx, 0xffffffff
adc ebx, 0xffffffff
mov edx, dword [ebp + 0xc]
and edx, 0xffff7fff
add edx, eax
adc ebx, 0
mov eax, ecx
or eax, 0xffff7fff
sub edx, eax
sbb ebx, 0xffffffff
not ebx
mov dword [esi + 0x38], ebx
not edx
mov dword [esi + 0x24], edx
mov eax, edx
neg eax
mov dword [esi + 0x14], eax
mov eax, 0
sbb eax, ebx
mov dword [esi + 0x10], eax
mov eax, dword [esi]
and eax, 0x222179fc
add eax, eax
sub eax, edi
mov ecx, 0
mov edx, dword [esi + 8]
sbb ecx, edx
add edi, 0xe4c3a5e0
adc edx, 0xffffffff
mov dword [esi + 8], edx
mov edx, edi
and edx, 0x222179fc
add edx, eax
adc ecx, 0
mov eax, edi
and eax, 0xddde8603
mov ebx, dword [esi + 8]
shld ebx, eax, 1
add eax, eax
add eax, edx
adc ebx, ecx
mov edx, dword [esi]
xor edx, 0x222179fc
add edx, eax
adc ebx, dword [esi + 0x1c]
or edi, 0x222179fc
sub edx, edi
sbb ebx, dword [esi + 8]
add edx, 0xf91ae024
mov dword [esi], edx
adc ebx, 0xffffffff
mov eax, ebx
mov ecx, ebx
and eax, dword [esi + 0x10]
mov edi, edx
mov ebx, dword [esi + 0x14]
and edi, ebx
add edi, edx
mov dword [esi + 8], ecx
adc eax, ecx
sub edi, dword [esi + 0x24]
sbb eax, dword [esi + 0x38]
or ecx, dword [esi + 0x10]
mov edx, dword [esi]
or edx, ebx
not edx
add edx, edi
not ecx
adc ecx, eax
mov ebx, dword [esi + 8]
xor ebx, dword [esi + 0x10]
mov edi, dword [esi]
xor edi, dword [esi + 0x14]
add edi, edx
adc ebx, ecx
mov eax, 0x1c83b78e
add edi, eax
mov dword [esi], edi
mov eax, 0xffffffff
adc ebx, eax
mov dword [esi + 8], ebx
mov eax, dword [esi + 4]
mov edx, eax
and edx, 0xf7b3dc08
mov dword [esi + 0x14], edx
add edx, eax
mov ecx, 0
adc ecx, 0xffffffff
xor ebx, ebx
mov edi, 0xaa00a916
add edi, 0x4db332f2
setb bl
not ebx
xor edi, eax
or ebx, 0xfffffffe
sub edx, edi
sbb ecx, ebx
mov ebx, 0x1c83b78e
add ebx, 0xebc86c69
mov edi, 0xffffffff
adc edi, 0xffffffff
mov dword [esi + 0x10], edi
or eax, ebx
mov dword [esi + 0x1c], ebx
sub edx, eax
sbb ecx, 0xffffffff
mov eax, dword [esi + 0x14]
not eax
add eax, edx
mov dword [esi + 0x14], eax
adc ecx, 0xffffffff
mov eax, dword [esi + 4]
and eax, ebx
mov edi, dword [ebp + 0xc]
add eax, edi
mov ebx, dword [esi + 0x10]
adc ebx, 0
mov edx, edi
mov edi, dword [esi + 0x1c]
xor edx, edi
sub eax, edx
mov edx, dword [esi + 0x10]
sbb ebx, edx
or ebx, ecx
or eax, dword [esi + 0x14]
mov dword [esi + 4], eax
mov ecx, ebx
xor ecx, edx
mov eax, dword [esi + 4]
xor eax, edi
lea ecx, [ecx + ecx*2]
mov edx, 3
mul edx
mov dword [esi + 0x24], eax
mov edi, edx
add edi, ecx
mov edx, ebx
not edx
mov dword [esi + 0x14], edx
mov eax, dword [esi + 4]
not eax
and edx, dword [esi + 0x10]
mov ecx, eax
and ecx, dword [esi + 0x1c]
shld edx, ecx, 1
add ecx, ecx
sub dword [esi + 0x24], ecx
sbb edi, edx
mov ecx, dword [esi + 0x14]
shld ecx, eax, 1
add eax, eax
add eax, dword [esi + 0x24]
adc ecx, edi
mov edx, ecx
and ebx, dword [esi + 0x10]
mov ecx, dword [esi + 4]
and ecx, dword [esi + 0x1c]
not ebx
not ecx
shld ebx, ecx, 1
add ecx, ecx
sub eax, ecx
sbb edx, ebx
mov dword [esi + 0x14], edx
mov ebx, eax
and ebx, 0x8000
mov ecx, eax
xor ecx, 0x8000
mov dword [esi + 4], ecx
mov edi, ebx
and edi, ecx
xor eax, 0xffff7fff
and eax, ebx
mov ecx, edi
sub ecx, eax
mov edx, 0
sbb edx, edx
mov eax, ebx
or eax, dword [esi + 4]
add eax, ecx
adc edx, dword [esi + 0x14]
not ebx
or ebx, dword [esi + 4]
sub eax, ebx
sbb edx, 0xffffffff
not edi
add edi, eax
adc edx, 0xffffffff
add dword [esi], 0x39a50560
adc dword [esi + 8], 0
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov eax, edx
not eax
mov dword [esi + 0x10], eax
mov ebx, edi
not ebx
mov dword [esi + 0x14], ebx
mov ecx, dword [esi + 8]
and ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [esi]
mov eax, ecx
and eax, ebx
add eax, ecx
mov ecx, dword [esi + 4]
adc ecx, dword [esi + 8]
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0x28]
mov ebx, dword [esi + 0x84]
mov dword [ebx], ecx
add eax, edi
adc dword [esi + 4], edx
mov ecx, dword [esi + 8]
xor edx, ecx
mov ebx, dword [esi]
xor edi, ebx
not edi
add edi, eax
not edx
adc edx, dword [esi + 4]
mov eax, dword [esi + 0x10]
or eax, ecx
mov ecx, dword [esi + 0x14]
or ecx, ebx
sub edi, ecx
sbb edx, eax
mov eax, 0xaa00a916
add edi, eax
adc edx, 0
add edi, 0x21f813f9
adc edx, 0
mov ebx, edx
shld ebx, edi, 1
lea eax, [edi + edi]
sub eax, edi
mov dword [esi + 4], eax
sbb ebx, edx
not edx
not edi
mov eax, edx
shld eax, edi, 2
lea ecx, [edi*4]
mov dword [esi], ecx
mov ecx, dword [esi + 4]
add dword [esi], ecx
adc eax, ebx
mov ecx, dword [esi + 0xa8]
mov ebx, dword [ebp + 0xc]
mov word [ecx], bx
shld edx, edi, 1
add edi, edi
mov ecx, dword [esi]
sub ecx, edi
sbb eax, edx
add ecx, 2
adc eax, 0
mov edx, ecx
not edx
add ecx, edx
mov dword [esi], ecx
mov edi, eax
not edi
adc eax, edi
mov ecx, dword [esi + 0x84]
mov ebx, dword [ecx]
mov ecx, dword [esi + 0xb0]
mov word [ecx], bx
sub edx, dword [esi]
sbb edi, eax
add edx, 1
adc edi, 0
mov eax, dword [esi + 0xb4]
mov dword [eax], edx
mov dword [eax + 4], edi
mov eax, dword [0x1007dd40]
mov ecx, dword [0x1007dd44]
mov edx, ecx
not edx
or edx, ecx
and edx, eax
sub edx, eax
add edx, 0x87acc5a0
mov eax, dword [esi + 0x20]
mov dword [eax], edx
mov eax, dword [esi + 0xa0]
mov eax, dword [eax]
mov ecx, dword [esi + 0x80]
mov dword [ecx], eax
mov eax, dword [esi + 0x9c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x7c]
mov dword [ecx], eax
mov eax, dword [esi + 0xa4]
mov eax, dword [eax]
mov dword [esi], eax
mov ecx, dword [0x1007dd48]
mov eax, dword [0x1007dd4c]
mov edx, ecx
not edx
and edx, eax
add edx, edx
lea edx, [edx + ecx*2]
or ecx, eax
add ecx, ecx
sub ecx, edx
add ecx, 0x62721317
mov eax, dword [0x1007dd50]
mov edx, eax
not edx
or edx, eax
mov eax, dword [0x1007dd54]
and edx, eax
sub edx, eax
mov eax, dword [0x10088b58]
add edx, 0xa
cmp dword [0x10088b54], edx
mov edx, eax
not edx
setge byte [esi + 4]
setl byte [esi + 8]
add edx, eax
lea edi, [eax + edx]
add edi, 2
imul edi, eax
mov edx, dword [0x1007dd58]
mov eax, dword [0x1007dd5c]
mov ebx, edx
xor ebx, eax
mov dword [esi + 0x10], ebx
mov ebx, edx
not ebx
or ebx, eax
and edx, eax
not eax
add eax, dword [esi + 0x10]
add ebx, eax
lea eax, [edx + ebx]
add eax, 2
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0x78]
mov edx, dword [esi]
mov dword [eax], edx
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
sete al
mov cl, byte [esi + 8]
or al, cl
add al, cl
add al, byte [esi + 4]
add al, 1
test al, 1
jne 0x10016e20
mov ecx, dword [ebp + 0xc]
mov eax, ecx
and eax, 0xffff8000
mov edx, ecx
mov edi, ecx
not edx
mov dword [esi + 0x10], edx
mov ecx, edx
or ecx, 0xffff8000
sub eax, ecx
imul ecx, eax, 0xc44ffe6f
lea eax, [ecx + 0x3ae78191]
mov edx, eax
and edx, 0xbf08a38d
add ecx, edx
add ecx, 0x3ae78191
mov edx, eax
not edx
and edx, 0x40f75c72
add edx, ecx
xor eax, 0xbf08a38d
lea ecx, [edx + eax]
add eax, edx
add eax, 0xc59949a9
xor eax, 0xbf08a38d
lea eax, [eax + ecx*2]
add eax, 0x8b329352
add ecx, ecx
add ecx, 0x8b329352
or ecx, 0x7e11471a
sub eax, ecx
imul eax, eax, 0x422d208f
lea edx, [eax + eax]
mov ecx, eax
xor ecx, 0xe84f2915
sub edx, ecx
mov ecx, eax
not ecx
or eax, 0x17b0d6ea
sub edx, eax
mov dword [esi + 0x28], edx
or ecx, 0x17b0d6ea
mov dword [esi + 0x2c], ecx
mov eax, edi
shr eax, 0x10
mov dword [esi + 0x24], eax
mov eax, edi
shr eax, 0x1f
mov dword [esi + 8], eax
lea ecx, [edi + edi]
mov dword [esi + 4], ecx
mov edi, 0x3fabe648
add edi, ecx
mov ebx, 1
adc ebx, eax
mov eax, 0xaa00a916
add eax, 0xf5d54a0e
mov dword [esi + 0x1c], eax
mov eax, 0
adc eax, 0xffffffff
mov dword [esi + 0x38], eax
mov eax, 0x1c83b78e
add eax, 0x43a6554d
add edi, eax
mov ecx, 0xffffffff
adc ebx, ecx
add edi, 1
adc ebx, 0
mov edx, edi
and edx, 0x9fd5f324
mov dword [esi], ebx
mov ecx, 0xffffffff
and dword [esi], ecx
and eax, edi
mov ecx, eax
mov eax, edx
sub eax, ecx
mov ecx, eax
mov eax, 0
sbb eax, dword [esi]
add ecx, edi
adc eax, ebx
mov dword [esi + 0x14], eax
mov eax, 0x1c83b78e
add ecx, eax
mov dword [esi], ecx
mov ecx, 0xffffffff
mov eax, dword [esi + 0x14]
adc eax, ecx
not ebx
or ebx, dword [esi + 0x38]
not edi
or edi, dword [esi + 0x1c]
mov ecx, dword [esi]
sub ecx, edi
sbb eax, ebx
mov edi, eax
not edx
add edx, ecx
adc edi, 0xffffffff
mov eax, 0xaa00a916
add edx, eax
adc edi, 0
add edx, 0x985ecec8
adc edi, 0
mov eax, edx
and eax, 0xffff7fff
add eax, edx
mov ecx, edi
adc ecx, edi
mov ebx, edx
xor ebx, 0xffff7fff
add ebx, eax
not edi
adc edi, ecx
or edx, 0xffff7fff
sub ebx, edx
sbb edi, 0xffffffff
mov eax, 0x1c83b78e
add ebx, eax
mov dword [esi + 0x38], ebx
mov eax, 0xffffffff
adc edi, eax
mov dword [esi + 0x14], edi
mov ecx, dword [esi + 0x10]
mov edi, ecx
sub edi, dword [esi + 4]
mov eax, 0xffffffff
sbb eax, dword [esi + 8]
mov edx, ecx
shr edx, 0x1f
or edx, 0xfffffffe
mov dword [esi + 8], edx
lea ebx, [ecx + ecx]
mov dword [esi], ebx
sub edi, ebx
sbb eax, edx
add edi, 0xfffffffe
adc eax, 0xffffffff
mov ecx, edi
and ecx, 0xd5acc70b
mov dword [esi + 4], ecx
xor edx, edx
mov ecx, 0xaa00a916
add ecx, 0x2bac1df5
setb dl
mov dword [esi + 0x1c], edx
mov ebx, eax
xor ebx, edx
mov edx, edi
xor edx, ecx
add edx, dword [esi + 4]
adc ebx, 0
or eax, dword [esi + 0x1c]
or ecx, edi
not ecx
add ecx, edx
mov edi, eax
not edi
adc edi, ebx
add ecx, dword [esi + 4]
adc edi, 0
add ecx, 1
mov dword [esi + 0x1c], ecx
adc edi, 0
mov edx, dword [ebp + 0xc]
mov ecx, edx
mov ebx, dword [esi + 0x10]
or ecx, ebx
mov eax, 0x1c83b78e
add eax, 0xdcf8166
and ecx, eax
xor edx, eax
not edx
add edx, ecx
mov ecx, 0xffffffff
adc ecx, dword [esi + 0x44]
or eax, ebx
sub edx, eax
sbb ecx, 0xffffffff
mov dword [esi + 4], ecx
mov ebx, ecx
not ebx
mov ecx, edx
not ecx
mov dword [esi + 0x54], edi
and ebx, edi
mov eax, ebx
mov ebx, dword [esi + 0x1c]
and ecx, ebx
sub ecx, ebx
sbb eax, edi
mov dword [esi + 0x48], eax
or edi, dword [esi + 4]
mov eax, ebx
or eax, edx
mov ebx, edi
shld ebx, eax, 1
mov dword [esi + 0x6c], ebx
lea ebx, [eax + eax]
add ecx, ebx
mov ebx, dword [esi + 0x6c]
adc ebx, dword [esi + 0x48]
not eax
add eax, ecx
not edi
adc edi, ebx
mov ebx, dword [esi + 4]
and ebx, dword [esi + 0x54]
and edx, dword [esi + 0x1c]
add edx, eax
adc ebx, edi
add edx, 1
adc ebx, 0
mov dword [esi + 4], ebx
mov edi, edx
and edi, 0xd5ac470b
mov ecx, edi
shr ecx, 0x1f
add edi, edi
mov eax, ebx
mov ebx, 0xffffffff
and eax, ebx
mov ebx, 0x1c83b78e
add ebx, 0xdd00166
and ebx, edx
shld eax, ebx, 1
add ebx, ebx
add ebx, edi
adc eax, ecx
mov ecx, dword [esi + 4]
shld ecx, edx, 1
lea edi, [edx + edx]
sub edi, ebx
sbb ecx, eax
xor eax, eax
mov ebx, 0xaa00a916
add ebx, 0x2bab9df5
setb al
xor eax, dword [esi + 4]
xor ebx, edx
add ebx, edi
adc eax, ecx
mov ecx, 0x1b3c5a1e
sub ecx, dword [esi + 0x38]
mov dword [esi + 4], ecx
mov ecx, 0
sbb ecx, dword [esi + 0x14]
mov dword [esi + 0x14], ecx
mov ecx, ebx
neg ecx
mov dword [esi + 0x1c], ecx
mov edx, 0
sbb edx, eax
mov edi, ebx
add edi, 0xffffffff
mov ecx, eax
adc ecx, 0xffffffff
or ecx, edx
and ecx, dword [esi + 0x14]
or edi, dword [esi + 0x1c]
and edi, dword [esi + 4]
sub edi, ebx
sbb ecx, eax
mov eax, ecx
shld eax, edi, 1
lea edx, [edi + edi]
add edi, edx
adc ecx, eax
sub edx, edi
sbb eax, ecx
mov dword [esi + 4], eax
mov ebx, dword [esi]
add ebx, dword [ebp + 0xc]
mov ecx, dword [esi + 8]
adc ecx, 0
add ebx, 1
adc ecx, 0
mov dword [esi + 8], ecx
mov edi, ebx
and edi, 0xffff7fff
not ecx
mov eax, ebx
xor eax, 0xffff7fff
add eax, edi
adc ecx, dword [esi + 8]
not ebx
or ebx, 0xffff7fff
add ebx, eax
adc ecx, 0xffffffff
add ebx, edi
adc ecx, dword [esi + 8]
add ebx, 0x8002
adc ecx, 0
mov eax, ecx
not eax
mov edi, ebx
not edi
add ebx, edi
adc ecx, eax
add ebx, edi
adc ecx, eax
add ebx, 1
adc ecx, 0
mov eax, ebx
add eax, ebx
mov edi, ecx
adc edi, ecx
not ebx
add ebx, eax
mov dword [esi], ebx
not ecx
adc ecx, edi
mov eax, dword [esi + 4]
mov edi, eax
not edi
add ebx, 1
mov dword [esi + 0x14], ebx
mov ebx, ecx
adc ebx, 0
mov dword [esi + 8], ebx
shld eax, edx, 1
mov dword [esi + 0x1c], eax
mov ebx, edx
not ebx
and ebx, 0xddde8603
shld edi, ebx, 1
add ebx, ebx
lea eax, [edx + edx]
add ebx, eax
adc edi, dword [esi + 0x1c]
xor edx, 0x222179fc
add edx, ebx
adc edi, dword [esi + 4]
mov eax, ecx
not eax
mov ebx, dword [esi]
not ebx
add edx, 2
adc edi, 0
and eax, edi
and ebx, edx
add ebx, edx
adc eax, edi
sub ebx, dword [esi + 0x14]
sbb eax, dword [esi + 8]
add ebx, dword [esi]
adc eax, ecx
or edi, ecx
or edx, dword [esi]
sub ebx, edx
sbb eax, edi
mov edx, ebx
and edx, 0xddde8603
mov ecx, eax
shld ecx, edx, 1
mov dword [esi], ecx
add edx, edx
mov ecx, eax
shld ecx, ebx, 1
lea edi, [ebx + ebx]
sub edi, edx
sbb ecx, dword [esi]
not ebx
mov edx, ebx
or edx, 0x222179fc
sub edi, edx
not eax
sbb ecx, eax
or ebx, 0xddde8603
add ebx, edi
adc ecx, 0xffffffff
add ebx, 0x222179fc
mov dword [esi], ebx
adc ecx, 0
mov dword [esi + 4], ecx
mov eax, dword [esi + 0x10]
mov edx, eax
and edx, 0xf7b3dc08
add edx, eax
mov ecx, 0
adc ecx, 0xffffffff
mov dword [esi + 8], ecx
xor ebx, ebx
mov ecx, 0xaa00a916
add ecx, 0x4db332f2
setb bl
mov edi, eax
xor edi, ecx
add edi, edx
mov edx, ebx
not ebx
adc ebx, dword [esi + 8]
or eax, ecx
sub edi, eax
sbb ebx, 0xffffffff
or ecx, dword [ebp + 0xc]
add ecx, edi
adc ebx, edx
add ecx, 1
adc ebx, 0
mov eax, 0x1c83b78e
add eax, 0xebc86c69
mov edx, 0xffffffff
adc edx, 0xffffffff
mov edi, dword [ebp + 0xc]
and edi, eax
or edi, ecx
mov ecx, ebx
xor ecx, edx
mov dword [esi + 0x10], ecx
mov ecx, edi
xor ecx, eax
mov dword [esi + 0x14], ecx
mov ecx, 0xaa00a916
add ecx, dword [esi + 0x14]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 8], ecx
adc dword [esi + 8], 0
or edx, ebx
or eax, edi
not edx
not eax
shld edx, eax, 1
add eax, eax
mov ecx, dword [esi + 0x1c]
sub ecx, eax
sbb dword [esi + 8], edx
mov eax, dword [esi + 0x14]
not eax
add eax, ecx
mov ecx, eax
mov eax, dword [esi + 0x10]
not eax
adc eax, dword [esi + 8]
not edi
add edi, ecx
not ebx
adc ebx, eax
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
add eax, ecx
add eax, 0x17b0d6eb
mov dword [esi + 0x1c], eax
add edi, 0x4db332f3
adc ebx, 0
mov eax, edi
and eax, 0x8000
mov dword [esi + 8], eax
mov eax, edi
and eax, 0xffff7fff
mov edx, edi
not edx
mov ecx, edx
and ecx, 0x8000
sub eax, ecx
mov ecx, ebx
sbb ecx, 0
xor edi, 0x8000
add edi, eax
adc ecx, ebx
and edx, 0xffff7fff
add edx, edi
not ebx
adc ecx, ebx
mov edi, dword [esi + 8]
mov ebx, edi
not ebx
add edx, ebx
adc ecx, 0xffffffff
add edx, 0x10002
adc ecx, 0
xor ebx, edi
and ebx, edx
xor ebx, edi
mov eax, edi
xor eax, edx
sub ebx, eax
mov eax, ecx
sbb eax, ecx
or edx, edi
add edx, ebx
adc eax, ecx
mov dword [esi + 0x10], eax
mov eax, 0x1c83b78e
mov ecx, dword [esi]
add eax, ecx
mov dword [esi + 0x28], eax
mov edi, 0xffffffff
mov ebx, dword [esi + 4]
adc edi, ebx
mov eax, 0xaa00a916
add eax, 0x21f813f9
mov dword [esi + 8], eax
mov eax, 0
setb al
mov dword [esi + 0x14], eax
xor ebx, eax
mov eax, ebx
mov ebx, ecx
xor ebx, dword [esi + 8]
add ebx, dword [esi + 0x28]
adc eax, edi
mov ecx, dword [esi + 4]
mov edi, 0xffffffff
or ecx, edi
mov edi, 0x1c83b78e
add edi, 0x17838b62
or edi, dword [esi]
add edi, ebx
adc ecx, eax
mov eax, dword [esi]
not eax
add eax, edi
mov ebx, dword [esi + 4]
not ebx
adc ebx, ecx
mov ecx, dword [esi]
and ecx, 0xcbf8bd0f
add ecx, eax
adc ebx, 0
add ecx, 0x17838b65
mov dword [esi], ecx
adc ebx, 0
mov ecx, ebx
mov dword [esi + 4], ebx
mov edi, dword [esi + 0x10]
shld edi, edx, 1
lea eax, [edx + edx]
mov ebx, dword [esi]
add eax, ebx
mov dword [esi + 0x28], eax
adc edi, ecx
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0x1c]
mov dword [eax], ecx
mov eax, dword [esi + 4]
or eax, dword [esi + 0x10]
mov ecx, ebx
or ecx, edx
not ecx
add ecx, dword [esi + 0x28]
not eax
adc eax, edi
mov edi, dword [esi + 0x24]
mov ebx, dword [esi + 0x84]
mov dword [ebx], edi
mov edi, dword [esi + 4]
not edi
or edi, dword [esi + 0x10]
mov ebx, dword [esi]
not ebx
or ebx, edx
sub ecx, ebx
sbb eax, edi
mov ebx, eax
shld ebx, ecx, 1
lea edi, [ecx + ecx]
mov edx, 0x3fabe648
add edi, edx
mov dword [esi], edi
mov edx, 1
adc ebx, edx
mov edx, eax
xor edx, dword [esi + 0x14]
mov edi, ecx
xor edi, dword [esi + 8]
add edi, dword [esi]
adc edx, ebx
or eax, dword [esi + 0x14]
or ecx, dword [esi + 8]
shld eax, ecx, 1
add ecx, ecx
sub edi, ecx
mov ecx, dword [esi + 0xa8]
mov ebx, dword [ebp + 0xc]
mov word [ecx], bx
sbb edx, eax
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
add edi, 0x584593d7
adc edx, 0
mov ecx, dword [esi + 0xb0]
mov word [ecx], ax
mov eax, dword [esi + 0xb4]
mov dword [eax], edi
mov dword [eax + 4], edx
mov eax, dword [esi + 0x20]
mov dword [eax], 0x87acc5a0
mov eax, dword [esi + 0xa0]
mov eax, dword [eax]
mov ecx, dword [esi + 0x80]
mov dword [ecx], eax
mov eax, dword [esi + 0x9c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x7c]
mov dword [ecx], eax
mov eax, dword [esi + 0xa4]
mov eax, dword [eax]
mov ecx, dword [0x1007e520]
and ecx, dword [0x1007e51c]
mov edx, dword [esi + 0x78]
mov dword [edx], eax
mov eax, ecx
not eax
add eax, ecx
add eax, 0x62721318
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1000d231
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
mov dword [esi + 0x14], eax
mov edx, dword [0x1007d0c0]
mov dword [esi + 0x1c], edx
mov eax, edx
and eax, 0xf2bd785b
mov ecx, edx
or ecx, 0xf2bd785b
add ecx, eax
not edx
mov dword [esi + 4], edx
mov eax, edx
or eax, 0xf2bd785b
add eax, ecx
add eax, 0xd4287a6
mov ecx, edx
and ecx, 0xd4287a4
or eax, ecx
mov ecx, eax
xor ecx, 0xf2bd785b
xor eax, 0xd4287a4
mov edi, dword [str.:8c_]
mov dword [esi], edi
mov edx, edi
xor edx, eax
add edx, edx
or ecx, edi
add ecx, edx
mov edx, edi
not edx
add ecx, edx
mov ebx, edx
mov dword [esi + 8], edx
and eax, edi
add eax, ecx
add eax, 2
and eax, edi
neg eax
lea ecx, [eax + eax]
sub eax, ecx
mov ecx, edi
xor ecx, 0xe1f82a85
add ecx, edi
mov edx, edi
or edx, 0xe1f82a85
sub ecx, edx
mov edx, ebx
and edx, 0xe1f82a85
or ecx, edx
mov edx, ecx
xor edx, 0x1e07d57a
xor ecx, 0xe1f82a85
add edx, ecx
lea ebx, [ecx + edx]
add ebx, 1
mov ecx, ebx
not ecx
mov edi, dword [esi + 4]
lea edx, [edi + edi]
sub edx, edi
mov dword [esi + 0x24], edx
and ecx, edx
mov edi, ebx
or edi, edx
add edi, ecx
mov ecx, edx
not ecx
add ecx, edi
and ebx, edx
add ecx, ebx
add ecx, 1
mov edx, eax
xor edx, 0x2fee42df
not eax
add eax, eax
or eax, 0xa0237a40
sub edx, eax
not ecx
lea edi, [ecx - 1]
lea ebx, [edx - 0x5fdc85c0]
mov eax, ebx
and eax, edi
lea eax, [eax + edx*2]
add eax, 0x4046f480
neg ecx
sub eax, edi
or ecx, ebx
sub eax, ecx
sub eax, edi
mov dword [esi + 0x28], eax
not ebx
mov dword [esi + 0x2c], ebx
lea ecx, [eax + ebx]
mov eax, 0xd011bd22
sub eax, ecx
mov dword [esi + 0x10], eax
mov edi, dword [esi]
mov edx, edi
mov ebx, dword [esi + 0x1c]
and edx, ebx
add edx, ebx
or edi, ebx
mov eax, dword [esi + 8]
mov ecx, eax
or ecx, ebx
mov dword [esi + 0x38], ecx
and eax, ebx
mov ecx, dword [esi]
add eax, ecx
xor ebx, ecx
add ebx, eax
sub ebx, edi
not edi
add edi, edx
sub edi, dword [esi + 0x38]
or ebx, edi
mov eax, ebx
neg eax
lea ecx, [eax + eax*2]
add ecx, ebx
add ecx, ebx
mov edi, 1
sub edi, ecx
mov edx, dword [esi + 0x10]
mov eax, edx
and eax, edi
add edx, edx
sub edx, eax
mov eax, dword [esi + 0x28]
mov ebx, dword [esi + 0x2c]
add eax, ebx
add eax, 0x2fee42dd
and eax, edi
add eax, edx
sub eax, ecx
xor edi, dword [esi + 0x10]
sub eax, edi
mov ecx, dword [esi + 4]
lea edx, [eax + ecx*2]
mov dword [esi + 0x10], edx
lea eax, [eax + ecx*2]
add eax, 1
mov dword [esi + 4], eax
mov edi, dword [esi + 8]
mov edx, edi
mov eax, dword [esi + 0x24]
and edx, eax
mov ebx, dword [esi]
mov ecx, ebx
xor ecx, eax
add edx, ecx
not ecx
add ecx, edx
mov edx, edi
or eax, edi
sub ecx, eax
mov edi, ecx
and edi, ebx
or edx, ebx
and edx, ecx
sub edx, ecx
or ecx, ebx
add edx, ecx
not ecx
add ecx, edx
add edi, ecx
add edi, 1
mov ecx, edi
and ecx, 0x1613a88d
add ecx, ecx
mov edx, edi
or edi, 0x69ec5772
sub ecx, edi
not edx
and edx, 0x69ec5772
add ecx, 0x69ec5772
mov edi, ecx
not edi
or edi, ecx
and edi, edx
sub edi, edx
or ecx, edx
add ecx, edi
mov edx, ecx
not edx
and edx, 0x1613a88d
add edx, edx
lea edx, [edx + ecx*2]
mov edi, ecx
xor edi, 0x9613a88d
sub edi, edx
add ecx, ecx
or ecx, 0x2c27511a
add ecx, edi
mov edi, dword [esi + 4]
not edi
mov eax, dword [esi + 0x10]
lea edx, [eax + eax]
add edx, 2
sub edx, ecx
add edx, edi
lea eax, [edx + edx]
sub eax, edx
lea ecx, [eax + 1]
mov edx, ecx
and edx, 0x4df47c1f
add eax, edx
add eax, 1
or ecx, 0xb20b83e0
sub eax, ecx
imul ecx, eax, 0x3ab2fc1d
lea eax, [ecx - 0x498afacc]
mov edx, eax
xor edx, 0xbd9c8c38
lea ecx, [edx + ecx*2]
add ecx, 0x6cea0a68
mov edx, eax
or edx, 0xbd9c8c38
sub ecx, edx
not eax
or eax, 0xbd9c8c38
add eax, ecx
imul eax, eax, 0x205c59cb
add eax, 0x9014cdf8
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x53fd5797
add edx, edx
mov edi, eax
sub edi, edx
mov edx, dword [esi + 0x14]
shr edx, 1
xor eax, 0xd3fd5797
add eax, edi
add eax, ecx
add eax, 0xa7faaf30
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x74]
mov dword [eax], edx
mov eax, dword [esi + 0x8c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x70]
mov dword [ecx], eax
mov eax, dword [0x1007dda8]
mov ecx, dword [0x1007ddac]
mov edx, eax
not edx
and edx, ecx
mov edi, eax
or edi, ecx
mov ebx, eax
and eax, ecx
not ecx
and ebx, ecx
sub ebx, edx
not edi
add edi, ebx
mov ebx, dword [0x10088b50]
add ecx, ecx
sub edi, ecx
not eax
add eax, edi
add eax, 0xa
cmp dword [0x10088b4c], eax
setge ah
setl al
lea edx, [ebx + 1]
imul edx, ebx
mov ecx, dword [0x1007ddb0]
mov edi, dword [0x1007ddb4]
mov dword [esi], edi
mov ebx, ecx
xor ebx, edi
lea edi, [ecx + ebx*2]
or ecx, dword [esi]
add ecx, ecx
sub edi, ecx
not ebx
add ebx, edi
mov ecx, dword [esi]
add ecx, ebx
add ecx, 1
and edx, 1
cmp edx, ecx
setne dl
sete cl
mov ch, al
or ch, cl
mov dh, al
xor dh, cl
not dh
add dh, ch
or dl, al
add dl, dh
add dl, ah
and al, cl
not al
add al, dl
mov ecx, dword [esi + 0xc]
mov dword [ecx], 0x62721317
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov edx, dword [0x1007d0c0]
mov dword [esi], edx
mov eax, edx
and eax, 0xf2bd785b
mov ecx, edx
or ecx, 0xf2bd785b
sub eax, ecx
not ecx
add ecx, ecx
sub eax, ecx
mov ecx, edx
or ecx, 0xd4287a4
add ecx, eax
mov edi, edx
not edi
mov dword [esi + 8], edi
mov eax, edi
and eax, 0xd4287a4
add eax, edi
add edx, eax
add edx, 1
add ecx, edi
mov edi, ecx
not edi
and edi, edx
mov eax, edx
xor eax, ecx
mov ebx, eax
sub ebx, edi
mov edi, edx
or edi, ecx
add edi, ebx
not eax
add eax, edi
not edx
or edx, ecx
sub eax, edx
mov ecx, eax
not ecx
and ecx, 0xf2bd785b
mov edx, eax
xor edx, 0xf2bd785b
add edx, ecx
and eax, 0xf2bd785b
add edx, eax
add edx, 0xd4287a5
mov ebx, dword [str.:8c_]
mov dword [esi + 4], ebx
xor edx, ebx
mov edi, edx
not edi
mov ecx, edi
and ecx, ebx
xor edi, ebx
add edi, ecx
add edi, ebx
mov eax, ebx
not eax
lea ebx, [edi + eax*2]
add ebx, edx
not ecx
add ecx, ecx
sub ebx, ecx
and eax, 0xe1f82a85
mov ecx, dword [esi + 4]
and ecx, 0x1e07d57a
lea edx, [eax + ecx]
add ecx, edx
mov edi, edx
not edi
lea ecx, [ecx + edi*2]
add ecx, edx
add eax, ecx
add eax, 2
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x1e07d57a
xor eax, 0x1e07d57a
add edx, eax
and ecx, 0xe1f82a85
add ecx, edx
lea edx, [ecx + eax]
add eax, ecx
add eax, 1
not eax
lea eax, [edx + eax*2]
add eax, 2
mov ecx, eax
mov edi, dword [esi + 8]
xor ecx, edi
mov edx, eax
sub edx, ecx
mov ecx, eax
or ecx, edi
add ecx, edx
mov edx, eax
or edx, dword [esi]
sub ecx, edx
and eax, edi
not eax
add eax, ecx
lea ecx, [ebx + 1]
mov edx, ecx
or edx, 0x2fee42df
add edx, ebx
add edx, 1
not ecx
or ecx, 0x2fee42df
add ecx, edx
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xa0237a44
not eax
lea eax, [eax + edx*2 + 0x4046f488]
mov dword [esi + 0x14], eax
mov edx, dword [esi]
lea ecx, [edx + edi*2]
add ecx, 1
mov eax, dword [esi + 4]
xor ecx, eax
mov edi, ecx
and edi, eax
mov ebx, ecx
xor ebx, eax
mov dword [esi + 0x1c], ebx
mov ebx, ecx
or ebx, eax
mov dword [esi + 0x28], ebx
add edi, ecx
mov dword [esi + 0x24], edi
not ecx
or ecx, eax
mov dword [esi + 0x2c], ecx
mov ecx, eax
mov edi, eax
and ecx, edx
xor edi, edx
or eax, edx
not eax
add eax, ecx
add eax, edi
lea ebx, [ecx + eax]
add ebx, 1
mov ecx, edi
not ecx
mov edx, ebx
and edx, ecx
mov eax, ebx
or eax, edi
add eax, edx
xor edi, ebx
not edi
add edi, eax
or ecx, ebx
sub edi, ecx
mov eax, edi
not eax
mov ebx, eax
sub ebx, edi
sub ebx, edi
add ebx, edi
sub ebx, eax
lea eax, [ebx + ebx]
add eax, 0xfffffffe
neg eax
add eax, ebx
add eax, 0xffffffff
neg ebx
add ebx, ebx
sub eax, ebx
mov ecx, dword [esi + 0x14]
lea edx, [eax + ecx]
add edx, 0x2fee42dd
mov edi, dword [esi + 8]
lea eax, [edi + edi]
mov ecx, dword [esi]
lea eax, [eax + ecx*2]
mov ecx, edi
sub ecx, eax
neg eax
add eax, edi
add eax, 0xfffffffe
add ecx, ecx
add ecx, 0xfffffffc
sub ecx, eax
lea eax, [ecx + ecx]
not ecx
add ecx, eax
not edx
lea eax, [ecx + ecx]
lea eax, [eax + edx*2]
add eax, 2
lea ebx, [ecx + ecx]
add ebx, 2
mov edi, edx
or edi, ebx
not edi
lea eax, [eax + edi*2]
xor edx, ebx
add edx, eax
lea edi, [edx + ecx*2]
add edi, 4
mov eax, dword [esi + 0x1c]
add eax, dword [esi + 0x24]
sub eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
add eax, ecx
add eax, 1
mov ecx, eax
not ecx
mov edx, eax
or edx, ecx
and ecx, 0x69ec5772
mov ebx, eax
and ebx, 0x1613a88d
add ebx, ebx
sub ecx, ebx
mov ebx, eax
xor ebx, 0x69ec5772
add ebx, ecx
lea ecx, [ebx + eax]
add ecx, 0x9613a88e
and edx, 0x9613a88d
or eax, 0x69ec5772
add edx, eax
add edx, 1
or edx, ecx
mov ecx, edx
and ecx, 0x69ec5772
mov eax, edx
not eax
mov ebx, eax
and ebx, 0x9613a88d
sub ecx, ebx
xor edx, 0x9613a88d
add edx, ecx
mov ecx, eax
and ecx, 0x69ec5772
add ecx, edx
or eax, 0x69ec5772
add eax, ecx
mov ecx, 0xd3d8aee4
sub ecx, eax
add eax, eax
mov edx, edi
sub edx, eax
mov ebx, edi
or ebx, ecx
not ebx
add ebx, edx
not edi
or edi, ecx
sub ebx, edi
lea eax, [ebx - 0x584ea238]
lea ecx, [ebx + ebx]
add ecx, 0x4f62bb90
sub eax, ecx
mov ecx, eax
neg ecx
mov edx, ecx
and edx, 0xb20b83e0
sub edx, eax
mov edi, ecx
or edi, 0x4df47c1f
add edi, edx
mov ebx, dword [esi + 0x10]
shr ebx, 1
xor ecx, 0xb20b83e0
add ecx, edi
add ecx, eax
imul ecx, ecx, 0x3ab2fc1d
add ecx, 0xd218fa0
mov edx, ecx
xor edx, 0xed7feaf
mov eax, ecx
sub eax, edx
not ecx
mov edx, ecx
and edx, 0x71280150
add edx, edx
sub eax, edx
add eax, ecx
mov ecx, 0x1daffd5e
sub ecx, eax
mov edx, ecx
and edx, 0x426373c7
add edx, eax
or ecx, 0xbd9c8c38
sub edx, ecx
imul eax, edx, 0x205c59cb
add eax, 0xc7f082d8
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x74]
mov dword [eax], ebx
mov eax, dword [esi + 0x8c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x70]
mov dword [ecx], eax
mov ecx, dword [0x1007e534]
mov eax, dword [0x1007e538]
mov edx, ecx
sub edx, eax
mov edi, ecx
xor edi, eax
add edx, edi
not edi
lea edx, [edx + edi*2]
not eax
or eax, ecx
add eax, eax
sub edx, eax
add edx, 0x62721317
mov eax, dword [esi + 0xc]
mov dword [eax], edx
jmp 0x1000e06e
mov eax, dword [esi + 0x70]
mov eax, dword [eax]
mov ecx, dword [esi + 0x30]
mov dword [ecx], eax
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov ecx, dword [esi + 0x94]
mov dword [ecx], eax
mov ebx, dword [ecx]
mov ecx, ebx
not ecx
mov eax, ecx
and eax, ebx
add eax, ecx
mov edx, ecx
mov dword [esi], ecx
or edx, ebx
not edx
add edx, eax
sub edx, ecx
lea eax, [edx + edx*2]
not edx
lea eax, [eax + edx*2]
mov dword [esi + 8], eax
lea eax, [ebx + ecx*2 + 1]
mov edi, eax
not edi
lea edx, [ebx + ecx*2]
lea edx, [edi + edx + 1]
lea ecx, [edx + eax + 1]
mov edx, dword [esi + 8]
lea eax, [ebx + edx]
mov dword [esi + 4], eax
add edx, ebx
add edx, 2
add ebx, dword [esi]
mov edi, ebx
not edi
mov eax, ecx
xor eax, edi
or ecx, edi
sub edi, eax
add edi, ecx
add edi, eax
add edi, ebx
not edi
lea eax, [edi + edi]
sub edi, eax
mov eax, edx
xor eax, 0xe11fc5b
mov ecx, dword [esi + 4]
add eax, ecx
add eax, 2
mov ecx, edx
or ecx, 0xf1ee03a4
add ecx, eax
mov eax, edx
not eax
add eax, ecx
and edx, 0xe11fc5b
add edx, eax
lea eax, [edi + edx]
lea ecx, [edi + edx]
add ecx, 0xe11fc5d
mov edx, ecx
xor edx, 0xe11fc5b
add eax, edx
add eax, 0xe11fc5d
xor ecx, 0xf1ee03a4
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xf1ee03a6
mov ecx, eax
not ecx
and ecx, 0xa16d141b
add ecx, edx
add ecx, 0xf1ee03a6
and eax, 0xa16d141b
add ecx, eax
add ecx, 0xbd25d7ca
mov edx, ecx
not edx
sub ecx, edx
sub ecx, edx
add ecx, edx
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0xffffffff
and ecx, 0x5e92ebe4
lea edx, [ecx + eax]
add edx, 0xffffffff
mov ecx, eax
neg ecx
and ecx, 0xa16d141b
sub edx, ecx
sub edx, eax
add edx, 0x42da2837
sub dword [esi], ebx
mov ecx, edx
or ecx, 0x40464c7c
mov eax, edx
sub eax, ecx
not ecx
add ecx, ecx
sub eax, ecx
mov edi, edx
or edi, 0xbfb9b383
add edi, eax
mov ecx, 1
mov eax, dword [esi]
sub ecx, eax
not edx
add edx, edi
add edx, 0xbfb9b384
mov edi, edx
and edi, ecx
sub edi, eax
mov eax, edx
xor eax, ecx
add edi, eax
not eax
add eax, edi
not edx
or edx, ecx
sub eax, edx
lea ecx, [eax + 1]
mov edx, ecx
not edx
and edx, 0x40464c7c
add eax, edx
add eax, 1
and ecx, 0x40464c7c
add ecx, eax
imul ecx, ecx, 0xff8afed3
lea eax, [ecx - 0x4bfa2cbb]
mov edx, eax
xor edx, 0x3811a183
add ecx, edx
add ecx, 0xb405d345
not eax
add ecx, eax
add eax, eax
or eax, 0x8fdcbcf8
sub ecx, eax
imul eax, ecx, 0xcd96095b
lea ecx, [eax + 0x520e2bf]
not ecx
mov edx, ecx
and edx, 0xd8a788cd
add eax, edx
add eax, 0x520e2bf
or ecx, 0x27587732
sub eax, ecx
mov ecx, dword [esi + 0x4c]
mov dword [ecx], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
movzx eax, word [eax]
mov ecx, dword [esi + 0x98]
mov word [ecx], ax
movzx edi, word [ecx]
mov ecx, edi
not ecx
lea eax, [ecx + ecx]
sub eax, ecx
mov dword [esi + 4], eax
mov eax, ecx
and eax, 0xfff
add eax, ecx
mov dword [esi + 8], eax
or ecx, 0xfffff000
mov ebx, ecx
not ebx
lea edx, [ecx + ebx*2]
lea ebx, [ecx + ebx*2]
add ebx, 1
mov eax, ebx
and eax, 0x53bf
mov ecx, ebx
and ecx, 0xffffac40
sub ecx, eax
lea eax, [ecx + edx]
add eax, 1
xor ebx, 0x53bf
sub eax, ebx
lea ecx, [eax + 0x53bf]
mov edx, ecx
or edx, 0xd99
add eax, edx
add eax, 0x53bf
not ecx
or ecx, 0xd99
add ecx, eax
mov edx, edi
mov dword [esi], edi
lea eax, [edi + ecx]
add eax, 0xffffe4cf
add ecx, edi
add ecx, ecx
add ecx, 0xffffc99e
sub ecx, eax
mov eax, edi
xor eax, 0xffff9ca6
add eax, edi
or edx, 0xffff9ca6
sub eax, edx
mov edx, dword [esi + 4]
and edx, 0xffff9ca6
or eax, edx
mov edx, eax
and edx, 0x1359
add edx, edx
mov ebx, eax
xor ebx, 0x1359
sub ebx, edx
mov edx, eax
xor edx, 0x6ca6
add edx, ebx
add edx, eax
lea eax, [ecx + 0xd99]
mov ebx, eax
xor ebx, 0xffff8221
add ecx, ebx
add ecx, 0xd99
mov ebx, eax
not ebx
and ebx, 0x7dde
add ebx, ecx
and eax, 0xffff8221
lea ecx, [ebx + eax]
mov dword [esi + 4], ecx
lea ecx, [eax + ebx]
add ecx, 0x7de0
mov edi, ecx
not edi
lea ebx, [edx + edx]
add ebx, 0x26b4
mov dword [esi + 0x10], ebx
mov eax, edi
and eax, ebx
mov ebx, dword [esi + 4]
add eax, ebx
add eax, 0x7de0
lea eax, [eax + edx*2]
add eax, 0x26b4
mov edx, dword [esi + 0x10]
xor ecx, edx
not ecx
add ecx, eax
or edi, edx
sub ecx, edi
mov eax, ecx
and eax, 0x7dde
mov edx, ecx
or edx, 0xffff8221
add eax, edx
not edx
add edx, eax
and ecx, 0xffff8221
lea eax, [edx + ecx]
add edx, ecx
add edx, 0xffff8222
add eax, eax
add eax, 0xffff0444
sub edx, eax
mov ebx, dword [esi]
or ebx, 0xfff
lea ecx, [ebx + ebx]
sub ecx, ebx
lea eax, [edx + ecx*2]
add ecx, ecx
mov edi, edx
xor edi, ecx
add edi, eax
sub edi, ecx
mov eax, edx
not eax
or eax, ecx
add eax, edi
and ecx, edx
add ecx, eax
mov edi, dword [esi]
mov edx, edi
and edx, 0x7000
mov eax, dword [esi + 8]
lea eax, [eax + edx*2]
xor edi, 0xfffff000
add eax, edi
add eax, 0x1001
add edx, edx
sub edx, ebx
add edx, 0xfff
mov ebx, edx
not ebx
and ebx, eax
add ebx, ebx
mov edi, eax
or edi, edx
mov dword [esi], edi
mov edi, eax
not edi
or edi, edx
and edx, eax
sub eax, ebx
mov ebx, dword [esi]
add ebx, eax
sub ebx, edi
mov eax, ecx
and eax, 0xffffd0ca
sub eax, ecx
not ecx
not edx
add edx, ebx
mov edi, edx
not edi
add edi, edi
add edi, edx
or ecx, 0x2f35
add ecx, eax
lea eax, [ecx + edi]
add ecx, edi
add ecx, 0x2f37
mov edx, ecx
and edx, 0x2f35
add eax, edx
add eax, 0x2f37
not ecx
mov edx, ecx
and edx, 0xffffd0ca
sub eax, edx
mov edx, ecx
and edx, 0x2f35
add edx, eax
or ecx, 0x2f35
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x7260
mov edx, ecx
xor edx, 0xf6d
add edx, edx
lea edx, [edx + eax*2]
add edx, 0xe4c0
add eax, eax
add eax, 0xe4c0
or eax, 0x1eda
sub edx, eax
xor ecx, 0x7092
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x1edb
mov edx, ecx
xor edx, 0x1000
add eax, edx
add eax, 0x1edb
mov edx, ecx
or edx, 0xffffefff
add edx, eax
mov eax, ecx
not eax
add eax, edx
and ecx, 0x1000
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x1002
not eax
mov ecx, eax
and ecx, 0x7092
add ecx, edx
add ecx, 0x1002
or eax, 0xffff8f6d
sub ecx, eax
imul eax, ecx, 0x3b27
mov ecx, eax
and ecx, 0x19b3
lea ecx, [eax + ecx*2]
not eax
lea ecx, [ecx + eax*2]
add eax, eax
or eax, 0x3366
sub ecx, eax
imul ecx, ecx, 0xffff8497
lea eax, [ecx + 0xb6b]
mov edx, eax
and edx, 0xfffff494
add ecx, edx
add ecx, 0xb6b
mov edx, eax
or edx, 0xb6b
add edx, ecx
mov ecx, eax
xor ecx, 0xfffff494
add ecx, edx
not eax
add eax, ecx
add eax, 0xfffff497
movzx eax, ax
mov edi, dword [esi + 0xbc]
mov dword [edi], eax
mov eax, dword [esi + 0xb8]
mov ecx, dword [eax]
mov dword [esi + 4], ecx
mov edx, ecx
not edx
mov dword [esi + 0x28], edx
mov eax, edx
and eax, 0x358b9b50
sub ecx, eax
mov eax, edx
or eax, 0xca7464af
lea ebx, [eax + ecx]
add eax, ecx
add eax, 0x6b1736a1
mov edi, dword [edi]
mov ecx, eax
xor ecx, edi
lea ebx, [ecx + ebx*2]
add ebx, 0xd62e6d42
not ecx
lea ecx, [ebx + ecx*2]
mov edx, edi
not edx
or eax, edx
add eax, eax
sub ecx, eax
mov eax, ecx
not eax
and eax, 0x358b9b50
add eax, ecx
or ecx, 0xca7464af
add ecx, eax
mov dword [esi + 0x10], ecx
mov eax, edx
and eax, 0x2382cf67
mov ecx, edx
or ecx, 0x2382cf67
sub eax, ecx
not ecx
add ecx, ecx
sub eax, ecx
mov ecx, edi
and ecx, 0xdc7d3098
mov ebx, edi
and ebx, 0x2382cf67
sub ecx, ebx
mov ebx, edi
xor ebx, 0xdc7d3098
add ebx, ecx
mov ecx, edx
or ecx, 0xdc7d3098
add eax, ecx
add eax, edi
mov dword [esi + 0x14], edi
xor edi, 0x2382cf67
add edi, ebx
sub edi, ecx
mov ecx, eax
not ecx
and ecx, edi
mov ebx, eax
or ebx, edi
add ebx, ecx
and eax, edi
not edi
add edi, ebx
add eax, edi
add eax, 1
mov ecx, eax
and ecx, 0x2382cf67
mov edi, eax
xor edi, 0xdc7d3098
add edi, ecx
not eax
or eax, 0xdc7d3098
lea ecx, [edi + eax]
add eax, edi
add eax, 1
mov ebx, dword [esi + 4]
mov edi, ebx
xor edi, eax
add ecx, edi
add ecx, 1
add ecx, edi
mov edi, ebx
and edi, eax
mov dword [esi + 0x1c], edi
not eax
lea eax, [ecx + eax*2]
mov dword [esi], eax
mov dword [esi + 0x24], edx
mov ecx, edx
lea edx, [edx + edx*2]
add ecx, ecx
sub edx, ecx
mov ecx, dword [esi + 4]
mov edi, ecx
xor edi, edx
or ecx, edx
add ecx, edi
mov ebx, dword [esi + 0x28]
add dword [esi], ebx
lea eax, [ebx + ebx]
sub eax, ebx
sub eax, ebx
mov edi, ebx
and edi, eax
mov dword [esi + 0x38], edi
mov edi, ebx
or edi, eax
mov dword [esi + 0x2c], edi
xor eax, ebx
mov dword [esi + 8], eax
mov dword [esi + 0x44], ebx
mov dword [esi + 0x54], ebx
or ebx, edx
not edx
add edx, ecx
lea edi, [ebx + edx]
add edi, 2
mov ecx, dword [esi + 4]
and edi, ecx
mov eax, ecx
and ecx, 0xff50b344
or eax, 0xff50b344
add eax, ecx
mov ecx, dword [esi + 0x54]
or ecx, 0xff50b344
add eax, ecx
add eax, 0xaf4cbd
mov ecx, dword [esi + 0x44]
and ecx, 0xaf4cbb
or eax, ecx
mov dword [esi + 4], eax
mov eax, dword [esi + 0x24]
and eax, 0xaf4cbb
mov ecx, eax
not ecx
lea ecx, [eax + ecx*2]
mov ebx, 0xfffffffe
sub ebx, ecx
mov edx, dword [esi + 0x14]
and edx, 0xff50b344
mov ecx, ebx
or ecx, edx
mov eax, ebx
xor eax, edx
add eax, ecx
mov ecx, edx
not ecx
or ecx, ebx
add ecx, eax
and edx, ebx
not ebx
add ebx, ecx
lea eax, [edx + ebx]
add eax, 2
xor eax, dword [esi + 4]
mov edx, eax
not edx
mov ebx, eax
and ebx, 0x5724ffe9
mov ecx, edx
and ecx, 0x5724ffe9
add ecx, ecx
sub ebx, ecx
mov ecx, edx
or ecx, eax
xor eax, 0x5724ffe9
add eax, ebx
add eax, edx
add eax, 0x5724ffea
mov dword [esi + 4], eax
and edx, 0xa8db0016
and ecx, 0xa8db0016
lea eax, [ecx + edx]
add eax, 0x5724ffea
mov ebx, eax
not ebx
mov ecx, ebx
mov edx, dword [esi + 4]
and ecx, edx
mov dword [esi + 0x14], ecx
mov ecx, eax
or eax, edx
not edx
and ecx, edx
sub ecx, dword [esi + 0x14]
add eax, ecx
sub eax, edx
add eax, ebx
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x5724ffe9
xor eax, 0x5724ffe9
add eax, edx
mov edx, ecx
and edx, 0xa8db0016
add edx, eax
sub ecx, edx
mov ebx, dword [esi + 0x1c]
mov eax, ebx
not eax
lea edx, [eax + eax]
sub dword [esi], edx
mov edx, dword [esi]
add edx, 1
not edx
mov dword [esi], edx
mov edx, ebx
and edx, dword [esi]
add edx, ebx
sub edx, dword [esi]
add edx, eax
mov ebx, dword [esi + 0x10]
lea eax, [ebx + ecx]
add ecx, ebx
add ecx, 0xdfef9ae6
lea eax, [eax + edx*2]
add eax, 0xdfef9ae6
mov ebx, ecx
or ebx, edx
not ebx
add ebx, eax
not ecx
or ecx, edx
sub ebx, ecx
mov eax, ebx
not eax
and eax, 0xea84c9cb
lea eax, [eax + ebx*2]
or ebx, 0xea84c9cb
sub eax, ebx
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x2c]
add ecx, edx
not edx
add edx, ecx
mov ebx, dword [esi + 8]
add ebx, edx
mov dword [esi + 8], ebx
lea ecx, [eax - 0x157b3635]
add eax, eax
add eax, 0xd5099396
sub ecx, eax
mov eax, ebx
not eax
lea edx, [ecx + ecx]
sub edx, ebx
mov ebx, ecx
xor ebx, eax
sub edx, ebx
mov ebx, dword [esi + 8]
or ebx, ecx
sub edx, ebx
and eax, ecx
not eax
lea ecx, [edx + eax]
add ecx, 0xffffffff
mov dword [esi], ecx
add eax, edx
mov edx, edi
not edx
and edx, 0x1dc4c4a6
mov ebx, edi
xor ebx, 0xe23b3b59
add ebx, edx
and edi, 0xe23b3b59
add ebx, edi
lea ecx, [edx + ebx]
add ecx, 1
mov ebx, edi
not ebx
mov edx, ecx
and edx, ebx
mov dword [esi + 4], edx
mov edx, ecx
or edx, edi
add edx, dword [esi + 4]
xor edi, ecx
not edi
add edi, edx
or ebx, ecx
sub edi, ebx
mov edx, 1
sub edx, eax
mov ecx, edx
or ecx, 0xe4eb506d
lea ebx, [ecx + ecx]
sub ebx, dword [esi]
not ecx
lea ecx, [ebx + ecx*4]
xor edi, 0xe23b3b59
xor edx, 0x1b14af92
add edx, edx
sub ecx, edx
add eax, eax
add eax, 0xfffffffc
or eax, 0x36295f24
sub ecx, eax
add ecx, 0x1b14af93
mov eax, ecx
sub eax, edi
neg edi
mov edx, ecx
xor edx, edi
add edx, eax
mov eax, ecx
or eax, edi
not eax
add eax, edx
and ecx, edi
lea edx, [eax + ecx]
add eax, ecx
add eax, 1
mov ecx, eax
not ecx
mov edi, ecx
and edi, 0xe4eb506d
add edx, edi
add edx, 1
xor eax, 0x1b14af92
add eax, edx
or ecx, 0xe4eb506d
sub eax, ecx
add eax, 0xe4eb506d
imul ecx, eax, 0x187a5526
imul eax, eax, 0x24b77fb9
sub eax, ecx
imul eax, eax, 0x73da839b
mov ecx, dword [esi + 0x50]
mov dword [ecx], eax
mov eax, dword [esi + 0x98]
movzx eax, word [eax]
mov dword [esi], eax
mov eax, dword [0x1007d0c8]
lea edx, [eax - 1]
lea ecx, [eax + eax*2]
add ecx, 0xfffffffe
sub ecx, edx
sub ecx, edx
mov ebx, dword [0x1007d0c4]
mov edi, ebx
not edi
mov dword [esi + 0x10], edi
mov edx, eax
not edx
mov dword [esi + 4], edx
lea eax, [eax + edx*2]
add eax, 1
and eax, edi
mov edi, eax
not edi
lea eax, [eax + edi*2]
add eax, 1
mov edi, eax
not edi
add edi, edi
add edi, eax
mov edx, ecx
or edx, edi
lea eax, [edi + ecx]
mov dword [esi + 8], eax
not edi
mov eax, ecx
xor eax, edi
add eax, dword [esi + 8]
add eax, edx
and edi, ecx
not ecx
add ecx, eax
lea eax, [ecx + edi]
mov dword [esi + 8], eax
add edi, ecx
add edi, 3
mov edx, dword [esi + 0x10]
lea ecx, [ebx + edx*2]
add ecx, 1
mov eax, ecx
and eax, 0x2c6942de
lea eax, [eax + eax*2]
not ecx
lea eax, [eax + ecx*2]
add ecx, ecx
or ecx, 0x58d285bc
sub eax, ecx
mov ecx, ebx
and ecx, 0xd396bd21
xor ebx, 0x2c6942de
sub ebx, ecx
sub ebx, edx
add ebx, 0xd396bd21
mov ecx, ebx
not ecx
and ecx, eax
mov edx, eax
or edx, ebx
add ecx, edx
add ecx, edx
xor ebx, eax
not ebx
add ebx, ecx
not eax
lea edx, [ebx + eax]
lea ecx, [eax + ebx]
add ecx, 2
mov eax, ecx
xor eax, 0xd396bd21
add edx, eax
add edx, 2
mov eax, ecx
not eax
and eax, 0x2c6942de
add eax, edx
or ecx, 0x2c6942de
sub eax, ecx
not eax
and eax, dword [esi + 4]
mov ecx, edi
xor ecx, 0x48bb5d18
mov edx, dword [esi + 8]
lea ecx, [ecx + edx*2]
add ecx, 6
xor edi, 0x3744a2e7
lea ecx, [ecx + edi*2]
not eax
add edx, edx
add edx, 6
or edx, 0x6e8945ce
sub ecx, edx
mov edi, eax
neg edi
mov edx, ecx
not edx
and edx, edi
add edx, ecx
sub edx, eax
add eax, 0xffffffff
or eax, ecx
lea ecx, [edx + eax]
add eax, edx
add eax, 1
mov edx, eax
not edx
and edx, 0x48bb5d18
add ecx, edx
add ecx, 1
or eax, 0xb744a2e7
add eax, ecx
imul eax, eax, 0xa4bdc70d
add eax, 0xc3108a57
mov ecx, eax
and ecx, 0xe921d860
sub eax, ecx
sub eax, ecx
not ecx
add ecx, ecx
sub eax, ecx
imul eax, eax, 0xbb785fc5
lea edi, [eax + 0x5b81e96]
mov ecx, edi
xor ecx, 0xe82199c5
add eax, ecx
add eax, 0x5b81e96
mov ecx, edi
or ecx, 0x17de663a
add ecx, eax
mov eax, edi
not eax
add eax, ecx
mov dword [esi + 4], eax
mov ecx, dword [0x1007ddc8]
mov eax, ecx
not eax
mov edx, dword [0x1007ddcc]
and eax, edx
and ecx, edx
mov dword [esi + 0x10], ecx
not edx
add edx, eax
mov dword [esi + 0x14], edx
mov eax, dword [0x1007ddd0]
mov ecx, eax
not ecx
mov edx, dword [0x1007ddd4]
mov ebx, ecx
and ebx, edx
add ebx, ebx
xor eax, edx
sub eax, ebx
add eax, edx
add eax, ecx
add eax, 0xb
shr dword [esi], 0xc
and edi, 0xe82199c5
mov dword [esi + 0x1c], edi
mov ecx, dword [esi + 4]
add ecx, edi
add ecx, 0x25205997
mov edx, ecx
xor edx, 0xe82199c5
mov dword [esi + 0x28], edx
xor ecx, 0x17de663a
mov dword [esi + 0x24], ecx
cmp dword [0x10088b48], eax
setge bh
setl bl
mov eax, dword [0x10088b44]
lea edx, [eax - 1]
imul edx, eax
mov eax, dword [0x1007ddd8]
mov ecx, eax
not ecx
mov edi, dword [0x1007dddc]
mov dword [esi + 8], edi
mov edi, ecx
and edi, dword [esi + 8]
or eax, dword [esi + 8]
not eax
add eax, edi
sub eax, ecx
and edx, 1
cmp edx, eax
mov eax, dword [esi + 0x40]
mov ecx, dword [esi]
mov word [eax], cx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x1c]
lea eax, [eax + ecx]
mov ecx, dword [esi + 0x28]
lea eax, [ecx + eax + 0x25205997]
mov ecx, dword [esi + 0x24]
lea eax, [ecx + eax - 0x17de663a]
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
lea eax, [eax + ecx + 0x62721318]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
sete al
mov ecx, ebx
and cl, al
and bh, al
add bh, cl
add bh, al
or bl, al
add bl, bh
test bl, 1
jne 0x10016e20
mov eax, dword [esi + 0x70]
mov eax, dword [eax]
mov ecx, dword [esi + 0x30]
mov dword [ecx], eax
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov ecx, dword [esi + 0x94]
mov dword [ecx], eax
mov ecx, dword [ecx]
mov eax, ecx
not eax
lea edx, [eax + eax]
lea edx, [ecx + edx + 1]
mov edi, edx
not edi
mov ebx, edx
or ebx, edi
and ebx, ecx
mov dword [esi], ecx
add edi, edi
add edi, edx
add edi, 1
or edx, eax
add edx, ebx
add edx, 1
lea ebx, [edx + edx*2]
sub ebx, edx
sub ebx, edx
mov edx, ecx
neg edx
and edx, ebx
sub ebx, edx
sub ebx, edx
add ebx, dword [esi]
not edx
add edx, edx
sub ebx, edx
not edi
lea ecx, [ebx + edi]
lea edx, [ebx + edi]
add edx, 0xe11fc59
not edx
lea edi, [edx + ecx*2]
add edi, 0xe11fc58
mov ecx, edi
and ecx, 0xa16d141b
mov ebx, edi
xor ebx, 0xa16d141b
add ebx, ecx
mov edx, edi
xor edx, 0x5e92ebe4
add edx, ebx
not edi
or edi, 0xa16d141b
sub edx, edi
lea ecx, [edx + 0x5e92ebe4]
and ecx, 0x5e92ebe4
add ecx, edx
add ecx, 0x5e92ebe4
mov ebx, 0xa16d141b
sub ebx, edx
or ebx, 0xa16d141b
lea edi, [ecx + ebx]
lea edx, [ebx + ecx]
add edx, 0xa16d141c
mov ecx, dword [esi]
add eax, ecx
add eax, ecx
add ecx, ecx
sub eax, ecx
not edx
mov ecx, edx
and ecx, 0xbfb9b383
add ecx, edi
add ecx, 0xa16d141c
mov edi, eax
neg edi
or edx, 0x40464c7c
sub ecx, edx
mov edx, ecx
not edx
and edx, edi
lea edx, [edx + ecx*2]
sub edx, eax
or ecx, edi
sub edx, ecx
imul eax, edx, 0xff8afed3
add eax, 0x78ac1234
mov edx, eax
and edx, 0x3811a183
not eax
or eax, 0x3811a183
sub edx, eax
lea eax, [edx + 0x3811a182]
mov ecx, eax
and ecx, 0x7bf431c2
lea edi, [edx + ecx*2]
add edi, 0x3811a182
mov ecx, 0xc7ee5e7d
sub ecx, edx
mov edx, ecx
and edx, 0x7bf431c2
add edx, edi
mov edi, ecx
and edi, 0x40bce3d
lea edx, [edx + edi*2]
xor eax, 0x7bf431c2
add eax, edx
or ecx, 0x7bf431c2
sub eax, ecx
lea ecx, [eax + 0x7bf431c3]
mov edx, ecx
not edx
mov edi, ecx
and edi, 0x3811a183
add eax, edi
add eax, 0x7bf431c3
and edx, 0xc7ee5e7c
add edx, eax
xor ecx, 0x3811a183
add ecx, edx
imul eax, ecx, 0xcd96095b
lea ecx, [eax - 0x491dfb36]
xor ecx, 0x27587732
lea edx, [ecx + eax*2]
add edx, 0x6dc40994
add eax, eax
add eax, 0x6dc40994
or eax, 0x4eb0ee64
sub edx, eax
lea ecx, [edx + 0x27776c6e]
mov eax, ecx
not eax
add edx, edx
add edx, 0x4eeed8dc
mov edi, ecx
xor edi, 0x27587732
sub edx, edi
or ecx, 0xd8a788cd
sub edx, ecx
or eax, 0xd8a788cd
add eax, edx
add eax, 0xd8a788ce
mov ecx, dword [esi + 0x4c]
mov dword [ecx], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
movzx eax, word [eax]
mov ecx, dword [esi + 0x98]
mov word [ecx], ax
movzx edx, word [ecx]
mov dword [esi + 8], edx
not edx
mov dword [esi], edx
mov edi, edx
and edi, 0xfffff000
mov ebx, edx
and ebx, 0xfff
mov dword [esi + 0x10], ebx
mov ecx, edi
mov dword [esi + 4], edi
sub ecx, ebx
mov eax, edx
or eax, 0xfffff000
add eax, ecx
mov ecx, dword [esi + 8]
or ecx, 0xfffff000
sub eax, ecx
not edi
add edi, eax
not edi
lea eax, [edi + edi]
sub eax, edi
lea ebx, [eax + 0x53bf]
mov ecx, ebx
and ecx, 0x53bf
add ecx, ecx
neg ecx
add ecx, eax
add ecx, 0x53bf
xor ebx, 0xffffac40
add ebx, ecx
lea ecx, [eax + ebx]
add ecx, 0x53bf
add eax, ebx
add eax, 0x53c0
mov edx, eax
xor edx, 0xd99
add ecx, edx
add ecx, 1
mov edx, eax
not edx
and edx, 0xfffff266
add edx, ecx
and eax, 0xd99
lea ecx, [edx + eax]
add eax, edx
add eax, 0xfffff268
mov ebx, eax
not ebx
mov edx, ebx
mov edi, dword [esi + 8]
and edx, edi
add ecx, edx
add ecx, 0xfffff268
add ecx, edi
xor eax, edi
not eax
add eax, ecx
or ebx, edi
sub eax, ebx
mov ecx, eax
and ecx, 0xfffff266
mov edx, eax
or edx, 0xd99
add ecx, edx
not edx
add edx, ecx
and eax, 0xd99
lea ecx, [edx + eax]
mov dword [esi + 0x14], ecx
lea ecx, [eax + edx]
add ecx, 0xd9a
mov ebx, edi
and ebx, 0x6359
add ebx, ebx
mov eax, edi
or eax, 0xffff9ca6
sub ebx, eax
mov edx, dword [esi]
and edx, 0xffff9ca6
add ebx, 0xffff9ca6
mov eax, ebx
not eax
or eax, ebx
and eax, edx
sub eax, edx
or ebx, edx
add ebx, eax
mov eax, ebx
not eax
and eax, 0x1359
add eax, eax
lea eax, [eax + ebx*2]
mov edx, ebx
xor edx, 0x1359
sub edx, eax
add ebx, ebx
or ebx, 0x26b2
add ebx, edx
mov eax, ecx
xor eax, 0xffff8221
mov edx, dword [esi + 0x14]
add eax, edx
add eax, 0xd9a
xor ecx, 0x7dde
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x7de0
lea ecx, [edx + ebx*2]
add ecx, 0x7de0
add ebx, ebx
mov edx, eax
xor edx, ebx
add edx, ecx
mov ecx, ebx
not ecx
add ecx, edx
mov edx, eax
not edx
or edx, ebx
add edx, ecx
and ebx, eax
lea eax, [edx + ebx]
lea ecx, [ebx + edx]
add ecx, 2
not ecx
lea eax, [ecx + eax*2]
add eax, 4
mov dword [esi + 0x1c], eax
mov ecx, edi
and ecx, 0xfff
mov ebx, dword [esi]
mov eax, dword [esi + 4]
lea edx, [eax + ebx]
lea ecx, [edx + ecx*2]
mov edx, edi
xor edx, 0xfff
add edx, ecx
add edx, 0xfffff002
mov ecx, edx
not ecx
add ecx, ecx
add ecx, edx
add ecx, ecx
not ecx
mov eax, dword [esi + 0x1c]
lea edx, [eax + ecx]
mov dword [esi + 0x14], edx
lea eax, [ecx + eax - 0x7ddf]
mov dword [esi + 0x1c], eax
lea eax, [ebx + ebx]
add eax, edi
add eax, 1
sub edi, dword [esi + 4]
add edi, dword [esi + 0x10]
or ebx, 0xfff
lea ecx, [ebx + edi]
add ecx, 0xffffe002
and eax, 0xfff
mov edx, eax
xor edx, eax
not edx
and edx, ecx
xor edx, eax
mov edi, eax
xor edi, ecx
sub edx, edi
or eax, ecx
add eax, edx
mov ecx, eax
not ecx
add ecx, ecx
lea edx, [ecx + eax]
add edx, 1
add eax, eax
sub eax, eax
mov ecx, edx
and ecx, eax
mov edi, edx
or edi, eax
lea ecx, [edi + ecx*2]
not edx
lea ecx, [ecx + edx*2]
or edx, eax
add edx, edx
sub ecx, edx
mov edi, dword [esi + 0x1c]
mov eax, edi
and eax, 0x2f35
mov edx, dword [esi + 0x14]
add eax, edx
add eax, 0xffff8221
mov edx, edi
or edx, 0xffffd0ca
add edx, eax
mov eax, edi
xor eax, 0x2f35
add eax, edx
sub eax, edi
lea edi, [ecx + eax*2]
add edi, 0x5e6e
add eax, 0x2f37
mov edx, eax
or edx, ecx
not edx
add edx, edi
not ecx
or ecx, eax
sub edx, ecx
mov ecx, edx
not ecx
mov eax, ecx
and eax, 0x2f35
add eax, edx
or ecx, 0xffffd0ca
sub eax, ecx
lea ecx, [eax - 0x5e6c]
not ecx
mov edx, ecx
and edx, 0x7092
add eax, edx
add eax, 0xffffa194
or ecx, 0xffff8f6d
sub eax, ecx
imul eax, eax, 0x3b27
add eax, 0x689b
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xffff99b3
sub eax, edx
or ecx, 0x664c
add ecx, eax
imul eax, ecx, 0xffff8497
lea ecx, [eax - 0x7b69]
mov edx, ecx
not edx
and edx, 0xb6b
add eax, edx
add eax, 0xffff8497
or ecx, 0xfffff494
add eax, ecx
add eax, 0xfffff496
movzx eax, ax
mov ecx, dword [esi + 0xbc]
mov dword [ecx], eax
mov eax, dword [esi + 0xb8]
mov edx, dword [eax]
mov dword [esi + 8], edx
mov edi, dword [ecx]
lea ecx, [edx + 0x358b9b50]
mov eax, ecx
xor eax, edi
add edx, edi
add edx, 0x358b9b50
add eax, edx
mov ebx, edi
mov dword [esi + 0x1c], edi
not ebx
mov dword [esi + 0x14], ebx
mov edx, ecx
or edx, ebx
add edx, eax
mov ebx, ecx
not ebx
add ebx, edx
and ecx, edi
lea eax, [ebx + ecx]
mov dword [esi], eax
lea eax, [ecx + ebx]
add eax, 0xca7464b2
mov dword [esi + 0x10], eax
mov ebx, dword [esi + 8]
mov eax, ebx
not eax
mov ecx, eax
or ecx, ebx
mov edx, eax
mov edi, eax
and edx, 0xaf4cbb
and ecx, 0xaf4cbb
lea eax, [ecx + edx]
add eax, 0xff50b345
mov edx, ebx
mov ecx, ebx
and edx, 0xff50b344
mov dword [esi + 4], edi
mov ebx, edi
and ebx, 0x7f50b344
add ebx, ebx
sub edx, ebx
mov ebx, ecx
xor ebx, 0xff50b344
add ebx, edx
add ebx, edi
add ebx, 0xff50b345
mov edx, eax
not edx
mov edi, edx
and edi, ebx
mov ecx, eax
or eax, ebx
not ebx
and ecx, ebx
sub ecx, edi
add eax, ecx
sub eax, ebx
add eax, edx
mov ecx, dword [esi + 0x1c]
mov edx, ecx
xor edx, 0xaf4cbb
add edx, ecx
or ecx, 0xaf4cbb
sub edx, ecx
mov ecx, dword [esi + 0x14]
and ecx, 0xaf4cbb
or edx, ecx
xor edx, eax
mov eax, edx
not eax
mov ecx, eax
and ecx, 0xa8db0016
mov ebx, edx
or ebx, eax
and eax, 0x5724ffe9
sub ecx, eax
mov eax, edx
xor eax, 0x5724ffe9
add eax, ecx
mov ecx, edx
xor ecx, 0xa8db0016
add ecx, eax
mov eax, edx
or eax, 0xa8db0016
sub ecx, eax
and edx, 0x5724ffe9
and ebx, 0x5724ffe9
add edx, ebx
add edx, 0xa8db0017
mov eax, edx
not eax
and eax, ecx
mov edi, ecx
or edi, edx
add edi, eax
not ecx
or ecx, edx
lea eax, [ecx + edi]
add eax, 1
xor eax, 0x5724ffe9
lea edx, [eax - 1]
lea ecx, [eax + eax]
add ecx, 0xfffffffe
sub ecx, edx
add ecx, 1
mov edx, ecx
not edx
mov edi, dword [esi + 0x10]
mov eax, edi
and eax, edx
mov ebx, dword [esi]
lea eax, [eax + ebx*2]
add eax, 0x94e8c964
sub eax, ecx
or ecx, edi
sub eax, ecx
sub eax, edx
mov dword [esi + 0x24], eax
mov edi, dword [esi + 0x14]
mov eax, edi
and eax, 0x2382cf67
mov ebx, dword [esi + 0x1c]
mov edx, ebx
and edx, 0xdc7d3098
or eax, edx
mov ecx, ebx
or ecx, 0x2382cf67
sub eax, ecx
add edx, ebx
mov ecx, edi
and ecx, 0xdc7d3098
add ecx, edx
mov edx, ebx
or edx, 0xdc7d3098
sub ecx, edx
add eax, 0x2382cf67
or ecx, eax
xor ecx, 0xdc7d3098
mov dword [esi], ecx
mov eax, dword [esi + 8]
and eax, ecx
mov dword [esi + 0x28], eax
mov edx, dword [esi + 4]
and edx, ecx
mov ecx, edx
lea edx, [eax + eax*2]
add ecx, edx
mov dword [esi + 0x2c], ecx
add ebx, ebx
mov eax, edi
mov edx, edi
sub edx, ebx
add eax, edi
sub edx, eax
add edx, 0xfffffffe
mov eax, dword [esi + 8]
mov edi, eax
xor edi, edx
mov ebx, eax
or ebx, edx
not ebx
lea edi, [ebx + edi*2]
and edx, eax
add edi, edx
add edi, 1
mov ecx, edi
not ecx
mov edx, edi
or edx, ecx
and edx, eax
mov dword [esi + 0x14], edx
xor edi, eax
or ecx, eax
mov dword [esi + 0x1c], ecx
mov edx, eax
mov ecx, eax
mov eax, dword [esi]
or edx, eax
not edx
mov ebx, dword [esi + 0x2c]
lea ebx, [ebx + edx*2]
xor ecx, eax
mov eax, dword [esi + 0x28]
add eax, ecx
not ecx
sub ebx, ecx
mov dword [esi + 8], ebx
mov ebx, dword [esi]
or ebx, dword [esi + 4]
mov dword [esi], ebx
mov ebx, dword [esi + 8]
sub ebx, dword [esi]
add eax, edx
sub eax, ecx
or eax, ebx
mov ecx, dword [esi + 0x10]
not ecx
mov edx, dword [esi + 0x24]
lea ebx, [edx + ecx]
add ecx, edx
add ecx, 0x157b3635
lea ebx, [eax + ebx*2]
add ebx, 0x2af66c6a
mov edx, ecx
xor edx, eax
sub ebx, edx
mov edx, eax
not edx
or edx, ecx
sub ebx, edx
and eax, ecx
not eax
add eax, ebx
mov edx, eax
and edx, 0xea84c9cb
lea ecx, [eax + eax]
sub ecx, edx
mov edx, eax
not edx
and edx, 0xea84c9cb
add edx, ecx
xor eax, 0xea84c9cb
sub edx, eax
mov eax, dword [esi + 4]
lea ebx, [eax + eax*2]
add eax, eax
sub ebx, eax
mov ecx, 0x157b3635
sub ecx, edx
lea eax, [ebx - 1]
mov dword [esi], eax
mov eax, ecx
and eax, dword [esi]
sub eax, edx
sub eax, ebx
mov ebx, dword [esi]
mov edx, ebx
xor edx, ecx
add eax, edx
or ecx, ebx
sub eax, ecx
not edi
add edi, dword [esi + 0x14]
mov ecx, 0xea84c9cb
sub ecx, eax
sub edi, dword [esi + 0x1c]
xor edi, 0x1dc4c4a6
xor edi, 0xe23b3b59
and ecx, 0xe4eb506d
sub ecx, eax
add eax, 0x157b3634
and eax, 0xe4eb506d
add eax, ecx
sub eax, edi
lea ecx, [eax + 0x20ae28f1]
mov edx, ecx
xor edx, 0xe4eb506d
add eax, edx
add eax, 0x20ae28f1
mov edx, ecx
not edx
or edx, 0xe4eb506d
add edx, eax
and ecx, 0xe4eb506d
add ecx, edx
imul eax, ecx, 0xc3d2a93
lea ecx, [eax + 0xc3d2a93]
mov edx, ecx
and edx, 0xf577ba78
add eax, edx
add eax, 0xc3d2a93
mov edx, ecx
or edx, 0xf577ba78
add edx, eax
not ecx
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x3cd1d237
mov edx, ecx
not edx
and edx, 0x7577ba78
add edx, edx
lea eax, [edx + eax*2]
add eax, 0x79a3a46e
xor ecx, 0xa884587
add ecx, eax
imul ecx, ecx, 0x73da839b
lea eax, [ecx - 0x184af8ca]
mov edx, eax
and edx, 0x6a5af662
add edx, edx
add ecx, ecx
add ecx, 0xcf6a0e6c
sub ecx, edx
not eax
mov edx, eax
or edx, 0x15a5099d
sub ecx, edx
or eax, 0xea5af662
add eax, ecx
add eax, 0xea5af663
mov ecx, dword [esi + 0x50]
mov dword [ecx], eax
mov eax, dword [esi + 0x98]
movzx eax, word [eax]
shr eax, 0xc
mov ecx, dword [esi + 0x40]
mov word [ecx], ax
mov eax, dword [0x1007d0c8]
mov edx, eax
not edx
mov dword [esi], edx
lea ecx, [edx + edx]
lea ecx, [ecx + eax*2]
mov dword [esi + 4], ecx
lea ecx, [edx + edx*2]
add ecx, eax
add eax, ecx
add eax, 2
mov edi, dword [0x1007d0c4]
mov ebx, edi
not ebx
mov edx, ebx
and edx, eax
mov ecx, ebx
xor ecx, eax
add ecx, edx
not eax
or eax, ebx
add eax, ecx
add eax, edi
add eax, edx
add eax, 2
mov ecx, eax
not ecx
lea edx, [ecx + ecx*2]
sub ecx, edx
sub ecx, eax
mov edx, dword [esi + 4]
sub edx, dword [esi]
lea eax, [ecx + edx]
mov dword [esi + 4], eax
add ecx, edx
add ecx, 0xffffffff
and ebx, 0x2c6942de
mov eax, edi
and eax, 0x2c6942de
mov edx, ebx
sub edx, eax
not ebx
add ebx, edx
add ebx, 0x2c6942df
mov eax, edi
and eax, 0xd396bd21
add eax, edi
mov edx, edi
xor edx, 0xd396bd21
add edx, eax
mov eax, edi
xor eax, 0x2c6942de
lea eax, [edx + eax*2]
add edi, edi
or edi, 0x58d285bc
sub eax, edi
add eax, 0x2c6942df
mov edx, ebx
not edx
and edx, eax
mov edi, ebx
or edi, eax
add edi, edx
not eax
or eax, ebx
add eax, edi
add eax, 1
mov edx, eax
not edx
and edx, 0xd396bd21
mov edi, eax
xor edi, 0xd396bd21
add edi, edx
or eax, 0x2c6942de
add eax, edi
add eax, 1
not eax
and eax, dword [esi]
mov edx, ecx
xor edx, 0x48bb5d18
mov ebx, dword [esi + 4]
add edx, ebx
add edx, 0xffffffff
mov edi, ecx
or edi, 0xb744a2e7
add edi, edx
sub edi, ebx
mov edx, eax
not edx
and ecx, 0x48bb5d18
add ecx, edi
lea eax, [edx + eax*2]
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x48bb5d1c
mov ecx, eax
xor ecx, 0x48bb5d18
add ecx, edx
add ecx, 0x48bb5d1c
xor eax, 0xb744a2e7
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xb744a2e9
mov ecx, eax
not ecx
and ecx, 0x8881137c
add ecx, edx
add ecx, 0xb744a2e9
and eax, 0x8881137c
add eax, ecx
imul ecx, eax, 0xa4bdc70d
lea eax, [ecx - 0x2e7ec298]
mov edx, eax
and edx, 0x16de279f
add ecx, edx
add ecx, 0xd1813d68
not eax
mov edx, eax
and edx, 0xe921d860
sub ecx, edx
lea edx, [ecx + eax]
add ecx, eax
add ecx, 0xd243b0c1
not ecx
mov eax, ecx
and eax, 0xbe09ae6e
add edx, eax
add edx, 0xd243b0c1
mov eax, ecx
and eax, 0x41f65191
add eax, edx
sub eax, ecx
add eax, 0xbe09ae6e
mov ecx, eax
and ecx, 0x16de279f
not eax
and eax, 0xe921d860
sub ecx, eax
imul eax, ecx, 0xbb785fc5
lea ecx, [eax + 0x25205995]
not ecx
lea eax, [ecx + eax*2]
add eax, 0x32624cf0
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [0x1007e53c]
mov ecx, dword [0x1007e540]
mov edi, ecx
not edi
and edi, eax
mov edx, eax
xor edx, ecx
mov ebx, edx
sub ebx, edi
not edx
add edx, ebx
not eax
or eax, ecx
sub edx, eax
add edx, 0x62721317
mov eax, dword [esi + 0xc]
mov dword [eax], edx
jmp 0x1000e74a
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi], ax
movzx eax, word [0x1007d0d0]
movzx edx, word [0x1007d0d2]
mov dword [esi + 4], edx
mov ebx, eax
mov edi, eax
mov dword [esi + 0x10], eax
not ebx
mov eax, edx
not eax
mov ecx, ebx
and ecx, edx
or eax, ebx
add eax, ecx
sub eax, edx
mov ecx, ebx
mov dword [esi + 0x14], ebx
or ecx, edx
add ecx, eax
lea eax, [edi + ecx]
add eax, 1
mov edx, eax
not edx
add edx, edx
add edx, eax
lea eax, [edi + ebx*2]
add eax, 1
mov ecx, eax
not ecx
sub eax, ecx
sub eax, ecx
add eax, ecx
add eax, ecx
lea ecx, [eax + eax]
lea eax, [ecx + eax*2]
not ecx
mov edi, ecx
sub edi, eax
add ecx, ecx
sub edi, ecx
add edx, edx
mov eax, edx
xor eax, 0xfffffffe
mov ecx, edi
neg ecx
and ecx, eax
sub ecx, edx
lea ebx, [edi - 1]
and edx, ebx
add edx, ecx
lea ecx, [edi + edx]
add ecx, 0xffffffff
xor eax, ebx
sub ecx, eax
mov dword [esi + 8], ecx
mov ebx, dword [esi + 0x14]
mov eax, ebx
and eax, 0x6f16
add eax, ebx
mov edx, dword [esi + 0x10]
mov edi, edx
xor edi, 0xffff90e9
add edi, eax
lea ecx, [ebx + ebx]
mov eax, ecx
or eax, 0xffffde2c
sub edi, eax
mov eax, edx
and eax, 0xffff90e9
lea eax, [eax + eax*2]
lea eax, [eax + ebx*2]
or ecx, 0x21d2
sub eax, ecx
lea edx, [edi + 0x6f16]
mov ebx, edx
and ebx, eax
add ebx, ebx
mov ecx, eax
sub ecx, ebx
mov ebx, edx
or ebx, eax
add ebx, ecx
xor eax, edx
not eax
add eax, ebx
add eax, edi
add eax, 0x6f17
mov ecx, eax
and ecx, 0x6f16
mov edx, eax
xor edx, 0xffff90e9
add edx, ecx
mov ecx, eax
or ecx, 0xffff90e9
add ecx, edx
mov edx, eax
xor edx, 0x6f16
add edx, ecx
not eax
lea edi, [eax + edx]
add edi, 2
mov eax, edi
mov edx, dword [esi + 4]
and eax, edx
add eax, edx
mov ecx, edi
or ecx, edx
not ecx
add eax, ecx
not edi
lea ebx, [edx + ecx*2]
not ebx
add ebx, edi
or edi, edx
sub eax, edi
mov ecx, eax
or ecx, ebx
lea edx, [ebx + ecx]
not ecx
add ecx, edx
not eax
or eax, ebx
mov ebx, dword [esi + 8]
add ebx, 0xfffffffe
sub ecx, eax
mov eax, ebx
not eax
lea edx, [ecx + ecx]
and eax, edx
mov edi, ebx
sub edi, eax
lea eax, [edi + ecx*4]
and ebx, edx
sub eax, ebx
lea ecx, [eax + eax]
sub eax, ecx
mov ecx, eax
not ecx
and ecx, 0xfffffffc
add ecx, eax
or eax, 3
add eax, ecx
add eax, 0xffffa0e5
mov ecx, eax
and ecx, 0x5f20
sub eax, ecx
sub eax, ecx
not ecx
add ecx, ecx
sub eax, ecx
add eax, 0x5f1e
cmp word [esi], ax
mov eax, 0x40b0c0da
mov ecx, 0x12a989ca
cmovl eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [0x1007de18]
mov ecx, dword [0x1007de1c]
mov edx, eax
xor edx, ecx
mov edi, ecx
not edi
or edi, eax
add edi, edx
mov edx, eax
not edx
add edx, edi
and eax, ecx
add eax, edx
add eax, 0x62721319
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov edi, dword [0x10088b40]
cmp dword [0x10088b3c], 0xa
setl al
setge cl
mov edx, edi
xor edx, 1
add edx, edi
mov ebx, edi
xor ebx, 0xfffffffe
add edx, ebx
add edx, 2
imul edx, edi
test dl, 1
sete ah
and cl, ah
mov ch, al
or ch, ah
add ch, cl
add ch, dl
and al, ah
not al
add al, ch
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi], ax
movzx ebx, word [0x1007d0d0]
movzx ecx, word [0x1007d0d2]
mov dword [esi + 8], ecx
mov edi, ebx
not edi
mov eax, ecx
not eax
mov edx, edi
or edx, eax
or eax, ecx
and eax, edi
sub eax, edi
add eax, edx
mov edx, eax
not edx
lea ecx, [edx + edx]
lea eax, [ecx + eax*2]
mov ecx, edx
sub ecx, eax
neg eax
add eax, edx
add eax, 0xfffffffe
not eax
lea ecx, [eax + ecx*2]
add ecx, 0xfffffffc
lea eax, [edi + edi]
mov edx, edi
sub edx, eax
add edx, edi
add edx, edi
add edx, edx
lea ecx, [edx + ecx*2]
mov dword [esi + 4], ecx
add eax, ebx
add eax, 1
mov ecx, edi
and ecx, 0xffff90e9
sub ebx, ecx
mov ecx, edi
and ecx, 0x6f16
add ecx, ebx
or edi, 0x6f16
lea edx, [edi + ecx]
add edx, 0x21d4
and eax, 0x6f16
mov edi, eax
xor edi, eax
not edi
and edi, edx
xor edi, eax
mov ecx, eax
xor ecx, edx
sub edi, ecx
or eax, edx
add eax, edi
mov ecx, eax
xor ecx, 0xffff90e9
lea edi, [ecx + ecx*2]
add edi, eax
lea ecx, [eax + eax]
or ecx, 0x21d2
sub edi, ecx
xor eax, 0x6f16
lea ecx, [edi + eax]
mov dword [esi + 0x10], ecx
add edi, eax
add edi, 0xffff90ea
mov ecx, edi
mov edx, dword [esi + 8]
and ecx, edx
add ecx, edx
mov ebx, edi
or ebx, edx
mov eax, ebx
not eax
add eax, ecx
mov ecx, edi
not ecx
or ecx, edx
sub eax, ecx
mov ecx, dword [esi + 0x10]
add ecx, edx
add ecx, 0xffff90ea
xor edi, edx
lea edx, [ecx + edi*2]
add ebx, ebx
sub edx, ebx
mov ecx, eax
and ecx, edx
mov edi, eax
or edi, edx
lea ecx, [edi + ecx*2]
not eax
lea ecx, [ecx + eax*2]
or eax, edx
add eax, eax
sub ecx, eax
mov ebx, dword [esi + 4]
mov eax, ebx
xor eax, 0xfffffffe
add ecx, ecx
mov edx, ecx
neg edx
add edx, edx
mov edi, eax
sub edi, edx
or eax, ecx
not eax
add eax, edi
or ecx, ebx
or ecx, 1
sub eax, ecx
lea ecx, [eax + eax*2]
not eax
lea ecx, [ecx + eax*2]
mov eax, 0x3d32
sub eax, ecx
mov ecx, eax
xor ecx, 0x5f20
lea ecx, [ecx + eax*2]
mov edx, eax
xor edx, 0x20df
lea ecx, [ecx + edx*2]
add eax, eax
or eax, 0x41be
sub ecx, eax
lea eax, [ecx + 0x41c0]
mov edx, eax
not edx
and edx, 0xffffc2d0
add ecx, edx
add ecx, 0x41c0
or eax, 0x3d2f
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xffffc2d1
mov ecx, eax
not ecx
and ecx, 0x5f20
add ecx, edx
add ecx, 0xffffc2d1
or eax, 0xffffa0df
add eax, ecx
add eax, 0x5f21
cmp word [esi], ax
mov eax, 0x40b0c0da
mov ecx, 0x12a989ca
cmovl eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jmp 0x1000fcdd
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi + 8], ax
movzx ebx, word [0x1007d0d4]
movzx ecx, word [str.qA]
mov eax, ebx
not eax
mov dword [esi + 4], eax
mov edx, ecx
mov edi, ecx
not edx
mov dword [esi], edx
mov ecx, eax
or ecx, edx
mov eax, ecx
not eax
add eax, eax
add eax, ecx
add eax, eax
xor eax, 0xfffffffe
mov edx, edi
mov ecx, edi
neg ecx
mov edi, eax
xor edi, ecx
and ecx, eax
lea eax, [edi + edx*2]
not ecx
add ecx, ecx
sub eax, ecx
mov dword [esi + 0x10], eax
mov ecx, ebx
and ecx, 0x1c79
mov eax, dword [esi + 4]
mov edi, eax
and edi, 0xffffe386
or ecx, edi
or eax, 0x1c79
sub ecx, eax
add ecx, 0x1c79
mov eax, edi
not eax
and eax, ecx
add eax, edi
mov ecx, dword [esi]
and ecx, 0xffffe386
mov dword [esi], ecx
and edx, 0x1c79
add ecx, edx
add edx, ecx
mov edi, ecx
not edi
lea edx, [edx + edi*2]
add edx, ecx
mov ecx, dword [esi]
lea edi, [ecx + edx]
add edi, 2
mov edx, eax
and edx, edi
mov ecx, eax
xor ecx, edi
or eax, edi
add edx, ecx
not eax
add eax, edx
lea edx, [eax + ecx]
add eax, ecx
add eax, 1
not eax
lea ecx, [edx + eax*2 + 1]
mov dword [esi], ecx
lea edi, [edx + eax*2]
add edi, 2
mov eax, 1
mov ecx, dword [esi + 0x10]
sub eax, ecx
mov edx, eax
and edx, 0x54c
add edx, edx
neg edx
add edx, ecx
add edx, 0xfffffffe
add ecx, 0xfffffffe
xor ecx, 0x54c
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax*2]
add eax, eax
or eax, 0xfffff566
sub edx, eax
mov eax, dword [esi]
lea ecx, [edx + eax]
add ecx, 0xffff854d
add edx, 0xffff854c
mov eax, edx
or eax, edi
add eax, ecx
not edx
or edx, edi
not edi
add edi, eax
lea eax, [edx + edi]
add eax, 0x7ab6
mov dword [esi], eax
mov eax, dword [esi + 4]
and eax, 0xffffba40
mov ecx, ebx
xor ecx, 0x45bf
add ecx, eax
and ebx, 0x45bf
add ecx, ebx
add eax, ecx
add eax, 1
mov edx, ebx
not edx
mov ecx, eax
and ecx, edx
mov edi, eax
or edi, ebx
add edi, ecx
xor ebx, eax
not ebx
add ebx, edi
or edx, eax
sub ebx, edx
xor ebx, 0x45bf
mov ecx, ebx
sub ecx, ebx
sub ecx, ebx
lea edx, [ecx + ebx*4]
add edx, 0xfffffffc
lea eax, [ebx + ebx]
add eax, 0xfffffffe
sub edx, eax
add edx, 2
mov edi, dword [esi]
mov eax, edi
sub eax, edx
mov ecx, edi
xor ecx, edx
add ecx, eax
mov eax, edi
or eax, edx
not eax
add eax, ecx
and edx, edi
add eax, edx
add eax, 1
mov edx, eax
and edx, 0xfffff0a7
mov ecx, eax
or ecx, 0xf58
add edx, ecx
not ecx
add ecx, edx
and eax, 0xf58
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xfffff0a9
lea ecx, [edx + edx]
add ecx, 0xffffe152
lea eax, [eax + eax*2]
sub eax, ecx
imul eax, eax, 0xffffb2af
mov ecx, 0x7212
sub ecx, eax
lea eax, [ecx + ecx*2]
add ecx, ecx
sub ecx, eax
imul eax, ecx, 0xffffe44f
mov ecx, eax
xor ecx, 0xbb6
add ecx, eax
xor eax, 0xfffff449
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xbb7
mov ecx, eax
xor ecx, 0x4aea
add ecx, edx
add ecx, 0xbb7
mov edx, eax
not edx
or edx, 0x4aea
add edx, ecx
and eax, 0x4aea
lea ecx, [edx + eax]
add eax, edx
add eax, 1
not eax
lea eax, [eax + ecx*2]
add eax, 0xfffff44d
cmp word [esi + 8], ax
mov ecx, 0x882b1fb6
mov eax, 0x476d50b3
cmove ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [0x1007de48]
mov ecx, dword [0x1007de4c]
mov edx, eax
or edx, ecx
not edx
lea edx, [eax + edx*2]
xor eax, ecx
add eax, edx
mov edi, dword [0x10088b38]
add eax, ecx
add eax, 0xc
cmp dword [0x10088b34], eax
setl cl
mov edx, edi
not edx
add edx, edi
add edx, edi
imul edx, edi
mov ebx, dword [0x1007de54]
mov dword [esi], ebx
not ebx
mov edi, dword [0x1007de50]
and ebx, edi
add ebx, ebx
mov eax, edi
sub eax, ebx
mov ebx, edi
not ebx
or ebx, dword [esi]
sub eax, ebx
and edi, dword [esi]
not edi
add edi, eax
and edx, 1
cmp edx, edi
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 4]
mov dword [eax], edx
setne al
sete dl
xor dl, cl
add dl, al
or cl, al
add cl, dl
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi + 0x14], ax
movzx eax, word [0x1007d0d4]
mov dword [esi + 4], eax
movzx ecx, word [str.qA]
not eax
mov dword [esi], eax
mov edi, ecx
not edi
or eax, edi
lea ebx, [eax + eax]
not eax
mov edx, eax
sub edx, ebx
add eax, eax
sub edx, eax
lea ebx, [edx + edx]
mov dword [esi + 8], ebx
mov eax, 4
sub eax, ebx
mov ebx, ecx
neg ebx
add edx, edx
add edx, 0xfffffffb
and edx, ebx
add edx, edx
xor ebx, eax
sub eax, edx
add eax, ecx
add ebx, eax
mov dword [esi + 0x1c], ebx
mov eax, dword [esi + 4]
mov edx, eax
xor edx, 0xffffe386
add edx, eax
or eax, 0xffffe386
sub edx, eax
mov eax, dword [esi]
and eax, 0xffffe386
or edx, eax
mov ebx, ecx
and ebx, 0x1c79
mov eax, ecx
or eax, 0x1c79
sub ebx, eax
not eax
add eax, eax
sub ebx, eax
sub dword [esi + 8], ecx
mov eax, edi
and eax, 0xffffe386
add eax, edi
add eax, ecx
add eax, 1
or ecx, 0xffffe386
add ecx, ebx
add ecx, edi
mov ebx, ecx
not ebx
and ebx, eax
mov edi, eax
xor edi, ecx
mov dword [esi + 0x10], edi
sub dword [esi + 0x10], ebx
mov ebx, eax
or ebx, ecx
add ebx, dword [esi + 0x10]
not edi
add edi, ebx
not eax
or eax, ecx
sub edi, eax
mov eax, edx
not eax
and eax, edi
mov ecx, edx
xor ecx, edi
add ecx, eax
and edx, edi
not edi
add edi, ecx
lea eax, [edx + edi]
add eax, 1
mov ecx, eax
not ecx
add ecx, ecx
lea edi, [ecx + eax]
lea edx, [ecx + eax]
add edx, 1
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0x1c]
lea ecx, [eax + ebx]
add eax, ebx
add eax, 0xffff8548
lea edi, [ecx + edi*2]
add edi, 0xffff854a
mov ecx, eax
or ecx, edx
not ecx
add ecx, edi
not eax
or eax, edx
sub ecx, eax
mov eax, ecx
not eax
and eax, 0xffff854c
lea eax, [eax + ecx*2]
or ecx, 0xffff854c
sub eax, ecx
mov ebx, dword [esi + 4]
mov ecx, ebx
and ecx, 0x45bf
lea ecx, [ecx + ecx*2]
mov edi, dword [esi]
mov edx, edi
and edx, 0x45bf
add edx, ecx
mov ecx, edi
and ecx, 0x3a40
lea ecx, [edx + ecx*2]
xor ebx, 0x45bf
add ebx, ecx
mov ecx, edi
or edi, 0x45bf
sub ebx, edi
and ecx, 0xffffba40
add ebx, 1
mov edx, ecx
and edx, ebx
mov edi, ecx
or edi, ebx
add edx, edi
not edi
add edi, edx
xor ebx, ecx
lea edx, [ebx + edi]
add edx, 1
mov ecx, edx
xor ecx, 0x45bf
lea edi, [eax + 0x7ab4]
add eax, eax
add eax, 0xf568
sub eax, ecx
mov ebx, edi
xor ebx, ecx
sub eax, ebx
xor edx, 0xffffba40
or edx, edi
sub eax, edx
and ecx, edi
not ecx
add ecx, eax
add ecx, 0xfffff0a8
mov eax, ecx
not eax
mov edx, eax
and edx, 4
add edx, edx
mov edi, ecx
sub edi, edx
xor ecx, 4
lea ecx, [edi + ecx*2]
lea ecx, [ecx + eax*2]
add eax, eax
or eax, 0xfffffff6
sub ecx, eax
lea eax, [ecx + 4]
mov edx, eax
or edx, 0xf58
add ecx, edx
add ecx, 4
not eax
or eax, 0xf58
add eax, ecx
imul eax, eax, 0xffffb2af
mov edi, 0x4d51
sub edi, eax
mov ecx, edi
and ecx, 0xffffe9f6
and edi, 0x1609
mov edx, ecx
sub edx, edi
sub edx, eax
add eax, 0xffffb2ae
or eax, 0xffffe9f6
sub edx, eax
not ecx
lea eax, [edx + ecx]
add eax, 0x3747
not eax
imul eax, eax, 0xffffe44f
lea ecx, [eax - 0x1bb1]
mov edx, ecx
and edx, 0xfffff449
add edx, eax
add edx, 0xffffe44f
mov eax, ecx
xor eax, 0xfffff449
add eax, edx
or ecx, 0xfffff449
sub eax, ecx
lea ecx, [eax + 0x56a0]
mov edx, ecx
and edx, 0xbb6
add edx, edx
neg edx
add edx, eax
add edx, 0x56a0
xor ecx, 0xfffff449
add ecx, edx
add eax, ecx
add eax, 0x56a1
cmp word [esi + 0x14], ax
mov eax, 0x882b1fb6
mov ecx, 0x476d50b3
cmove eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [0x1007e554]
mov ecx, dword [0x1007e558]
mov edx, eax
xor edx, ecx
mov edi, eax
or edi, ecx
not edi
add edi, edx
and eax, ecx
add eax, edi
add eax, 0x62721318
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x100100b8
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi + 8], ax
movzx edi, word [0x1007d0da]
mov dword [esi], edi
mov ecx, edi
not ecx
mov dword [esi + 0x14], ecx
mov eax, ecx
or eax, edi
mov dword [esi + 0x10], eax
and eax, 0xfffff5d4
or ecx, 0xa2b
lea edx, [eax + ecx]
add edx, 1
mov eax, edi
and eax, 0xa2b
mov ecx, eax
not ecx
mov edi, edx
not edi
and edi, eax
mov ebx, edx
or ebx, eax
and eax, edx
and edx, ecx
sub edx, edi
add edx, ebx
not ebx
add ebx, edx
add ecx, ecx
sub ebx, ecx
not eax
add eax, ebx
xor eax, 0xa2b
movzx ecx, word [0x1007d0d8]
mov edx, ecx
not edx
mov dword [esi + 0x44], edx
not eax
lea edi, [edx + edx]
mov dword [esi + 0x1c], edi
lea edx, [edi + ecx]
add edx, eax
add edx, 1
add edi, ecx
add edi, 1
mov ebx, edi
xor ebx, eax
add ebx, edx
or eax, edi
sub ebx, eax
mov eax, ebx
not eax
lea edx, [eax + ebx*2]
lea edi, [edx + eax*2]
lea edx, [edx + eax*2]
add edx, 2
not edx
mov eax, edx
and eax, 0xffffd2bf
add eax, edi
or edx, 0x2d40
sub eax, edx
lea edi, [eax + 0x5a82]
not edi
mov edx, edi
and edx, 0x2d3f
add eax, edx
add eax, 0x5a82
or edi, 0xffffd2c0
sub eax, edi
mov dword [esi + 0x24], eax
mov eax, ecx
mov edi, dword [esi]
and eax, edi
add eax, edi
mov edx, ecx
or edx, edi
not edx
add edx, eax
mov dword [esi + 0x2c], edx
mov ebx, ecx
mov edi, ecx
and edi, 0x8961
mov dword [esi + 0x28], edi
mov eax, ecx
xor eax, 0xffff8961
add eax, edi
mov edx, ecx
or edx, 0x769e
add edx, eax
mov dword [esi + 4], edx
lea edx, [ecx + ecx]
mov edi, dword [esi + 0x44]
mov eax, edi
sub eax, edx
mov dword [esi + 0x38], eax
mov ecx, edi
and ecx, 0x1647
mov dword [esi + 0x48], ecx
mov eax, ebx
xor eax, 0xffffe9b8
add eax, ecx
add eax, ebx
mov dword [esi + 0x54], eax
mov eax, ebx
or ebx, 0xffffe9b8
sub edx, ebx
add dword [esi + 4], edi
lea ecx, [edx + edi]
add ecx, 0xffffe9b9
mov dword [esi + 0x6c], ecx
mov ecx, edi
mov ebx, dword [esi]
or ecx, ebx
mov edx, dword [esi + 0x2c]
sub edx, ecx
xor eax, ebx
or eax, edx
mov ecx, eax
not ecx
add ecx, ecx
lea edi, [ecx + eax]
add eax, ecx
add eax, 1
mov dword [esi + 0x2c], eax
mov edx, dword [esi + 0x24]
lea ecx, [edx + edi]
add ecx, 0x65c9
add edx, 0x65c8
not edi
mov eax, edx
or eax, edi
add eax, ecx
sub eax, dword [esi + 0x2c]
not edx
or edx, edi
lea edi, [eax + edx]
add edi, 0x3fb9
mov ecx, dword [esi + 0x38]
sub ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 4]
add eax, edx
add eax, 2
add ecx, 0xfffffffe
and ecx, 0x769e
or eax, ecx
mov dword [esi + 4], eax
mov eax, dword [esi + 0x14]
lea edx, [ebx + eax*2]
add edx, 1
and ebx, 0x8961
mov eax, dword [esi + 0x10]
and eax, 0xffff8961
add ebx, eax
add ebx, 0x769f
and edx, 0x769e
mov ecx, edx
not ecx
and ecx, ebx
add ecx, ecx
mov eax, edx
xor eax, ebx
sub eax, ecx
mov ecx, edx
or ecx, ebx
add ecx, eax
add ecx, ebx
sub ecx, edx
mov eax, ecx
not eax
mov ebx, dword [esi + 4]
mov edx, ebx
not edx
mov dword [esi], edx
and dword [esi], ecx
xor ecx, ebx
and ebx, eax
sub ebx, dword [esi]
add ecx, ebx
sub ecx, eax
add ecx, edx
mov eax, ecx
not eax
mov edx, ecx
xor edx, 0xffffca6e
add edx, eax
or eax, 0x3591
sub edx, eax
and ecx, 0x3591
or ecx, edx
mov eax, edi
and eax, 0x4c71
mov edx, edi
xor edx, 0x4c71
add edx, eax
mov eax, edi
xor eax, 0xffffb38e
add eax, edx
not edi
or edi, 0x4c71
sub eax, edi
mov edx, ecx
xor edx, 0x3591
lea edi, [eax + 0x4c71]
mov ebx, edi
not ebx
and ebx, edx
add eax, ebx
add eax, 0x4c71
add eax, edx
xor ecx, 0xffffca6e
add ecx, eax
and edi, edx
lea eax, [ecx + edi]
add ecx, edi
add ecx, 1
mov edx, ecx
and edx, 0xffffb38e
add eax, edx
add eax, 1
not ecx
or ecx, 0x4c71
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xffffb390
mov ecx, dword [esi + 0x48]
not ecx
add ecx, ecx
mov edi, dword [esi + 0x54]
sub edi, ecx
add edi, 0xffffe9b8
mov ebx, dword [esi + 0x6c]
or ebx, edi
mov ecx, eax
not ecx
and ecx, 0xfffff71c
lea ecx, [ecx + edx*2]
add ecx, 0xffff6720
xor ebx, 0xffffe9b8
or eax, 0xfffff71c
sub ecx, eax
lea eax, [ebx + ecx]
add ecx, ebx
add ecx, 0x8e4
or ecx, 0xfffff71c
add eax, ecx
add eax, 0x8e4
not ecx
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xfffff71d
mov ecx, eax
and ecx, 0x781d
lea ecx, [edx + ecx*2]
add ecx, 0xfffff71d
mov edx, eax
not edx
mov edi, edx
and edi, 0xfffff81d
add edi, ecx
mov ecx, edx
and ecx, 0x7e2
lea ecx, [edi + ecx*2]
xor eax, 0xfffff81d
add eax, ecx
or edx, 0xfffff81d
sub eax, edx
lea ecx, [eax + 0x7e4]
mov edx, ecx
and edx, 3
add eax, edx
add eax, 0x7e4
mov edx, ecx
not edx
and edx, 0xfffffffc
add edx, eax
xor ecx, 3
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0xffffaabd
mov edx, ecx
and edx, 0xffffd89f
lea edi, [eax + eax]
add edi, 0xffff557a
sub edi, edx
mov eax, ecx
not eax
and eax, 0xffffd89f
add eax, edi
xor ecx, 0xffffd89f
sub eax, ecx
add eax, 0x74c5
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x589f
add edx, edx
mov edi, eax
sub edi, edx
xor eax, 0x589f
lea eax, [edi + eax*2]
lea eax, [eax + ecx*2]
add ecx, ecx
or ecx, 0x4ec0
sub eax, ecx
add eax, 0xffffd89f
cmp word [esi + 8], ax
mov ecx, 0x21e18892
mov eax, 0x46d0dfd5
cmovl ecx, eax
mov dword [esi], ecx
mov edx, dword [0x10088b30]
mov ecx, dword [0x1007de70]
mov edi, ecx
not edi
add ecx, edi
add ecx, 0xb
cmp dword [0x10088b2c], ecx
setl byte [esi + 4]
mov edi, edx
and edi, 1
mov ebx, edx
and ebx, 0xfffffffe
sub edi, ebx
add edi, edx
mov ebx, edx
not ebx
add edi, ebx
add edi, 0x240c3b00
imul edi, edx
mov ecx, dword [0x1007de78]
mov ebx, dword [0x1007de7c]
mov eax, ecx
xor eax, ebx
mov edx, ecx
or edx, ebx
not edx
add edx, eax
and ecx, ebx
lea eax, [ecx + edx]
add eax, 1
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0x20]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
or al, byte [esi + 4]
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jne 0x10016e20
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov word [esi + 0x14], ax
movzx edi, word [0x1007d0da]
mov dword [esi + 4], edi
mov eax, edi
not eax
mov dword [esi + 8], eax
add eax, eax
add eax, edi
add eax, 1
mov ecx, eax
or eax, 0xfffff5d4
mov edx, eax
not edx
add edx, eax
and ecx, 0xfffff5d4
lea eax, [ecx + edx]
add eax, 1
mov dword [esi], eax
mov eax, edi
and eax, 0xa2b
mov ecx, edi
and ecx, 0x75d4
lea edx, [eax + ecx*2]
lea ecx, [edi + edi]
mov ebx, dword [esi + 8]
sub ebx, ecx
mov dword [esi + 0x1c], ebx
mov eax, ecx
sub eax, edx
or eax, dword [esi]
mov ecx, eax
xor ecx, 0xa2b
xor eax, 0xfffff5d4
lea edx, [eax + eax]
lea ecx, [edx + ecx*2]
neg ecx
add ecx, eax
add ecx, 0xfffffffe
movzx ebx, word [0x1007d0d8]
mov dword [esi], ebx
mov edx, ebx
not edx
mov dword [esi + 0x10], edx
mov eax, edx
or eax, ebx
and eax, ecx
sub eax, ecx
or ecx, edx
add ecx, eax
mov edx, ecx
not edx
lea eax, [ecx + edx*2]
mov dword [esi + 0x24], eax
lea eax, [ecx + edx*2 + 1]
lea edx, [ecx + edx*2]
add edx, 2
not eax
mov ecx, eax
and ecx, 0x2d40
mov edi, dword [esi + 0x24]
add ecx, edi
add ecx, 2
add ecx, edx
mov dword [esi + 0x24], ecx
mov edx, ebx
and edx, dword [esi + 4]
mov edi, ebx
mov ebx, dword [esi + 8]
or edi, ebx
lea ecx, [ebx + edx*2]
sub ecx, edi
mov edi, dword [esi]
and edi, ebx
add edi, edi
mov ebx, dword [esi]
sub ebx, edi
mov edi, dword [esi]
xor edi, dword [esi + 4]
add edi, ebx
mov ebx, dword [esi + 0x10]
or ebx, dword [esi + 4]
sub edi, ebx
not edx
add edx, edi
mov edi, ecx
xor edi, edx
not edx
sub edi, edx
or edx, ecx
add edx, edi
mov ecx, edx
not ecx
lea ecx, [edx + ecx*2]
add ecx, 1
mov edx, ecx
not edx
sub ecx, edx
sub ecx, edx
or eax, 0x2d40
mov edi, dword [esi + 0x24]
lea ebx, [edi + eax]
mov dword [esi + 0x28], ebx
lea ebx, [eax + edi]
add ebx, 0xffff9307
add ecx, edx
lea edi, [ecx + edx]
lea eax, [edx + ecx]
add eax, 0xffffffff
and eax, ebx
mov ecx, dword [esi + 0x28]
add ecx, eax
add ecx, 0xffff9307
mov eax, edi
neg eax
mov edx, ebx
not edx
and edx, eax
sub ecx, edx
sub ecx, edi
mov edx, ebx
or edx, eax
not edx
add edx, ecx
lea ecx, [edi + edi]
add ecx, 0xfffffffe
sub edx, ecx
and eax, ebx
not eax
add eax, edx
mov ecx, eax
and ecx, 0x3fb7
add ecx, eax
mov edx, eax
not edx
and edx, 0xffffc048
add edx, ecx
xor eax, 0xffffc048
sub edx, eax
mov dword [esi + 0x24], edx
mov eax, dword [esi + 0x10]
add eax, eax
mov edx, dword [esi]
lea ecx, [edx + eax]
add ecx, 1
mov edi, ecx
and edi, 0x769e
not ecx
mov eax, ecx
and eax, 0xffff8961
or eax, edi
or ecx, 0x769e
sub eax, ecx
mov ecx, edx
and ecx, 0x8961
add ecx, edx
mov edi, edx
xor edi, 0xffff8961
add edi, ecx
lea ecx, [edx + edx]
or ecx, 0x12c2
sub edi, ecx
add eax, 0x769e
add edi, 0xffff8961
mov ecx, eax
and ecx, edi
mov ebx, eax
or ebx, edi
lea ecx, [ebx + ecx*2]
not eax
lea ecx, [ecx + eax*2]
or eax, edi
add eax, eax
sub ecx, eax
mov edx, dword [esi + 0x1c]
add edx, dword [esi + 4]
mov ebx, dword [esi + 8]
sub edx, ebx
lea eax, [edx - 1]
mov edi, eax
or edi, 0x769e
add edi, edx
add edi, 0xffffffff
xor eax, 0xffff8961
add eax, edi
sub eax, edx
mov edx, dword [esi + 4]
mov edi, edx
and edi, 0x8961
add edi, edx
and ebx, 0x769e
add ebx, edi
or edx, 0x769e
sub ebx, edx
add eax, 2
mov edi, eax
or edi, ebx
lea edx, [ebx + edi]
not edi
add edi, edx
not eax
or eax, ebx
sub edi, eax
mov eax, ecx
or eax, edi
not eax
lea eax, [edi + eax*2]
not ecx
sub ecx, eax
lea edi, [ecx - 1]
neg ecx
and ecx, 0xffffca6e
and edi, 0x3591
or edi, ecx
mov eax, edi
xor eax, 0x3591
lea eax, [edi + eax*2]
mov ecx, edi
xor ecx, 0x4a6e
lea eax, [eax + ecx*2]
add edi, edi
or edi, 0xffff94dc
sub eax, edi
mov edx, dword [esi + 0x24]
lea ecx, [edx + 0x3fb8]
mov edi, ecx
not edi
and edi, 0x4c71
add edx, edi
add edx, 0x3fb8
or ecx, 0xffffb38e
add ecx, edx
lea edx, [ecx + eax*2]
add edx, 0xffff94de
add eax, 0xffffca6f
not eax
lea ecx, [edx + eax]
add eax, edx
add eax, 2
mov edi, dword [esi]
and edi, 0xe9b8
mov edx, edi
not edx
lea edx, [edi + edx*2]
mov edi, dword [esi + 0x10]
and edi, 0x1647
xor edx, 0xfffffffe
or edx, edi
mov edi, edx
xor edi, 0xffffe9b8
add edi, edi
mov ebx, edx
or ebx, 0x1647
add ebx, edi
mov edi, edx
not edi
add edi, ebx
and edx, 0xffffe9b8
add edx, edi
mov edi, eax
xor edi, 0xfffff71c
add ecx, edi
add ecx, 2
xor eax, 0x8e3
add eax, ecx
lea ecx, [edx + eax]
add eax, edx
add eax, 0x8e7
mov edx, eax
not edx
and edx, 0xfffff71c
add ecx, edx
add ecx, 0x8e7
and eax, 0xfffff71c
add eax, ecx
mov ecx, eax
and ecx, 0x7e2
add ecx, eax
mov edx, eax
not edx
and edx, 0xfffff81d
sub ecx, edx
sub ecx, eax
mov edx, ecx
not edx
mov edi, edx
and edi, 3
add edi, ecx
mov eax, edx
and eax, 0xfffffffc
add eax, edi
sub eax, edx
add eax, 3
mov ecx, eax
and ecx, 0x7e2
not eax
and eax, 0xfffff81d
sub ecx, eax
lea eax, [ecx - 0x5d2a]
not eax
lea eax, [eax + ecx*2]
add eax, 0xffff6d0e
mov edx, eax
or edx, 0x4d64
mov ecx, eax
sub ecx, edx
not edx
add edx, edx
sub ecx, edx
mov edx, eax
or edx, 0xffffb29b
add edx, ecx
not eax
add eax, edx
add eax, 0x4d64
mov ecx, eax
and ecx, 0xffffd89f
mov edx, eax
xor edx, 0xffffd89f
add edx, ecx
mov ecx, eax
xor ecx, 0x2760
add ecx, edx
not eax
or eax, 0xffffd89f
sub ecx, eax
add ecx, 0xffffd89f
cmp word [esi + 0x14], cx
mov eax, 0x21e18892
mov ecx, 0x46d0dfd5
cmovl eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [0x1007e55c]
mov ecx, dword [str.wf_X]
mov edx, ecx
not edx
and edx, eax
not eax
or eax, ecx
add eax, edx
add eax, 0x62721318
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10010638
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi], eax
movzx ebx, word [eax]
lea edi, [ebx - 0x6f7a]
mov eax, edi
not eax
and eax, 0x6f7a
add eax, ebx
add eax, 0xffff9086
and edi, 0x6f7a
add edi, eax
mov eax, dword [esi + 0xb0]
movzx edx, word [eax]
lea eax, [edx + edx]
neg eax
mov ecx, edi
not ecx
and ecx, eax
add ecx, edi
lea ecx, [ecx + edx*2]
or eax, edi
not eax
add eax, ecx
add eax, edi
add eax, 1
mov dword [esi + 8], eax
mov eax, edx
mov dword [esi + 4], edx
not edx
mov ecx, eax
or ecx, edx
mov dword [esi + 0x10], ebx
and ecx, ebx
mov edi, ebx
xor edi, eax
mov eax, edi
not eax
add eax, ecx
or edx, ebx
sub eax, edx
or eax, edi
mov edx, eax
not edx
mov ebx, edx
and ebx, 0x6950
mov ecx, eax
or ecx, edx
and edx, 0xffff96af
sub ebx, edx
mov edx, eax
xor edx, 0xffff96af
add edx, ebx
mov ebx, eax
xor ebx, 0x6950
add ebx, edx
mov edx, eax
or edx, 0x6950
sub ebx, edx
and eax, 0xffff96af
and ecx, 0xffff96af
add eax, ecx
add eax, 0x6951
mov ecx, eax
not ecx
and ecx, ebx
mov edx, ebx
or edx, eax
add edx, ecx
not ebx
or ebx, eax
lea eax, [ebx + edx]
add eax, 1
mov ecx, dword [esi + 8]
not ecx
lea ebx, [ecx + ecx]
sub ebx, ecx
xor eax, 0xffff96af
sub ebx, eax
mov ecx, dword [esi + 0x10]
mov eax, ecx
xor eax, 0x56ca
and ecx, 0x2935
mov edi, ecx
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xffffa935
lea edx, [edx + edi*2]
xor eax, 0xffffa935
add edx, eax
mov edi, ecx
and edi, 0x56ca
lea edx, [edx + edi*2]
add edx, eax
or ecx, 0xffffa935
sub edx, ecx
lea ecx, [edx + 1]
mov edi, dword [esi + 4]
lea eax, [edx + edi]
add eax, 1
mov edx, ecx
xor edx, edi
lea eax, [eax + edx*2]
mov edx, ecx
and edx, edi
or ecx, edi
add ecx, ecx
sub eax, ecx
or eax, edx
mov edx, ebx
not edx
mov ecx, edx
and ecx, 0x4dcf
add edx, edx
sub edx, ecx
mov ecx, ebx
and ecx, 0x4dcf
add ecx, edx
xor ebx, 0xffffb230
sub ecx, ebx
sub ecx, eax
add ecx, 0xffffb231
mov eax, ecx
not eax
mov edx, eax
and edx, 0x4dcf
add edx, edx
mov edi, ecx
sub edi, edx
xor ecx, 0x4dcf
lea ecx, [edi + ecx*2]
lea ecx, [ecx + eax*2]
add eax, eax
or eax, 0x6460
sub ecx, eax
lea edx, [ecx + 0x51e6]
mov eax, edx
and eax, 0xffff9fe7
mov edi, edx
and edi, 0x6018
mov ebx, eax
sub ebx, edi
add ecx, ebx
add ecx, 0x51e6
not edx
or edx, 0xffff9fe7
sub ecx, edx
not eax
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xffff9fe7
mov ecx, eax
xor ecx, 0xfffffbe9
add ecx, edx
add ecx, 0xffff9fe7
mov edx, eax
not edx
and edx, 0x416
add edx, ecx
and eax, 0xfffffbe9
add eax, edx
add eax, 0x5c03
mov ecx, dword [esi]
mov word [ecx], ax
mov eax, dword [0x1007dee0]
mov edx, dword [0x1007dee4]
mov ecx, eax
not ecx
mov edi, ecx
and edi, edx
xor eax, edx
not eax
add eax, edi
or ecx, edx
sub eax, ecx
add eax, 0x1a6e24ce
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [0x1007dee8]
mov ecx, dword [0x1007deec]
mov edx, ecx
not edx
and edx, eax
sub edx, eax
mov edi, eax
or edi, ecx
add edx, edi
not edi
add edi, edx
and eax, ecx
add eax, edi
add eax, 0x62721318
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007def0]
mov ecx, dword [0x1007def4]
mov edx, eax
and edx, ecx
not ecx
and ecx, eax
add ecx, ecx
lea ecx, [ecx + edx*2]
add eax, eax
sub eax, ecx
mov edx, dword [0x10088b28]
add eax, 0xa
cmp dword [0x10088b24], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
mov ah, al
and ah, dl
or dl, al
add dl, ah
add dl, cl
or al, cl
add al, dl
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi + 8], eax
movzx ecx, word [eax]
mov eax, ecx
xor eax, 0xffff9086
add eax, ecx
mov edx, ecx
xor edx, 0x6f79
lea edi, [eax + edx]
lea ebx, [edx + eax]
add ebx, 0xffff9087
mov eax, ebx
xor eax, 0x6f7a
add eax, edi
add eax, 0xffff9087
mov edx, ebx
not edx
or edx, 0x6f7a
add edx, eax
and ebx, 0x6f7a
add ebx, edx
mov dword [esi + 0x10], ebx
mov eax, dword [esi + 0xb0]
movzx eax, word [eax]
mov dword [esi], eax
mov ebx, ecx
and ebx, eax
not eax
mov edx, ecx
or edx, eax
lea edi, [eax + ebx*2]
sub edi, edx
mov dword [esi + 4], edi
mov edx, ecx
and eax, ecx
add eax, eax
mov edi, ecx
sub edi, eax
mov eax, ecx
xor eax, dword [esi]
add eax, edi
mov dword [esi + 0x14], eax
mov edi, ecx
not edi
mov eax, ecx
and eax, 0xffffa935
lea ecx, [ecx + edi*2]
add ecx, 1
xor edx, 0x56ca
sub edx, eax
sub edx, edi
mov dword [esi + 0x1c], edx
or edi, dword [esi]
mov eax, dword [esi + 0x14]
sub eax, edi
not ebx
add ebx, eax
mov eax, dword [esi + 4]
mov edx, eax
xor edx, ebx
not ebx
sub edx, ebx
or ebx, eax
add ebx, edx
mov edx, ebx
not edx
lea edx, [ebx + edx*2]
add edx, 1
and edx, 0x6950
and ebx, 0xffff96af
lea eax, [edx + ebx]
mov edi, eax
sub edi, ebx
not eax
sub edi, eax
sub edi, eax
add edi, eax
not edx
add edx, edi
mov eax, edx
not eax
and eax, 0xffff96af
mov edi, edx
xor edi, 0xffff96af
add edi, eax
or edx, 0x6950
lea eax, [edi + edx]
add edx, edi
add edx, 1
mov dword [esi + 4], edx
mov edx, dword [esi + 0x10]
mov edi, dword [esi]
lea edi, [edx + edi*2]
add edi, 1
mov ebx, edi
not ebx
add edi, edi
mov edx, ebx
sub edx, edi
add ebx, ebx
not ebx
add ebx, edx
not eax
mov edi, ebx
xor edi, eax
or eax, ebx
lea edx, [ebx + ebx]
sub edx, dword [esi + 4]
lea edx, [edx + edi*2]
add eax, eax
sub edx, eax
not edi
add edi, edx
mov dword [esi + 0x10], edi
mov eax, ecx
and eax, 0x56ca
lea eax, [eax + eax*2]
not ecx
lea ebx, [eax + ecx*2]
add ecx, ecx
or ecx, 0xffffad94
sub ebx, ecx
mov edx, dword [esi + 0x1c]
add edx, 0xffffa935
mov eax, edx
not eax
and eax, ebx
mov ecx, ebx
or ecx, edx
add eax, ecx
add eax, ecx
xor edx, ebx
not edx
add edx, eax
not ebx
lea eax, [edx + ebx]
add edx, ebx
add edx, 2
mov ecx, edx
xor ecx, 0xffffa935
add eax, ecx
add eax, 2
mov ecx, edx
not ecx
and ecx, 0x56ca
add ecx, eax
or edx, 0x56ca
sub ecx, edx
mov ebx, ecx
mov edi, dword [esi]
and ebx, edi
sub ebx, edi
mov eax, ecx
xor eax, edi
sub ebx, eax
mov edx, ecx
or edx, edi
not edx
sub ebx, edx
sub ebx, edx
mov edi, dword [esi]
add eax, edi
add eax, edx
not ecx
lea edx, [ebx + ecx]
add edx, 0xffffffff
or ecx, edi
sub eax, ecx
or eax, edx
mov ebx, dword [esi + 4]
sub ebx, dword [esi + 0x10]
mov edi, eax
neg edi
add ebx, 0xffffb230
mov edx, ebx
not edx
and edx, edi
mov ecx, ebx
sub ecx, edx
add eax, eax
sub ecx, eax
and ebx, edi
sub ecx, ebx
mov eax, ecx
xor eax, 0x4dcf
lea eax, [eax + ecx*2]
mov edx, ecx
xor edx, 0x3230
lea eax, [eax + edx*2]
add ecx, ecx
or ecx, 0x6460
sub eax, ecx
imul eax, eax, 0x36b3
mov ecx, eax
not ecx
and ecx, 0x49eb
add ecx, eax
or eax, 0xffffb614
add eax, ecx
imul eax, eax, 0x687b
lea ecx, [eax + 0xc79]
mov edx, ecx
or edx, 0xfffffbe9
add eax, edx
add eax, 0xc79
not ecx
or ecx, 0xfffffbe9
add eax, ecx
add eax, 0x601a
mov ecx, dword [esi + 8]
mov word [ecx], ax
mov eax, dword [0x1007e574]
xor eax, dword [0x1007e578]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0x1a6e24cf
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jmp 0x10010e7c
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi], eax
mov edx, dword [0x1007d0f8]
mov dword [esi + 8], edx
mov eax, edx
not eax
mov dword [esi + 4], eax
lea ecx, [eax + eax]
add ecx, eax
lea eax, [ecx + edx*2]
add eax, 2
mov edi, dword [0x1007d0fc]
mov edx, edi
not edx
lea ebx, [edx + edx]
add ebx, edi
add ebx, 1
xor ebx, eax
and ebx, eax
neg ebx
mov ecx, ebx
xor ecx, 0x6e7e61c5
mov eax, ebx
or eax, 0x91819e3a
add eax, ecx
and ebx, 0x6e7e61c5
add ebx, eax
lea eax, [ebx + edi]
lea ecx, [edi + ebx]
add ecx, 0x6e7e61c6
mov edi, ecx
xor edi, 0x6e7e61c5
add eax, edi
add eax, 0x6e7e61c6
xor ecx, 0x91819e3a
lea edi, [ecx + eax]
add edi, 0x91819e3c
mov eax, dword [esi + 4]
and eax, edx
add eax, eax
mov ecx, dword [esi + 8]
mov ebx, ecx
xor ebx, edx
add ebx, ebx
sub ebx, eax
add ebx, edx
mov eax, ecx
sub ebx, ecx
mov edx, dword [esi + 4]
or ecx, edx
and ecx, ebx
not ebx
and eax, ebx
sub ecx, eax
sub ecx, edx
add ecx, ebx
mov edx, ecx
not edx
mov eax, ecx
xor eax, 0x9eb93195
add eax, edx
or edx, 0x6146ce6a
sub eax, edx
and ecx, 0x6146ce6a
or ecx, eax
mov eax, edi
and eax, 0x89bc847e
mov edx, edi
xor edx, 0x89bc847e
add edx, eax
mov eax, edi
xor eax, 0x76437b81
add eax, edx
not edi
or edi, 0x89bc847e
sub eax, edi
mov edi, ecx
xor edi, 0x6146ce6a
lea edx, [eax + 0x76437b82]
mov ebx, edx
not ebx
and ebx, edi
add eax, ebx
add eax, 0x76437b82
add eax, edi
xor ecx, 0x9eb93195
add ecx, eax
and edx, edi
lea eax, [ecx + edx]
add ecx, edx
add ecx, 1
mov edx, ecx
and edx, 0x76437b81
add eax, edx
add eax, 1
not ecx
or ecx, 0x89bc847e
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0x828d30a6
mov eax, ecx
xor eax, 0x4aec4d18
add eax, edx
add eax, 0x828d30a6
not ecx
add eax, ecx
add ecx, ecx
or ecx, 0x6a2765ce
sub eax, ecx
lea ecx, [eax - 1]
mov edx, ecx
and edx, 0xf8d0ac26
lea edx, [edx + eax*2]
add edx, 0xfffffffe
or ecx, 0x72f53d9
sub edx, ecx
sub edx, eax
imul eax, edx, 0xdacf699
lea ecx, [eax + 0x4efc3bfa]
mov edx, ecx
and edx, 0xc3f6d82
or ecx, 0xf3c0927d
sub eax, edx
add eax, ecx
imul eax, eax, 0xaf7cfda9
lea ecx, [eax - 0x3685d357]
or ecx, 0xf03d2500
add eax, ecx
add eax, 0xc97a2ca9
not ecx
add eax, ecx
add eax, 0xf03d2501
mov edx, eax
and edx, 0xa2723d85
not eax
or eax, 0xa2723d85
sub edx, eax
lea ecx, [edx - 0x5d8dc27c]
mov eax, ecx
and eax, 0x703d2500
lea edi, [edx + eax*2]
add edi, 0xa2723d84
mov eax, 0x5d8dc27b
sub eax, edx
mov edx, eax
and edx, 0xf03d2500
add edx, edi
mov edi, eax
and edi, 0xfc2daff
lea edx, [edx + edi*2]
xor ecx, 0xf03d2500
add ecx, edx
or eax, 0xf03d2500
sub ecx, eax
mov edx, dword [0x1007df48]
mov edi, dword [0x1007df4c]
mov eax, edx
xor eax, edi
add eax, edx
add eax, edi
or edx, edi
add dword [esi], 2
add ecx, 0xfc2db01
mov dword [esi + 8], ecx
add edx, edx
sub eax, edx
mov edi, dword [0x10088b20]
add eax, 0xa
cmp dword [0x10088b1c], eax
setge dh
setl dl
lea ecx, [edi - 1]
imul ecx, edi
mov edi, dword [0x1007df50]
mov ebx, dword [0x1007df54]
mov dword [esi + 4], ebx
mov eax, edi
xor eax, ebx
mov ebx, edi
sub ebx, eax
mov eax, dword [esi + 4]
not eax
or eax, edi
sub ebx, eax
and edi, dword [esi + 4]
not edi
add edi, ebx
and ecx, 1
cmp ecx, edi
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 8]
mov dword [eax], ecx
mov eax, dword [esi + 0x60]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
mov ecx, edx
and cl, al
add cl, dl
and dh, al
add dh, cl
mov ecx, edx
xor cl, al
add cl, dh
or dl, al
add dl, cl
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
test dl, 1
jne 0x10016e20
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov ebx, dword [0x1007d0f8]
mov ecx, ebx
not ecx
lea eax, [ecx + ebx*2]
add eax, ecx
mov ecx, dword [0x1007d0fc]
mov dword [esi], ecx
sub eax, ebx
not ecx
lea edi, [eax + ecx]
add edi, 1
add eax, 1
mov edx, eax
xor edx, ecx
lea edi, [edi + edx*2]
mov edx, eax
or edx, ecx
add edx, edx
sub edi, edx
and edi, eax
lea eax, [edi + edi*2]
add edi, edi
sub edi, eax
mov eax, dword [esi]
lea edx, [eax + edi*2]
add edx, 0xdcfcc38a
add edi, 0x6e7e61c5
sub edx, edi
mov edi, edx
and edi, 0x6e7e61c5
mov dword [esi + 8], edi
mov eax, edx
and eax, 0x91819e3a
sub edi, eax
add edi, edx
not edx
or edx, 0x6e7e61c5
sub edi, edx
mov dword [esi + 0x10], edi
mov eax, ebx
mov edx, dword [esi]
and eax, edx
xor ecx, ebx
add eax, ecx
not ecx
add ecx, eax
or edx, ebx
sub ecx, edx
and ecx, ebx
mov eax, ecx
not eax
mov edx, eax
sub edx, ecx
sub edx, ecx
sub edx, eax
sub edx, eax
add edx, 0xfffffffe
mov ebx, edx
not ebx
mov edi, edx
and edi, 0x9eb93195
xor edx, 0x9eb93195
add edx, edi
and ebx, 0x6146ce6a
add ebx, edx
add ebx, edi
add ebx, 1
mov edx, ecx
or edx, eax
and edx, 0x6146ce6a
xor ecx, 0x9eb93195
add ecx, edx
or eax, 0x6146ce6a
sub ecx, eax
mov eax, ecx
not eax
and eax, ebx
sub eax, ebx
mov edx, ebx
or edx, ecx
lea eax, [eax + edx*2]
not edx
add edx, eax
and ecx, ebx
lea eax, [ecx + edx]
add eax, 1
mov edx, dword [esi + 8]
not edx
mov edi, dword [esi + 0x10]
lea ecx, [edi + edx]
add edx, edi
add edx, 0x7c519bd
mov edi, eax
xor edi, 0x6146ce6a
mov ebx, edx
and ebx, edi
add ecx, ebx
add ecx, 0x7c519bd
add ecx, edi
xor eax, 0x9eb93195
add ecx, eax
or eax, edx
sub ecx, eax
lea eax, [ecx - 0x76437b82]
mov edx, eax
and edx, 0x72f53d9
add ecx, edx
add ecx, 0x89bc847e
not eax
and eax, 0x72f53d9
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xf1a1584e
mov ecx, eax
xor ecx, 0x4aec4d18
add ecx, edx
add ecx, 0xf1a1584e
xor eax, 0xb513b2e7
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x4aec4d19
mov ecx, eax
xor ecx, 0x72f53d9
add ecx, edx
add ecx, 0x4aec4d19
mov edx, eax
not edx
or edx, 0x72f53d9
add edx, ecx
and eax, 0x72f53d9
add eax, edx
imul eax, eax, 0xdacf699
mov ecx, 0xe6139be4
sub ecx, eax
mov eax, ecx
not eax
lea edx, [eax + eax]
sub edx, ecx
sub edx, eax
sub edx, eax
imul eax, edx, 0xaf7cfda9
mov edx, eax
and edx, 0xfc2daff
add edx, edx
lea ecx, [eax + eax]
sub ecx, edx
not eax
mov edx, eax
or edx, 0xf03d2500
sub ecx, edx
or eax, 0xfc2daff
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xf03d2500
mov ecx, eax
xor ecx, 0xa2723d85
add ecx, edx
add ecx, 0xf03d2500
mov edx, eax
or edx, 0xa2723d85
sub ecx, edx
or eax, 0x5d8dc27a
add eax, ecx
add eax, 0x54a7560b
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov ecx, dword [esi + 4]
add ecx, 2
mov eax, dword [esi + 0x60]
mov dword [eax], ecx
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jmp 0x100113ae
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi + 0x14], eax
movzx eax, word [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
add eax, 2
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
mov eax, dword [esi + 0x94]
mov ebx, dword [eax]
lea ecx, [ebx + ebx]
add ecx, 0xdf527863
mov eax, ecx
and eax, 0xdf527863
mov edx, ecx
and edx, 0x20ad879c
mov edi, eax
sub edi, edx
lea edx, [edi + ebx*2]
add edx, 0xdf527863
not ecx
or ecx, 0xdf527863
sub edx, ecx
not eax
lea ecx, [edx + eax]
mov dword [esi + 4], ecx
add edx, eax
add edx, 0x20ad879d
mov eax, ebx
not eax
mov dword [esi], eax
mov ecx, ebx
mov edi, ebx
xor ecx, 0x1093689a
add ecx, eax
or eax, 0xef6c9765
sub ecx, eax
mov eax, ebx
and eax, 0x62f58c2e
and ebx, 0x1d0a73d1
lea eax, [ebx + eax*2]
sub eax, edi
mov dword [esi + 0x10], eax
mov ebx, edi
and ebx, 0xef6c9765
mov edi, ecx
and edi, ebx
add edi, edi
mov eax, ebx
sub eax, edi
mov edi, ecx
or edi, ebx
add edi, eax
xor ebx, ecx
not ebx
add ebx, edi
lea eax, [ecx + ebx]
add eax, 1
mov edi, eax
xor edi, 0xef6c9764
mov ebx, eax
or ebx, 0xef6c9764
lea edi, [edi + ebx*2]
not ebx
lea edi, [edi + ebx*4]
mov ebx, eax
xor eax, 0x1093689b
add eax, eax
sub edi, eax
not ebx
add ebx, ebx
or ebx, 0x2126d136
sub edi, ebx
mov eax, edx
not eax
mov ebx, eax
and ebx, 0x42a3305
mov ecx, dword [esi + 4]
add ebx, ecx
add ebx, 0x20ad879d
xor edx, 0xfbd5ccfa
add edx, ebx
or eax, 0x42a3305
sub edx, eax
add edx, 0xfbd5ccfb
mov eax, edi
not eax
and eax, edx
add eax, edi
mov ebx, edx
or ebx, edi
add eax, ebx
not ebx
add ebx, eax
and edx, edi
add edx, ebx
lea eax, [edx + edx]
add eax, 2
lea edx, [edx + edx*2]
add edx, 3
sub edx, eax
mov edi, dword [esi]
mov eax, edi
and eax, 0x1d0a73d1
add eax, eax
or edi, 0xe2f58c2e
sub eax, edi
lea edi, [eax - 0x1d0a73d2]
mov ebx, edi
not ebx
mov ecx, dword [esi + 0x10]
and ebx, ecx
add ebx, ebx
lea eax, [ebx + eax*2]
add eax, 0xc5eb185c
or ecx, edi
lea ecx, [ecx + ecx*2]
sub ecx, eax
mov eax, ecx
not eax
or eax, ecx
and eax, 0xe2f58c2f
xor ecx, 0xe2f58c2f
lea edi, [eax + ecx]
add eax, ecx
add eax, 0x1d0a73d1
mov ecx, eax
or eax, 0xc03d7a7d
add eax, edi
add eax, 0x1d0a73d1
not ecx
add eax, ecx
add eax, 0x3fc28584
and ecx, 0xc03d7a7d
or ecx, eax
mov eax, ecx
not eax
mov edi, ecx
xor edi, 0x3fc28582
add ecx, edi
and eax, 0x3d7a7d
lea eax, [ecx + eax*2]
add eax, edi
lea ecx, [edx + 0x42a3305]
mov edi, ecx
and edi, 0x3556d9a0
add edi, edi
add edx, edx
add edx, 0x854660a
sub edx, edi
not ecx
mov edi, ecx
or edi, 0xcaa9265f
sub edx, edi
or ecx, 0x3556d9a0
lea edi, [edx + ecx]
add edx, ecx
add edx, 0xcaa9265f
lea ecx, [edi + eax*2]
add ecx, 0x4a2e3167
add eax, eax
add eax, 0x7f850b08
mov edi, edx
xor edi, eax
add edi, ecx
mov ecx, edx
or ecx, eax
sub edi, ecx
not eax
sub edi, eax
or eax, edx
lea edx, [edi + eax]
add eax, edi
add eax, 0x3556d9a1
mov edi, dword [esi]
and edi, 0xfffffffe
mov ecx, edi
not ecx
add edi, ecx
add edi, ecx
mov ebx, edi
mov ecx, eax
and ecx, 0xeade4580
add ecx, edx
add ecx, 0x3556d9a1
not eax
mov edx, eax
and edx, 0x1521ba7f
sub ecx, edx
mov edx, eax
and edx, 0xeade4580
add edx, ecx
or eax, 0xeade4580
lea ecx, [edx + eax]
add edx, eax
add edx, 0x3f652f7f
lea eax, [edi + edi]
add eax, 1
and eax, edx
add ecx, eax
add ecx, 0x3f652f7f
add edi, edi
xor edi, 0xfffffffe
mov eax, edx
not eax
and eax, edi
add eax, ecx
lea ecx, [ebx + ebx]
add ecx, 2
sub eax, ecx
xor edi, edx
sub eax, edi
mov ecx, eax
xor ecx, 0x1521ba7f
add ecx, ecx
lea ecx, [ecx + eax*2]
lea edx, [eax + eax]
or edx, 0x2a4374fe
sub ecx, edx
xor eax, 0xeade4580
add eax, ecx
imul eax, eax, 0xa20644d9
mov ecx, 0x5df9bb27
sub ecx, eax
mov eax, ecx
xor eax, 0x595ec9af
lea eax, [eax + ecx*2]
add ecx, ecx
or ecx, 0xb2bd935e
sub eax, ecx
imul ecx, eax, 0xd2ca0497
mov eax, 0x37b49b8e
sub eax, ecx
add ecx, 0xc84b6471
and ecx, 0x1bda4dc6
lea ecx, [ecx + eax*2]
or eax, 0x1bda4dc6
sub eax, ecx
add eax, 0x1bda4dc7
mov ecx, dword [esi + 0x64]
mov dword [ecx], eax
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
movsx eax, word [eax]
mov dword [esi], eax
mov eax, dword [esi + 0xac]
mov ecx, dword [eax]
mov edx, ecx
neg edx
lea eax, [edx + edx]
sub edx, eax
mov eax, ecx
not eax
mov dword [esi + 0x10], eax
add eax, eax
lea edi, [ecx + eax]
add edi, 2
add eax, ecx
not edi
lea eax, [edi + eax*2]
add eax, 4
mov dword [esi + 4], eax
mov ebx, dword [esi]
not ebx
mov dword [esi + 0x1c], ebx
and eax, ebx
mov edi, dword [esi + 4]
xor edi, ebx
sub edi, eax
sub edi, eax
not eax
add eax, eax
sub edi, eax
add edi, 0xfffffffe
and edi, dword [esi + 4]
add edi, edx
mov ebx, dword [esi]
neg ebx
mov eax, edi
not eax
mov edx, eax
and edx, ebx
add edx, edx
xor ebx, edi
sub edi, edx
mov edx, dword [esi]
add edi, edx
add ebx, edi
sub ebx, edx
add ebx, eax
mov dword [esi + 4], ebx
mov edi, edx
xor edi, 0xcd5ae100
add edi, edx
or edx, 0xcd5ae100
sub edi, edx
mov eax, dword [esi + 0x1c]
and eax, 0xcd5ae100
or edi, eax
mov ebx, edi
xor ebx, 0x32a51eff
mov edx, ecx
and edx, ebx
mov eax, ecx
or eax, ebx
sub edx, eax
not eax
add eax, eax
sub edx, eax
xor edi, 0xcd5ae100
mov eax, ecx
or eax, edi
add eax, edx
and edi, ecx
xor ecx, ebx
lea edx, [ecx + ecx]
sub edx, edi
not ecx
add ecx, edx
mov edx, dword [esi + 0x10]
add eax, edx
or ebx, edx
sub ecx, ebx
mov edx, eax
not edx
and edx, ecx
mov edi, eax
or edi, ecx
add edi, edx
and eax, ecx
not ecx
add ecx, edi
add ecx, eax
mov eax, dword [esi + 4]
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xd88b4222
mov ecx, eax
xor ecx, 0x2774bde0
add ecx, edx
add ecx, 0xd88b4222
not eax
add ecx, eax
add eax, eax
or eax, 0xb116843e
sub ecx, eax
imul eax, ecx, 0x28f15131
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xbd452fe4
add edx, eax
or ecx, 0x42bad01b
sub edx, ecx
imul eax, edx, 0xabf267d1
mov ecx, eax
neg ecx
or ecx, 0x993b3cf5
mov edx, ecx
sub edx, eax
not ecx
lea edi, [edx + ecx]
add edi, 0x993b3cf5
mov eax, dword [esi + 8]
lea edx, [eax - 0x2502]
mov ecx, edx
xor ecx, 0xffffdafe
lea ebx, [eax + eax]
add ebx, 0xffffb5fc
sub ebx, ecx
mov ecx, edx
or edx, 0x2501
sub ebx, edx
mov dword [esi + 0x10], ebx
not edi
shr edi, 0x10
mov dword [esi + 4], edi
not eax
mov dword [esi + 0x24], eax
mov ebx, edi
not ebx
mov dword [esi], ebx
mov edx, eax
xor edx, ebx
mov edi, eax
or edi, ebx
not edi
lea edx, [edi + edx*2]
mov edi, eax
and edi, ebx
add edx, edi
add edx, 1
not ecx
or ecx, 0x2501
mov edi, dword [esi + 0x10]
lea ebx, [edi + ecx]
add ebx, 0x479b
and edx, eax
mov ecx, ebx
and ecx, edx
add ecx, ecx
mov edi, ebx
sub edi, ecx
lea ecx, [edi + edx*2]
xor edx, ebx
not edx
add edx, ecx
lea ecx, [edx + ebx]
lea eax, [edx + ebx]
add eax, 1
mov edx, eax
or edx, 0x2299
lea ecx, [ecx + edx*2]
add ecx, 1
not edx
lea ecx, [ecx + edx*4]
mov edx, eax
xor eax, 0x5d66
add eax, eax
sub eax, ecx
not edx
add edx, edx
or edx, 0xffffbacc
add eax, edx
add eax, 0x2299
mov ebx, dword [esi + 4]
mov ecx, ebx
neg ecx
and ecx, eax
lea edx, [ebx - 1]
and edx, eax
add edx, edx
lea ecx, [edx + ecx*2]
lea edi, [eax + eax*2]
sub edi, ecx
mov edx, dword [esi + 8]
mov eax, edx
and eax, ebx
mov ebx, eax
mov dword [esi + 0x28], eax
mov eax, edx
mov ecx, dword [esi]
or eax, ecx
lea ecx, [ecx + ebx*2]
sub ecx, eax
mov ebx, dword [esi + 4]
or ebx, dword [esi]
mov dword [esi + 0x1c], ebx
mov eax, edx
and eax, ebx
sub eax, edx
mov ebx, dword [esi + 4]
xor edx, ebx
mov dword [esi + 0x2c], edx
add eax, edx
mov edx, ecx
not edx
and edx, eax
add edx, edx
lea edx, [edx + ecx*2]
or eax, ecx
lea eax, [eax + eax*2]
sub edx, eax
sub edi, ebx
mov eax, edi
neg eax
mov ecx, eax
xor ecx, 0xf0d
sub ecx, edi
xor eax, 0xfffff0f2
lea edi, [ecx + eax]
add eax, ecx
add eax, 0xfffff0f4
mov ecx, eax
xor ecx, edx
add ecx, edi
add ecx, 0xfffff0f4
mov edi, eax
not edi
or edi, edx
add edi, ecx
and eax, edx
lea ecx, [edi + eax]
add eax, edi
add eax, 1
not eax
lea eax, [eax + ecx*2 + 2]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 8]
mov ecx, edx
mov eax, ebx
or ecx, ebx
not ecx
mov edi, dword [esi + 0x2c]
add edx, edi
lea ecx, [edx + ecx*2]
add ecx, edi
sub ecx, dword [esi]
add ecx, 1
mov edi, dword [esi + 0x28]
mov edx, edi
and edx, ecx
mov ebx, edi
or ebx, ecx
add ebx, edx
not ecx
add ebx, ecx
or ecx, edi
sub ebx, ecx
mov ecx, ebx
and ecx, 0xffff9b2e
add ecx, ebx
mov edx, ebx
xor edx, 0xffff9b2e
add edx, ecx
mov ecx, ebx
not ecx
lea edi, [ebx + ecx*2]
add edi, 1
or ebx, 0xffff9b2e
sub edx, ebx
or ecx, 0xffff9b2e
add ecx, edx
add ecx, 1
and edi, 0x64d1
or ecx, edi
xor ecx, 0xffff9b2e
sub dword [esi + 0x10], ecx
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 8]
lea ecx, [edx + ecx*2]
lea ecx, [ecx + edx*2]
add ecx, 2
mov edi, dword [esi]
lea edx, [edi + edi]
lea edx, [edx + eax*2]
lea eax, [edi + edx]
add eax, 2
add edx, edi
add edx, edx
add edx, 4
mov ebx, eax
not ebx
mov edi, ebx
sub edi, edx
add edi, eax
sub edi, ebx
lea edx, [edi - 1]
neg edi
or edi, edx
and edi, ecx
mov eax, ecx
or eax, edx
add eax, edi
xor edx, ecx
not edx
add edx, eax
not ecx
add ecx, edx
add ecx, 2
mov edi, dword [esi + 0x10]
lea eax, [edi + 0xf0e]
not eax
mov edx, eax
and edx, 0x587a
add edx, edi
add edx, 0xf0e
or eax, 0xffffa785
sub edx, eax
not ecx
add edx, ecx
imul ecx, edx, 0xffff9073
mov eax, 0xffffef41
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffde5b
lea ecx, [ecx + eax*2]
mov edx, eax
xor edx, 0x21a4
lea ecx, [ecx + edx*2]
add eax, eax
or eax, 0x4348
sub ecx, eax
not ecx
imul eax, ecx, 0xffff94bb
mov ecx, 0x62cc
sub ecx, eax
lea edx, [ecx + ecx*2]
add edx, eax
neg edx
lea eax, [ecx + edx]
add eax, 0x62cc
mov ecx, dword [esi + 0x14]
mov word [ecx], ax
mov eax, dword [esi + 0x84]
mov ecx, dword [eax]
mov edi, dword [esi]
mov ebx, edi
and ebx, ecx
mov edx, dword [esi + 4]
mov eax, edx
and eax, ecx
mov dword [esi + 8], ecx
add eax, eax
sub ebx, eax
mov dword [esi + 0x14], ebx
mov ebx, ecx
not ebx
mov eax, dword [esi + 0x1c]
and eax, ebx
mov ecx, edx
or ecx, ebx
not ecx
add ecx, eax
sub ecx, edi
mov eax, edi
mov edx, dword [esi + 8]
mov edi, edx
mov dword [esi + 0x10], ebx
or edi, ebx
and edi, eax
xor eax, edx
add eax, dword [esi + 0x14]
sub eax, ebx
mov edx, dword [esi + 4]
add eax, edx
mov ebx, eax
not ebx
or ebx, eax
not ebx
and ebx, ecx
or ecx, eax
add ecx, ebx
sub ecx, edx
sub ecx, edx
add ecx, edx
lea eax, [ecx + ecx]
not ecx
lea eax, [eax + ecx*2]
sub ecx, eax
mov eax, edx
or eax, dword [esi + 8]
lea ebx, [edi + eax]
add ebx, 1
and edx, dword [esi + 0x10]
mov eax, ebx
or eax, edx
add eax, edx
mov edi, ebx
xor edi, edx
add edi, eax
mov eax, edx
not eax
lea eax, [edi + eax*2]
and edx, ebx
not ebx
add ebx, eax
not edx
add edx, edx
sub ebx, edx
add ebx, 1
mov edi, ebx
not edi
and ebx, 0x84f2d041
mov eax, edi
and eax, 0x7b0d2fbe
or ebx, eax
or edi, 0x84f2d041
sub ebx, edi
add ebx, 0x84f2d041
mov edi, eax
not edi
and edi, ebx
add edi, eax
xor edi, 0x84f2d041
lea ebx, [edi - 1]
lea edx, [edi + edi]
add edx, 0xfffffffe
sub edx, ebx
mov eax, 1
sub eax, ecx
lea ebx, [edx + 1]
mov edi, eax
and edi, ebx
sub edi, ecx
lea ecx, [edi + edx]
add ecx, 1
mov edx, eax
or edx, ebx
not edx
add edx, ecx
xor eax, ebx
lea ecx, [eax + edx]
add ecx, 1
mov eax, dword [esi + 0x10]
lea edi, [eax + eax]
mov edx, dword [esi + 8]
sub edi, edx
sub edi, eax
mov eax, ecx
not eax
add edi, edx
or eax, 0xf986a97b
sub eax, ecx
or ecx, 0xf986a97b
add ecx, eax
lea eax, [ecx + edi]
add ecx, edi
add ecx, 0xcf2ad0a
not ecx
lea eax, [ecx + eax*2]
add eax, 0x19e55a14
imul eax, eax, 0xc9df1daf
add eax, 0xd344e7c4
not eax
imul ecx, eax, 0x8c93a6b1
lea edx, [ecx + 0x1287f766]
mov eax, 0xed78089a
sub eax, ecx
mov edi, eax
or edi, 0x85f450b5
lea ebx, [edi + edi]
sub ebx, edx
not edi
lea edx, [ebx + edi*4]
xor eax, 0x7a0baf4a
add eax, eax
sub eax, edx
mov edi, dword [0x1007df70]
mov ebx, dword [0x1007df74]
mov edx, edi
and edx, ebx
not ebx
add edx, ebx
or ebx, edi
sub edx, ebx
mov edi, dword [0x1007df7c]
mov ebx, edi
not ebx
or ebx, edi
mov edi, dword [0x1007df78]
and ebx, edi
sub ebx, edi
add ecx, ecx
add ecx, 0x250feeca
or ecx, 0xf4175e94
mov dword [esi], ecx
add edx, 0x62721317
add ebx, 0xa
cmp dword [0x10088b18], ebx
mov ebx, dword [0x10088b14]
setl byte [esi + 4]
mov edi, 1
sub edi, ebx
imul edi, ebx
mov ecx, dword [0x1007df80]
mov ebx, ecx
not ebx
or ebx, ecx
mov ecx, dword [0x1007df84]
and ebx, ecx
sub ebx, ecx
and edi, 1
cmp edi, ebx
mov ecx, dword [esi]
lea eax, [eax + ecx + 0x7a0baf4b]
mov ecx, dword [esi + 0x68]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [eax], edx
sete al
or al, byte [esi + 4]
mov eax, dword [esi + 0x20]
mov dword [eax], 0x1484abd
jne 0x10016e20
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi + 0x2c], eax
movzx eax, word [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
add eax, 2
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
mov eax, dword [esi + 0x94]
mov edi, dword [eax]
lea eax, [edi + edi - 0x20ad879d]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x20ad879c
add edx, edx
mov ebx, eax
sub ebx, edx
xor eax, 0x20ad879c
add eax, ebx
lea edx, [eax + ecx]
mov dword [esi + 0x10], edx
add eax, ecx
add eax, 0x415b0f3a
mov dword [esi + 0x14], eax
mov edx, edi
not edi
mov eax, edx
and eax, 0x1093689a
mov ecx, edi
sub ecx, eax
mov eax, edx
and eax, 0xef6c9765
add eax, ecx
mov ecx, edx
mov dword [esi], edx
or ecx, 0xef6c9765
lea ebx, [eax + ecx]
mov dword [esi + 0x1c], ebx
add ecx, eax
add ecx, 0x2126d136
mov ebx, edi
mov dword [esi + 4], edi
and ebx, 0xef6c9765
add ebx, edx
xor edx, 0xef6c9765
sub ebx, edx
mov eax, ecx
xor eax, ebx
mov edx, dword [esi + 0x1c]
lea edx, [edx + eax*2]
add edx, 0x2126d136
or ecx, ebx
sub edx, ecx
not eax
add eax, edx
add eax, ebx
add eax, 1
mov ecx, eax
xor ecx, 0xef6c9764
add ecx, ecx
mov edx, eax
or edx, 0x1093689b
add edx, ecx
mov ecx, eax
not ecx
add ecx, edx
and eax, 0xef6c9764
lea ebx, [eax + ecx]
add ebx, 2
mov ecx, dword [esi + 0x14]
xor ecx, 0x42a3305
mov eax, dword [esi + 0x10]
lea ecx, [ecx + eax*2]
add ecx, 0x82b61e74
add eax, eax
add eax, 0x82b61e74
or eax, 0x854660a
sub ecx, eax
mov eax, ecx
and eax, ebx
lea eax, [ecx + eax*2]
add eax, ebx
not ecx
lea edx, [eax + ecx*2]
or ecx, ebx
add ecx, ecx
sub edx, ecx
mov dword [esi + 0x10], edx
mov eax, edx
and eax, 0x42a3305
add eax, eax
mov ecx, edx
sub ecx, eax
xor edx, 0xfbd5ccfa
add edx, ecx
mov dword [esi + 0x14], edx
mov eax, dword [esi]
mov ecx, eax
and ecx, 0xe2f58c2e
mov ebx, edi
and ebx, 0x1d0a73d1
mov edx, eax
mov edi, eax
or edx, 0x1d0a73d1
lea eax, [ebx + ecx]
sub eax, edx
xor edi, 0xe2f58c2e
sub ecx, edi
add ebx, ebx
sub ecx, ebx
add eax, 0x1d0a73d1
mov edi, dword [esi + 4]
lea edx, [ecx + edi]
add edx, 0x1d0a73d1
add ecx, edi
mov ebx, eax
or ebx, edx
add ecx, ebx
add ecx, 0x1d0a73d1
not ebx
add ebx, ecx
not eax
or eax, edx
sub ebx, eax
mov eax, ebx
xor eax, 0xe2f58c2f
mov ecx, ebx
xor ecx, 0x87250
and ecx, 0xc03d7a7d
mov edx, eax
and edx, 0xc03d7a7d
mov edi, ecx
sub edi, edx
not ecx
add ecx, edi
add ecx, 0xc03d7a7e
mov edx, eax
and edx, 0x3fc28582
add edx, eax
mov edi, ebx
xor edi, 0xdd3709ad
add edi, edx
xor ebx, 0x22c8f652
lea ebx, [edi + ebx*2]
add eax, eax
or eax, 0x807af4fa
sub ebx, eax
add ebx, 0xc03d7a7e
mov eax, ecx
not eax
and eax, ebx
mov edx, ecx
or edx, ebx
add edx, eax
not ebx
or ebx, ecx
lea ecx, [ebx + edx]
add ecx, 1
mov eax, ecx
not eax
and eax, 0x3fc28582
mov edx, ecx
xor edx, 0x3fc28582
add edx, eax
or ecx, 0x403d7a7d
add ecx, edx
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
add eax, edx
add eax, 0xd2fd8c6a
lea edx, [ecx + ecx]
add edx, 2
mov edi, eax
sub edi, edx
mov ebx, eax
or ebx, edx
add ebx, edi
lea ebx, [ebx + ecx*2]
add ebx, 2
not eax
or eax, edx
mov ecx, dword [esi]
add ecx, ecx
mov edi, dword [esi + 4]
mov edx, edi
sub edx, ecx
add edi, edi
sub edx, edi
add edx, 0xfffffffe
and edx, 0xfffffffe
mov ecx, edx
not ecx
add ecx, ecx
add ecx, edx
lea edx, [ebx + eax]
add eax, ebx
add eax, 0x4a789421
add ecx, ecx
xor ecx, 0xfffffffe
mov edi, eax
not edi
and edi, ecx
add edx, edi
add edx, 0x4a789421
and ecx, eax
add ecx, edx
mov eax, ecx
not eax
mov edx, eax
and edx, 0x1521ba7f
add edx, edx
mov edi, ecx
sub edi, edx
xor ecx, 0x1521ba7f
add ecx, edi
add ecx, eax
imul eax, ecx, 0xa20644d9
mov ecx, 0x5df9bb27
sub ecx, eax
and ecx, 0xa6a13650
add eax, 0xa20644d8
and eax, 0x595ec9af
sub ecx, eax
imul eax, ecx, 0xd2ca0497
lea ecx, [eax - 0x37b49b8e]
add eax, eax
add eax, 0x9096c8e4
sub ecx, eax
lea eax, [ecx - 0x1bda4dc7]
add ecx, ecx
add ecx, 0xc84b6472
not eax
lea ecx, [ecx + eax*2]
not ecx
add ecx, eax
mov eax, dword [esi + 0x64]
mov dword [eax], ecx
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
movsx edi, word [eax]
mov dword [esi + 4], edi
mov eax, dword [esi + 0xac]
mov ecx, dword [eax]
mov eax, ecx
mov ebx, ecx
mov dword [esi], ecx
not eax
not edi
mov ecx, eax
and ecx, edi
and ebx, edi
lea ebx, [ebx + ecx*2]
mov edx, eax
xor edx, edi
add ebx, edx
mov ecx, eax
or ecx, edi
not ecx
lea ebx, [ebx + ecx*2]
add ebx, edx
mov ecx, dword [esi]
or ecx, edi
sub ebx, ecx
add ebx, 1
mov ecx, ebx
and ecx, eax
mov edx, ebx
or edx, eax
not edx
lea ecx, [edx + ecx*2]
lea edx, [eax + eax]
sub edx, eax
xor ebx, eax
lea eax, [ebx + ecx]
add eax, 1
add ebx, ecx
lea ecx, [ebx + ebx]
add ecx, 2
sub ecx, eax
not edx
add ecx, edx
mov edx, dword [esi + 4]
add ecx, edx
and edi, 0xcd5ae100
and edx, 0x32a51eff
or edx, edi
mov eax, edx
xor eax, 0x32a51eff
xor edi, 0xcd5ae100
lea eax, [edi + eax*2]
and edx, 0x32a51eff
lea ebx, [edx + eax]
add ebx, 1
mov eax, ebx
not eax
mov edi, dword [esi]
mov edx, edi
xor edx, ebx
or ebx, eax
and ebx, edi
mov edi, edx
not edi
add edi, ebx
or eax, dword [esi]
sub edi, eax
mov eax, edi
and eax, edx
add eax, eax
mov ebx, edx
sub ebx, eax
mov eax, edi
or eax, edx
add eax, ebx
xor edx, edi
not edx
add edx, eax
add edx, edi
add edx, 1
mov eax, ecx
not eax
mov edi, ecx
xor edi, 0x2774bde0
add edi, ecx
and eax, 0xd88b421f
add eax, edi
and ecx, 0x2774bde0
lea edi, [eax + ecx]
add eax, ecx
add eax, 0xd88b4221
mov ecx, eax
not ecx
mov ebx, ecx
and ebx, edx
add edi, ebx
add edi, 0xd88b4221
add edi, edx
xor eax, edx
not eax
add eax, edi
or ecx, edx
sub eax, ecx
mov edx, eax
and edx, 0xd88b421f
mov ecx, eax
or ecx, 0x2774bde0
add edx, ecx
not ecx
add ecx, edx
and eax, 0x2774bde0
add eax, ecx
imul eax, eax, 0x28f15131
lea ecx, [eax - 0x70d125be]
mov edx, ecx
and edx, 0x42bad01b
add eax, edx
add eax, 0x8f2eda42
or ecx, 0xbd452fe4
sub eax, ecx
imul eax, eax, 0xabf267d1
lea ecx, [eax + eax*2]
add ecx, 0x938c364b
lea edx, [eax + eax]
add edx, 0xd082432
sub edx, ecx
mov eax, edx
and eax, 0x993b3cf5
add eax, edx
not edx
and edx, 0x993b3cf5
add edx, eax
mov edi, edx
mov edx, dword [esi + 8]
mov eax, edx
not eax
mov dword [esi + 0x10], eax
and eax, 0x2501
lea eax, [edx + eax*2]
mov ecx, edx
xor ecx, 0xffffdafe
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xffffb5fe
add ecx, edx
mov ebx, edx
mov edx, eax
and edx, 0xffffdafe
add ecx, edx
add ecx, 0xffffb5fe
or eax, 0x2501
sub ecx, eax
neg edi
shr edi, 0x10
mov dword [esi + 4], edi
mov eax, dword [esi + 0x10]
lea edx, [ebx + eax*2]
add edx, 1
mov eax, edx
not eax
mov ebx, edi
not ebx
mov dword [esi], ebx
and eax, ebx
mov edi, edx
xor edi, ebx
add edi, eax
mov eax, edx
or eax, dword [esi + 4]
add eax, edi
add eax, 1
and eax, edx
lea edx, [ecx + 0x4a03]
mov edi, edx
and edi, 0xffffdd66
add edi, ecx
add edi, 0x4a03
mov ecx, edx
not ecx
and ecx, 0x2299
add ecx, edi
xor edx, 0x2299
sub ecx, edx
lea edi, [eax + ecx*2]
add edi, 0x4532
add ecx, 0x2299
mov edx, ecx
xor edx, eax
lea edi, [edi + edx*2]
or ecx, eax
add ecx, ecx
sub edi, ecx
not edx
add edx, edi
lea ecx, [edx + eax]
add eax, edx
add eax, 1
mov edx, eax
xor edx, 0x2299
add ecx, edx
add ecx, 1
mov edx, eax
or edx, 0xffffdd66
add edx, ecx
mov ecx, eax
not ecx
add ecx, edx
and eax, 0x2299
lea edx, [ecx + eax]
lea ebx, [eax + ecx]
add ebx, 0xffffdd69
lea eax, [edx + edx]
add eax, 0xffffbad2
sub ebx, eax
mov edi, dword [esi + 4]
mov eax, edi
neg eax
mov ecx, ebx
and ecx, eax
add ecx, ecx
mov edx, ebx
sub edx, ecx
lea ecx, [edi + edi]
mov dword [esi + 0x14], ecx
sub edx, ecx
xor eax, ebx
not eax
add eax, edx
not ebx
sub ebx, eax
mov dword [esi + 0x38], ebx
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, edi
mov edx, ecx
mov ecx, eax
xor ecx, edi
mov ebx, dword [esi + 0x10]
and ebx, edi
mov eax, edx
add edx, edi
or eax, ebx
mov dword [esi + 0x44], eax
add ebx, ecx
mov ecx, dword [esi + 8]
or ecx, edi
sub ebx, ecx
not ecx
mov dword [esi + 0x24], ecx
lea eax, [edi + ecx*2]
mov ecx, edi
not eax
add eax, dword [esi + 0x10]
mov dword [esi + 0x28], eax
mov edi, dword [esi]
sub edi, dword [esi + 0x14]
add edi, ecx
add edi, ecx
mov dword [esi + 0x1c], edi
not edi
mov ecx, dword [esi + 0x10]
and edi, ecx
add edx, dword [esi + 0x24]
or ecx, dword [esi + 4]
sub edx, ecx
mov ecx, edx
or ecx, eax
mov eax, dword [esi + 0x28]
add eax, ecx
mov dword [esi + 0x10], eax
not ecx
add ecx, dword [esi + 0x10]
not edx
or edx, dword [esi + 0x28]
sub edx, ecx
mov eax, dword [esi + 0x38]
lea ecx, [edx + eax]
add ecx, 0xfffff0f3
mov eax, ecx
not eax
mov edx, eax
and edx, 0xf0d
sub ecx, edx
or eax, 0xfffff0f2
add eax, ecx
sub ebx, dword [esi + 0x24]
mov edx, dword [esi + 8]
or edx, dword [esi]
mov ecx, dword [esi + 0x44]
add ecx, edx
add ecx, 1
add ebx, edx
mov edx, ecx
xor edx, ebx
mov dword [esi + 8], ebx
sub dword [esi + 8], edx
or ecx, ebx
add ecx, dword [esi + 8]
add ecx, edx
sub ecx, ebx
xor ecx, 0x64d1
xor ecx, 0xffff9b2e
sub eax, ecx
lea ecx, [eax + 0x1e1b]
mov edx, ecx
not edx
and edx, 0xffffa785
add eax, edx
add eax, 0x1e1b
and ecx, 0xffffa785
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xffffb0f6
mov ecx, eax
and ecx, edi
add ecx, edx
add ecx, 0xffffb0f6
not edi
add ecx, edi
not eax
or eax, edi
add eax, ecx
imul eax, eax, 0xffff9073
add eax, 0xffffa132
not eax
lea ecx, [eax + eax]
sub ecx, eax
lea eax, [ecx + 1]
mov edx, eax
and edx, 0x21a4
lea ecx, [edx + ecx*2]
add ecx, 2
mov edx, eax
or edx, 0xffffde5b
sub ecx, edx
not eax
add eax, ecx
imul ecx, eax, 0x6b45
mov eax, 0xffffa5ad
sub eax, ecx
add ecx, 0x5a52
and ecx, 0xfffff787
lea ecx, [ecx + eax*2]
or eax, 0xfffff787
sub eax, ecx
add eax, 0x879
mov ecx, dword [esi + 0x2c]
mov word [ecx], ax
mov edi, dword [esi + 4]
mov eax, edi
sub eax, dword [esi + 0x14]
mov dword [esi + 0x14], eax
mov ecx, dword [esi + 0x84]
mov ebx, dword [ecx]
mov edx, ebx
not edx
mov dword [esi + 0x10], edx
lea ecx, [edx + edx*2]
add edx, edx
mov dword [esi + 8], edx
sub ecx, edx
mov edx, edi
and edx, ecx
or edi, ecx
add edi, edx
mov eax, dword [esi]
mov edx, eax
or edx, ecx
not ecx
add ecx, edi
add edx, ecx
add edx, 2
and eax, ebx
or edx, eax
add edx, dword [esi + 0x14]
mov dword [esi + 0x14], edx
mov eax, dword [esi + 0x1c]
mov ecx, eax
and ecx, ebx
or eax, ebx
lea edx, [ecx + eax*2]
not eax
lea edi, [edx + eax*4]
mov eax, dword [esi + 0x1c]
xor eax, ebx
not eax
add eax, eax
sub edi, eax
not ecx
add ecx, ecx
sub edi, ecx
mov edx, dword [esi + 4]
mov ecx, edx
or ecx, dword [esi]
mov eax, dword [esi + 8]
sub eax, dword [esi + 0x10]
mov dword [esi + 8], eax
and ecx, eax
xor edx, eax
not edx
add edx, ecx
mov ecx, dword [esi]
or ecx, eax
sub edx, ecx
mov ecx, edx
mov eax, edx
not ecx
and ecx, edi
sub ecx, edi
mov edx, edi
or edx, eax
lea ecx, [ecx + edx*2]
not edx
add edx, ecx
and eax, edi
add edx, eax
add edx, 1
mov ecx, edx
and ecx, 0x4f2d041
add ecx, ecx
mov eax, edx
or edx, 0x7b0d2fbe
sub ecx, edx
not eax
and eax, 0x7b0d2fbe
add ecx, 0x7b0d2fbe
mov edx, ecx
not edx
or edx, ecx
and edx, eax
sub edx, eax
or ecx, eax
add ecx, edx
mov eax, ecx
not eax
and eax, 0x4f2d041
add eax, eax
lea eax, [eax + ecx*2]
mov edx, ecx
xor edx, 0x84f2d041
sub edx, eax
add ecx, ecx
or ecx, 0x9e5a082
add ecx, edx
mov edx, dword [esi + 0x14]
mov eax, edx
neg eax
add eax, eax
sub ecx, eax
sub ecx, edx
lea eax, [ebx + ebx]
sub ebx, eax
sub ebx, dword [esi + 0x10]
lea edx, [ebx - 1]
mov eax, dword [esi + 8]
xor edx, eax
add edx, ebx
neg ebx
or ebx, eax
lea eax, [ecx - 1]
add ebx, edx
mov edi, ecx
add ecx, ecx
mov edx, eax
xor edx, 0x6795684
sub edx, ecx
neg edi
or edi, 0xf986a97b
sub edx, edi
or eax, 0xf986a97b
add eax, edx
add eax, ebx
imul eax, eax, 0xc9df1daf
add eax, 0xc9df1daf
not eax
lea ecx, [eax + 0x562d5346]
not ecx
add eax, eax
add eax, 0xac5aa68c
mov edx, ecx
sub edx, eax
add ecx, ecx
sub edx, ecx
imul eax, edx, 0x736c594f
mov ecx, 0x736c594f
sub ecx, eax
mov edx, ecx
xor edx, 0x85f450b5
sub edx, eax
or ecx, 0x7a0baf4a
add ecx, edx
add ecx, eax
add ecx, 0x8c93a6b0
add eax, 0x8c93a6b0
or eax, 0x7a0baf4a
sub eax, ecx
add eax, 0x69f55fb
mov ecx, dword [esi + 0x68]
mov dword [ecx], eax
mov edx, dword [0x1007e59c]
mov ecx, dword [0x1007e5a0]
mov eax, edx
or eax, ecx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0x1484abd
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov ecx, dword [0x1007e5a4]
mov edx, dword [0x1007e5a8]
mov eax, ecx
or eax, edx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0x62721317
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10011871
mov eax, dword [esi + 0x68]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov edi, dword [0x1007d10c]
lea edx, [edi + edi]
mov ecx, edx
neg ecx
lea eax, [edi + edi]
add eax, 0xffffffff
mov ebx, edi
mov dword [esi], edi
and eax, 0x37fbbb3b
add eax, eax
sub eax, edx
xor ecx, 0x480444c4
add ecx, eax
sub ecx, edx
lea eax, [ecx - 0x6ff77676]
mov edx, eax
and edx, 0xb7fbbb3c
lea edi, [edx + ecx]
add edi, 0x9008898a
or eax, 0x480444c3
sub edi, eax
mov eax, dword [0x1007d108]
mov ecx, eax
not ecx
mov dword [esi + 8], ecx
lea edx, [eax + ecx*2]
mov dword [esi + 0x10], edx
lea ecx, [eax + ecx*2 + 1]
mov edx, ebx
not edx
mov eax, ecx
and eax, edx
mov ebx, dword [esi + 0x10]
add ebx, eax
add ebx, 1
mov eax, ecx
xor eax, edx
add eax, ebx
mov ebx, ecx
or ebx, edx
sub eax, ebx
not ecx
or ecx, edx
mov ebx, edx
add eax, ecx
add eax, 1
mov ecx, edi
neg ecx
and ecx, 0x8f5b6b3
add ecx, edi
add ecx, 0xffffffff
add edi, 0xffffffff
or edi, 0xf70a494c
add edi, ecx
not eax
lea ecx, [eax + edi]
add edi, eax
add edi, 0x8f5b6b4
mov eax, edi
and eax, 0xf70a494c
add eax, ecx
add eax, 0x8f5b6b4
not edi
mov ecx, edi
and ecx, 0x8f5b6b3
sub eax, ecx
mov ecx, edi
and ecx, 0xf70a494c
add ecx, eax
or edi, 0xf70a494c
lea eax, [ecx + edi]
mov dword [esi + 0x10], eax
lea eax, [edi + ecx]
add eax, 0x8f5b6b5
mov dword [esi + 0x14], eax
lea eax, [edx + edx*2]
mov ecx, dword [esi]
add eax, ecx
lea edi, [ecx + eax]
add edi, 2
mov edx, edi
and edx, 0x51646590
mov ecx, edi
xor ecx, 0x51646590
add ecx, edx
mov eax, edi
or eax, 0xae9b9a6f
add eax, ecx
not edi
add edi, eax
lea eax, [edi + edx]
mov dword [esi + 0x24], eax
lea eax, [edx + edi]
add eax, 2
mov dword [esi + 0x1c], eax
mov eax, ebx
mov edi, ebx
add eax, ebx
mov ecx, dword [esi]
lea edx, [ecx + eax]
add edx, 1
mov eax, ecx
and eax, 0xae9b9a6f
and edi, 0x51646590
or edi, eax
or ebx, 0xae9b9a6f
sub edi, ebx
mov eax, dword [esi + 0x24]
lea ebx, [edi + eax]
add ebx, 0xae9b9a71
add edi, 0xae9b9a6f
mov eax, dword [esi + 0x1c]
mov ecx, eax
xor ecx, edi
add ecx, ebx
or edi, eax
sub ecx, edi
mov eax, ecx
and eax, 0x2e9b9a6f
mov edi, ecx
xor edi, 0xae9b9a6f
lea eax, [edi + eax*2]
not ecx
lea eax, [eax + ecx*2]
add ecx, ecx
or ecx, 0x5d3734de
sub eax, ecx
mov ebx, dword [esi + 0x14]
mov ecx, ebx
and ecx, 0x1ef829d
mov edi, dword [esi + 0x10]
add ecx, edi
add ecx, 0x8f5b6b5
mov edi, ebx
or edi, 0xfe107d62
add edi, ecx
mov ecx, ebx
xor ecx, 0x1ef829d
add ecx, edi
not ebx
lea edi, [ecx + ebx]
add ecx, ebx
add ecx, 0x1ef82a0
mov ebx, eax
neg ebx
add edi, edi
add edi, 0x3df0540
sub edi, eax
or ebx, ecx
not ebx
add ebx, edi
add eax, 0xffffffff
or eax, ecx
sub ebx, eax
mov eax, ebx
not eax
mov ecx, eax
and ecx, 0x1ef829d
add ecx, ebx
or eax, 0xfe107d62
sub ecx, eax
mov edi, dword [esi + 8]
lea eax, [edi + edi]
sub edi, eax
lea eax, [edi - 1]
neg edi
or edi, eax
and edi, edx
not edx
or edx, eax
lea eax, [edi + edx]
add eax, 1
not eax
add eax, ecx
add eax, 0xde94ae6b
mov ecx, eax
and ecx, 0xe273b3a7
sub eax, ecx
sub eax, ecx
not ecx
add ecx, ecx
sub eax, ecx
lea ecx, [eax + 0x1d8c4c57]
mov edx, ecx
xor edx, 0x7a532cc0
add eax, edx
add eax, 0x1d8c4c57
mov edx, ecx
or edx, 0x85acd33f
add edx, eax
mov eax, ecx
not eax
add eax, edx
and ecx, 0x7a532cc0
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x7a532cc3
mov ecx, eax
xor ecx, 0x7a532cc0
add ecx, edx
add ecx, 0x7a532cc3
xor eax, 0x85acd33f
add eax, ecx
imul eax, eax, 0x65a6e8ab
mov ecx, 0x74f5fb95
sub ecx, eax
lea edx, [eax - 0x74f5fb96]
and edx, 0x347973d6
add edx, edx
mov edi, ecx
sub edi, edx
xor ecx, 0x347973d6
add ecx, edi
add eax, ecx
add eax, 0x8b0a046a
mov ecx, 0x970d1853
sub ecx, eax
imul ecx, ecx, 0x3a8dd203
mov eax, ecx
and eax, 0xfce2329f
not ecx
and ecx, 0x31dcd60
sub eax, ecx
mov ecx, eax
and ecx, 0x78b0187d
add ecx, eax
mov edx, eax
xor edx, 0x78b0187d
add edx, ecx
or eax, 0x78b0187d
sub edx, eax
add edx, 0x8a6db4e2
cmp dword [esi + 4], edx
mov eax, 0x69b78b6f
mov ecx, 0x47ed2c89
cmovl eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [0x1007dfa0]
mov ecx, dword [0x1007dfa4]
mov edx, eax
or edx, ecx
mov edi, edx
not edi
lea edx, [edx + edi*2]
mov edi, dword [0x10088b10]
not ecx
or ecx, eax
sub ecx, edx
not eax
add eax, ecx
add eax, 0xa
cmp dword [0x10088b0c], eax
setge al
setl ah
mov edx, edi
not edx
add edx, edi
add edx, edi
imul edx, edi
mov edi, dword [0x1007dfa8]
mov ebx, edi
not ebx
mov ecx, dword [0x1007dfac]
and ebx, ecx
and edi, ecx
not ecx
add ecx, ebx
add ecx, edi
add ecx, 1
and edx, 1
cmp edx, ecx
mov ecx, dword [0x1007df98]
mov edx, ecx
not edx
lea ecx, [ecx + edx + 0x62721318]
mov edx, dword [esi + 0xc]
mov dword [edx], ecx
sete cl
setne dl
and dl, ah
or ah, cl
add ah, dl
or al, cl
add al, ah
add al, 1
test al, 1
jne 0x10016e20
mov eax, dword [esi + 0x68]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov edx, dword [0x1007d10c]
lea eax, [edx + edx]
add eax, 0xffffffff
lea ecx, [edx + edx]
mov edi, edx
mov dword [esi], edx
neg ecx
xor ecx, 0x480444c4
and eax, 0x37fbbb3b
lea edx, [ecx + eax*2]
lea eax, [ecx + eax*2]
add eax, 1
and eax, 0x480444c3
sub eax, edx
or edx, 0xb7fbbb3d
sub eax, edx
mov edx, dword [0x1007d108]
mov dword [esi + 0x14], edx
mov ecx, edx
not ecx
mov dword [esi + 0x10], ecx
mov ebx, edi
not ebx
mov dword [esi + 4], ebx
and ecx, ebx
mov edi, edx
and edi, ebx
mov dword [esi + 0x1c], edi
mov edx, ecx
sub edx, edi
add edx, ebx
sub edx, ecx
mov ecx, edx
not ecx
lea edi, [edx + ecx*2]
lea ecx, [edx + ecx*2]
add ecx, 1
mov edx, ecx
not edx
add edx, edi
add edx, 1
add edx, ecx
lea ecx, [eax + edx]
lea ebx, [eax + edx]
add ebx, 0x78ed2d2a
mov eax, ebx
or eax, 0x8f5b6b3
add eax, ecx
add eax, 0x78ed2d2a
mov dword [esi + 0x24], eax
mov eax, dword [esi + 4]
and eax, 0x51646590
mov ecx, eax
not ecx
lea edi, [eax + ecx*2]
xor edi, 0xfffffffe
mov ecx, dword [esi]
and ecx, 0xae9b9a6f
mov eax, edi
or eax, ecx
mov edx, edi
xor edx, ecx
add edx, eax
mov eax, ecx
not eax
or eax, edi
add eax, edx
and ecx, edi
not edi
add edi, eax
lea eax, [ecx + edi]
add eax, 2
not ebx
or ebx, 0x8f5b6b3
mov edx, dword [esi + 0x24]
lea ecx, [edx + ebx]
add edx, ebx
add edx, 0xf0041539
xor eax, 0x51646590
add eax, 1
mov edi, edx
not edi
and edi, eax
add ecx, edi
add ecx, 0xf0041539
and eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x7e107d62
add edx, edx
mov edi, eax
sub edi, edx
xor eax, 0xfe107d62
add eax, edi
mov edi, dword [esi + 0x14]
mov edx, dword [esi]
and edx, edi
mov ebx, dword [esi + 0x1c]
sub ebx, edx
mov edx, dword [esi + 4]
xor edi, edx
add ebx, edi
not edi
add edi, ebx
or edx, dword [esi + 0x10]
sub edi, edx
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xde94ae6c
mov eax, edi
mov ebx, edi
not eax
lea edx, [edx + eax*2]
add edx, 0xde94ae6c
mov edi, ecx
xor edi, eax
add edi, edx
lea edx, [edi + ebx*2]
and eax, ecx
not ecx
add ecx, edx
not eax
add eax, eax
sub ecx, eax
lea eax, [ecx + 1]
mov edx, eax
and edx, 0x1d8c4c58
lea ecx, [edx + ecx*2]
add ecx, 2
mov edx, eax
or edx, 0xe273b3a7
sub ecx, edx
not eax
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x7a532cc1
not eax
mov ecx, eax
and ecx, 0xfffffffe
add ecx, edx
add ecx, 0x7a532cc1
or eax, 1
sub ecx, eax
lea eax, [ecx + 2]
mov edx, eax
not edx
and edx, 0x7a532cc0
lea ecx, [edx + ecx*2]
add ecx, 4
or eax, 0x7a532cc0
sub ecx, eax
imul ecx, ecx, 0x65a6e8ab
mov eax, 0xda9ce440
sub eax, ecx
and eax, 0x347973d6
add ecx, 0x25631bbf
or ecx, 0x347973d6
sub eax, ecx
lea ecx, [eax + 0x347973d6]
add eax, eax
add eax, 0x68f2e7ac
sub ecx, eax
imul eax, ecx, 0x3a8dd203
lea ecx, [eax + 0x377004a3]
xor ecx, 0x874fe782
lea ecx, [ecx + eax*2]
add ecx, 0x6ee00946
add eax, eax
add eax, 0x6ee00946
or eax, 0xe9fcf04
sub ecx, eax
add ecx, 0x11bd9c64
cmp dword [esi + 8], ecx
mov eax, 0x69b78b6f
mov ecx, 0x47ed2c89
cmovl eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov ecx, dword [0x1007e5ac]
mov edx, dword [0x1007e5b0]
mov eax, ecx
xor eax, ecx
not eax
and eax, edx
xor eax, ecx
xor ecx, edx
sub eax, ecx
add eax, 0x62721317
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x100129f6
mov edi, dword [esi + 0x30]
mov eax, dword [edi]
movzx eax, word [eax]
mov ecx, eax
not ecx
add ecx, ecx
add eax, ecx
add eax, 1
and eax, 0xfffffffd
mov ecx, eax
not ecx
mov edx, eax
xor edx, 0xffff8a9a
add edx, ecx
or eax, 0x7565
add eax, edx
and ecx, 0x7565
lea edx, [eax + ecx]
add eax, ecx
add eax, 1
not eax
mov ecx, eax
and ecx, 0xffff8a9a
add ecx, edx
add ecx, 1
or eax, 0x7565
sub ecx, eax
imul eax, ecx, 0x790f
mov ecx, eax
and ecx, 0x2ead
lea ecx, [eax + ecx*2]
not eax
lea ecx, [ecx + eax*2]
add eax, eax
or eax, 0x5d5a
sub ecx, eax
imul ecx, ecx, 0x55ef
mov eax, 0xffff8483
sub eax, ecx
add ecx, 0x7b7c
and ecx, 0xffff8482
lea ecx, [ecx + eax*2]
or eax, 0xffff8482
sub eax, ecx
add eax, 0xffff8483
mov ecx, dword [edi]
mov word [ecx], ax
mov ecx, dword [0x1007d130]
mov dword [esi], ecx
mov edi, dword [0x1007d134]
not ecx
mov eax, ecx
and eax, edi
add eax, ecx
sub eax, edi
mov edx, ecx
xor edx, edi
add eax, edx
not edx
lea ebx, [eax + edx*2]
mov eax, edi
mov dword [esi + 0x14], edi
not eax
mov dword [esi + 0x10], eax
mov edx, ecx
or edx, eax
add edx, edx
sub ebx, edx
mov dword [esi + 4], ebx
lea edx, [eax + eax]
add edx, edi
add edx, 1
mov ebx, dword [esi]
mov eax, ebx
or eax, ecx
and eax, edx
not edx
or edx, ebx
lea edi, [eax + edx]
add edi, 1
mov eax, dword [esi + 4]
mov edx, eax
xor edx, edi
mov ebx, edi
sub ebx, edx
or eax, edi
add eax, ebx
add eax, edx
sub eax, edi
mov dword [esi + 4], eax
lea edx, [eax + eax*2]
sub eax, edx
mov dword [esi + 8], eax
mov edx, ecx
and edx, 0x51396d0d
mov edi, dword [esi]
mov eax, edi
xor eax, 0xaec692f2
add eax, edx
or ecx, 0xaec692f2
add ecx, eax
add ecx, edi
lea eax, [edx + ecx]
add eax, 2
and edi, 0xaec692f2
or edi, eax
mov dword [esi], edi
mov edx, dword [esi + 0x14]
mov ecx, edx
and ecx, 0xaec692f2
mov edi, dword [esi + 0x10]
mov eax, edi
and eax, 0x2ec692f2
add eax, eax
sub ecx, eax
mov eax, edi
or eax, edx
xor edx, 0xaec692f2
add edx, ecx
add edx, edi
add edx, 0xaec692f3
mov ecx, edi
and ecx, 0x51396d0d
and eax, 0x51396d0d
add ecx, eax
add ecx, 0xaec692f3
mov edi, ecx
not edi
mov eax, edi
and eax, edx
mov ebx, ecx
or ecx, edx
not edx
and ebx, edx
sub ebx, eax
add ecx, ebx
sub ecx, edx
add ecx, edi
mov ebx, dword [esi]
mov edi, ebx
not edi
mov eax, edi
and eax, ecx
mov edx, ebx
xor edx, ecx
add edx, eax
or ecx, ebx
not ecx
add ecx, edx
sub ecx, edi
mov eax, ecx
not eax
add eax, eax
add ecx, eax
add ecx, 1
mov ebx, dword [esi + 4]
mov eax, dword [esi + 8]
lea edx, [eax + ebx]
neg edx
mov eax, edx
and eax, 0x9fac705c
mov edi, edx
xor edi, 0x9fac705c
add edi, eax
xor edx, 0x60538fa3
add edx, edi
mov eax, dword [esi + 8]
add eax, ebx
add eax, 0xffffffff
or eax, 0x9fac705c
sub edx, eax
lea eax, [edx - 0x60538fa4]
mov edi, eax
not edi
and edi, ecx
add edx, edi
add edx, 0x9fac705c
add edx, ecx
and eax, ecx
not ecx
add ecx, edx
lea edx, [ecx + eax]
add eax, ecx
add eax, 1
mov ecx, eax
and ecx, 0x60538fa3
add ecx, edx
add ecx, 1
not eax
or eax, 0x9fac705c
lea edx, [ecx + eax]
add ecx, eax
add ecx, 0x7d529524
mov eax, ecx
xor eax, 0x1a6e24cf
add eax, edx
add eax, 0x7d529524
not ecx
add eax, ecx
add ecx, ecx
or ecx, 0xcb23b660
sub eax, ecx
lea ecx, [eax - 1]
mov edx, ecx
and edx, 0x1cff057e
lea edx, [edx + eax*2]
add edx, 0xfffffffe
or ecx, 0xe300fa81
sub edx, ecx
sub edx, eax
imul eax, edx, 0x177a0cdd
lea ecx, [eax + 0x332ef50c]
not ecx
mov edx, ecx
and edx, 0x9281c650
add eax, edx
add eax, 0x332ef50c
or ecx, 0x6d7e39af
sub eax, ecx
lea ecx, [eax - 0x25038ca2]
mov edx, ecx
not edx
and edx, 0x23944d75
lea eax, [edx + eax*2]
add eax, 0xb5f8e6bc
or ecx, 0x23944d75
sub eax, ecx
imul eax, eax, 0x94db2b75
lea ecx, [eax - 0x12e10d79]
or ecx, 0xae18b093
add eax, ecx
add eax, 0xed1ef287
not ecx
add eax, ecx
add eax, 0xae18b094
mov edx, eax
and edx, 0x3cea3e05
not eax
or eax, 0x3cea3e05
sub edx, eax
lea eax, [edx + 0x3cea3e04]
mov ecx, eax
and ecx, 0x2e18b093
lea edi, [edx + ecx*2]
add edi, 0x3cea3e04
mov ecx, 0xc315c1fb
sub ecx, edx
mov edx, ecx
and edx, 0xae18b093
add edx, edi
mov edi, ecx
and edi, 0x51e74f6c
lea edx, [edx + edi*2]
xor eax, 0xae18b093
add eax, edx
or ecx, 0xae18b093
sub eax, ecx
add eax, 0x51e74f6e
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov ecx, dword [0x1007e080]
mov edx, dword [0x1007e084]
mov eax, ecx
xor eax, edx
add eax, ecx
add eax, edx
or ecx, edx
mov ebx, dword [0x10088b08]
add ecx, ecx
sub eax, ecx
add eax, 0xa
cmp dword [0x10088b04], eax
setge dh
setl dl
lea edi, [ebx - 1]
imul edi, ebx
mov ebx, dword [0x1007e088]
mov eax, dword [0x1007e08c]
mov dword [esi], eax
mov ecx, ebx
xor ecx, eax
mov eax, ebx
sub eax, ecx
mov ecx, dword [esi]
not ecx
or ecx, ebx
sub eax, ecx
and ebx, dword [esi]
not ebx
add ebx, eax
and edi, 1
cmp edi, ebx
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
sete al
mov ecx, edx
and cl, al
add cl, dl
and dh, al
add dh, cl
mov ecx, edx
xor cl, al
add cl, dh
or dl, al
add dl, cl
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
test dl, 1
jne 0x10016e20
mov ebx, dword [esi + 0x30]
mov eax, dword [ebx]
movzx eax, word [eax]
not eax
mov ecx, eax
and ecx, 0x7ffd
mov edx, eax
and edx, 2
lea ecx, [edx + ecx*2]
sub ecx, eax
mov eax, ecx
not eax
lea edx, [eax + eax]
lea ecx, [edx + ecx*2]
mov edx, eax
sub edx, ecx
neg ecx
add ecx, eax
add ecx, 0xfffffffe
lea eax, [edx + edx]
add eax, 0xfffffffc
sub eax, ecx
mov ecx, eax
xor ecx, 0x7565
add ecx, eax
mov edx, eax
not edx
add edx, ecx
mov edi, eax
or edi, 0xffff8a9a
add edi, edx
and eax, 0x7565
lea ecx, [edi + eax]
lea edx, [eax + edi]
add edx, 0x7567
not edx
lea edi, [edx + ecx*2]
add edi, 0xeace
mov eax, 0xfffff9e7
sub eax, edi
mov edi, eax
and edi, 0x482
add edi, edi
add eax, eax
sub eax, edi
lea ecx, [edx + ecx*2]
add ecx, 0xf0e6
mov edx, ecx
or edx, 0x7b7d
sub eax, edx
or ecx, 0xffff8482
add ecx, eax
mov eax, 0xffff8483
sub eax, ecx
mov ecx, dword [ebx]
mov word [ecx], ax
mov edi, dword [0x1007d130]
mov eax, dword [0x1007d134]
mov dword [esi], eax
mov ecx, edi
not ecx
mov ebx, ecx
mov dword [esi + 0x10], ecx
mov edx, eax
not edx
mov dword [esi + 8], edx
mov ecx, edx
or ecx, eax
and ecx, edi
mov eax, ebx
and eax, edx
or eax, ecx
mov ecx, edi
xor ecx, edx
sub eax, ecx
lea ecx, [ebx + ebx]
add ecx, edi
add ecx, 1
and ecx, dword [esi]
mov ebx, ecx
xor ebx, eax
lea edx, [ecx + ebx*2]
mov dword [esi + 4], edx
or ecx, eax
sub dword [esi + 4], ecx
not ebx
add ebx, dword [esi + 4]
add ebx, eax
mov edx, ebx
mov ebx, dword [esi + 0x10]
mov ecx, ebx
and ecx, 0x51396d0d
and edi, 0xaec692f2
lea eax, [ecx + ebx]
add eax, edi
or edi, ecx
or ebx, 0xaec692f2
sub eax, ebx
sub edi, ebx
lea ebx, [edi - 0x51396d0e]
mov ecx, eax
xor ecx, ebx
add ecx, edi
add ecx, 0xaec692f2
or ebx, eax
mov edi, ebx
sub edi, ecx
not ebx
add ebx, ebx
sub edi, ebx
not eax
add eax, edi
add eax, 0xffffffff
mov ecx, dword [esi + 8]
and ecx, 0x51396d0d
mov edi, dword [esi]
and edi, 0xaec692f2
or edi, ecx
xor edi, eax
mov eax, edi
not eax
add eax, eax
lea ecx, [eax + edi]
add eax, edi
add eax, 1
mov edi, eax
not edi
add ecx, edi
add ecx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0x9fac705e
mov ecx, eax
and ecx, 0x9fac705c
sub eax, ecx
sub eax, ecx
not ecx
add ecx, ecx
sub eax, ecx
lea ecx, [eax + 0x60538fa2]
mov edx, ecx
xor edx, 0xe300fa81
add eax, edx
add eax, 0x60538fa2
mov edx, ecx
or edx, 0x1cff057e
add edx, eax
mov eax, ecx
not eax
add eax, edx
and ecx, 0xe300fa81
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x376d2a50
mov ecx, eax
xor ecx, 0xe300fa81
add ecx, edx
add ecx, 0x376d2a50
xor eax, 0x1cff057e
add eax, ecx
imul ecx, eax, 0x177a0cdd
lea eax, [ecx + 0x138a5a3a]
mov edx, eax
not edx
and edx, 0x23944d75
add ecx, edx
add ecx, 0x138a5a3a
and eax, 0x23944d75
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0x6d7e39af
add ecx, ecx
mov edx, eax
sub edx, ecx
mov ecx, eax
xor ecx, 0x6d7e39af
add ecx, edx
sub ecx, eax
lea eax, [ecx - 0x25038ca2]
mov edx, eax
and edx, 0xdc6bb28a
add ecx, edx
add ecx, 0xdafc735e
not eax
mov edx, eax
and edx, 0x23944d75
sub ecx, edx
add ecx, eax
imul ecx, ecx, 0x94db2b75
add ecx, 0x94db2b75
mov eax, ecx
and eax, 0x51e74f6c
not ecx
and ecx, 0xae18b093
sub eax, ecx
lea ecx, [eax + 0x5c316126]
mov edx, ecx
and edx, 0xc315c1fa
add eax, edx
add eax, 0x5c316126
mov edx, ecx
xor edx, 0xc315c1fa
add edx, eax
or ecx, 0xc315c1fa
sub edx, ecx
add edx, 0x8ed18d72
mov eax, dword [esi + 0x20]
mov dword [eax], edx
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [0x1007e5ec]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0x62721318
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10012fdc
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi], eax
movzx edi, word [eax]
lea edx, [edi + 0x20bc]
mov eax, edx
and eax, 0x20bc
mov ebx, edx
and ebx, 0xffffdf43
mov ecx, eax
sub ecx, ebx
add ecx, edi
add ecx, 0x20bc
not edx
or edx, 0x20bc
sub ecx, edx
not eax
lea ebx, [ecx + eax]
lea edi, [ecx + eax]
add edi, 0xffffa597
mov eax, dword [esi + 0xa8]
movzx ecx, word [eax]
mov edx, ecx
not edx
mov eax, edi
and eax, edx
add eax, ebx
add eax, 0xffffa597
add eax, ecx
xor ecx, edi
not ecx
add ecx, eax
or edx, edi
sub ecx, edx
imul eax, ecx, 0x4897
lea ecx, [eax - 0x52f5]
add eax, eax
add eax, 0xffff5a16
sub eax, ecx
not ecx
lea eax, [eax + ecx*4]
add ecx, ecx
sub eax, ecx
lea edx, [eax + 2]
mov ecx, edx
not ecx
xor edx, 0xffff82d6
add eax, edx
add eax, 2
mov edx, ecx
and edx, 0x7d29
add edx, eax
or ecx, 0x7d29
sub ecx, edx
add ecx, 0x7d2a
imul eax, ecx, 0x6e4e
imul ecx, ecx, 0x2575
sub ecx, eax
add ecx, 0xffffe89a
mov eax, dword [esi]
mov word [eax], cx
mov ecx, dword [0x1007d138]
mov dword [esi], ecx
mov edx, dword [0x1007d13c]
mov eax, ecx
not eax
mov dword [esi + 4], eax
add eax, eax
lea edi, [eax + ecx*2]
sub edi, ecx
add edi, 1
not edi
mov ecx, edx
mov eax, edx
not eax
lea ebx, [edx + eax*2]
add ebx, 1
mov edx, eax
mov dword [esi + 8], eax
or ebx, edi
mov edi, ebx
not edi
lea edi, [ebx + edi*2]
add edi, 1
mov ebx, edi
not ebx
and ebx, 0x14b13e1e
add ebx, ebx
xor edi, 0x94b13e1e
sub edi, ebx
mov ebx, edi
neg ebx
and ebx, 0x6b4ec1e1
add ebx, edi
add ebx, 0xffffffff
add edi, 0xffffffff
or edi, 0x94b13e1e
add ebx, edi
add ebx, 0x94b13e20
mov eax, ecx
mov edi, ecx
and edi, 0x86e49527
add edi, edx
mov edx, ecx
xor edx, 0x791b6ad8
sub edi, edx
and ecx, 0x791b6ad8
add ecx, eax
lea ecx, [ecx + edx*2]
lea edx, [eax + eax]
or edx, 0xf236d5b0
sub ecx, edx
xor eax, 0x86e49527
lea edx, [ecx + eax]
add edx, 0x791b6ad9
mov ecx, edi
or ecx, edx
mov eax, edi
xor eax, edx
add eax, ecx
mov ecx, edx
not ecx
or ecx, edi
add ecx, eax
mov eax, edi
not eax
add eax, ecx
and edi, edx
add edi, eax
add edi, 2
mov eax, edi
xor eax, 0x791b6ad8
not edi
mov ecx, edi
and ecx, 0x86e49527
add ecx, eax
or edi, 0x791b6ad8
sub edi, ecx
add edi, 0x86e49528
mov eax, ebx
and eax, edi
add eax, eax
mov ecx, ebx
sub ecx, eax
xor edi, ebx
not edi
add edi, ecx
add edi, ebx
mov ecx, dword [esi + 4]
mov eax, ecx
mov edx, dword [esi + 8]
xor eax, edx
add eax, edx
or edx, ecx
mov ecx, edx
sub ecx, eax
not edx
add edx, edx
sub ecx, edx
mov eax, dword [esi]
lea ebx, [ecx + eax]
mov dword [esi + 4], ebx
add eax, ecx
add eax, 0xffffffff
mov dword [esi + 8], eax
mov ecx, ebx
neg ecx
and eax, 0x6d23a65c
mov edx, ecx
and edx, 0x6d23a65c
mov ebx, eax
sub ebx, edx
not eax
add eax, ebx
add eax, 0x6d23a65d
mov dword [esi], eax
mov edx, ecx
and edx, 0x92dc59a3
sub edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov ebx, eax
xor ebx, 0x6d23a65c
add ebx, edx
xor eax, 0x12dc59a3
lea edx, [ebx + eax*2]
add ecx, ecx
or ecx, 0xda474cb8
sub edx, ecx
add edx, 0x6d23a65d
mov eax, dword [esi]
mov ecx, eax
not ecx
and ecx, edx
mov ebx, eax
or ebx, edx
add ebx, ecx
not edx
or edx, eax
lea eax, [edx + ebx]
add eax, 1
mov ecx, eax
not ecx
and ecx, 0x92dc59a3
mov edx, eax
xor edx, 0x92dc59a3
add edx, ecx
or eax, 0x6d23a65c
lea ecx, [edx + eax]
add eax, edx
add eax, 1
lea edx, [eax + eax*2]
sub eax, edx
add eax, ecx
add eax, 1
lea ecx, [edi + eax]
add eax, edi
add eax, 0x97602734
mov edx, eax
xor edx, 0x1a6e24ce
add ecx, edx
add ecx, 0x97602734
mov edx, eax
or edx, 0xe591db31
add edx, ecx
mov ecx, eax
not ecx
add ecx, edx
and eax, 0x1a6e24ce
add eax, ecx
imul ecx, eax, 0x9213bf
lea eax, [ecx - 0x7046bb79]
mov edx, eax
not edx
and edx, 0x68a3d6b7
add ecx, edx
add ecx, 0x8fb94487
and eax, 0x68a3d6b7
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0x65139a9c
add ecx, ecx
mov edx, eax
sub edx, ecx
mov ecx, eax
xor ecx, 0xe5139a9c
add ecx, edx
sub ecx, eax
imul eax, ecx, 0x7e2bdc3f
lea ecx, [eax - 0xe35c738]
not ecx
mov edx, ecx
and edx, 0x39fd749a
add edx, eax
add edx, 0xf1ca38c8
mov eax, ecx
and eax, 0xc6028b65
add eax, edx
sub eax, ecx
add eax, 0x39fd749a
mov ecx, eax
and ecx, 0xaf941b08
not eax
and eax, 0x506be4f7
sub ecx, eax
lea eax, [ecx - 0x5f283612]
mov edx, eax
and edx, 0xc6028b65
add ecx, edx
add ecx, 0xa0d7c9ee
mov edx, eax
xor edx, 0xc6028b65
add edx, ecx
or eax, 0xc6028b65
sub edx, eax
add edx, 0xc6028b66
mov eax, dword [esi + 0x20]
mov dword [eax], edx
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov dword [esi], eax
mov ebx, dword [0x10088b00]
mov eax, dword [0x1007e0a8]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10088afc], eax
setl byte [esi + 4]
setge byte [esi + 8]
mov edx, ebx
or edx, 1
mov eax, ebx
sub eax, edx
not edx
add edx, edx
sub eax, edx
add eax, ebx
mov edx, ebx
not edx
lea edi, [edx + eax]
add edi, 0xffffffff
imul edi, ebx
mov ecx, dword [0x1007e0b4]
mov dword [esi + 0x10], ecx
mov ebx, ecx
not ebx
mov eax, dword [0x1007e0b0]
and ebx, eax
mov edx, eax
xor edx, ecx
mov ecx, edx
sub ecx, ebx
not edx
add edx, ecx
not eax
or eax, dword [esi + 0x10]
sub edx, eax
and edi, 1
cmp edi, edx
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi]
mov dword [eax], ecx
setne al
sete cl
mov ah, byte [esi + 8]
and ah, cl
mov ch, byte [esi + 4]
mov dl, ch
or dl, cl
add dl, ah
add dl, al
and ch, cl
not ch
add ch, dl
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
test ch, 1
jne 0x10016e20
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
movzx ecx, word [eax]
mov edx, ecx
or edx, 0x20bc
mov edi, ecx
sub edi, edx
not edx
add edx, edx
sub edi, edx
not ecx
or ecx, 0x20bc
lea edx, [edi + ecx]
add ecx, edi
add ecx, 0xffffffff
mov edi, ecx
and edi, 0x20bc
mov ebx, ecx
xor ebx, 0x20bc
add ebx, edi
xor ecx, 0xffffdf43
add ecx, ebx
neg edx
or edx, 0x20bc
sub ecx, edx
lea edx, [ecx - 0x20bc]
mov edi, edx
and edi, 0x39ac
add ecx, edi
add ecx, 0xffffdf44
not edx
or edx, 0xffffc653
add edx, ecx
mov ecx, dword [esi + 0xa8]
add dx, word [ecx]
imul ecx, edx, 0x4897
mov edx, 0xffffb769
sub edx, ecx
imul ecx, edx, 0x48d9
lea edx, [ecx + 0x1766]
mov edi, edx
not edi
and edi, 0x16b4
lea ecx, [edi + ecx*2]
add ecx, 0x2ecc
or edx, 0x16b4
sub ecx, edx
lea edx, [ecx - 0x2e1a]
or edx, 0x16b4
add ecx, edx
add ecx, 0xffffd1e6
not edx
lea ecx, [edx + ecx + 0x16b5]
mov word [eax], cx
mov ecx, dword [0x1007d138]
mov dword [esi], ecx
mov eax, ecx
not eax
mov dword [esi + 4], eax
lea eax, [eax + eax*2]
lea ebx, [eax + ecx*2 + 2]
mov ecx, ebx
not ecx
mov edi, dword [0x1007d13c]
mov dword [esi + 0x10], edi
mov edx, edi
not edx
mov dword [esi + 0x14], edx
mov eax, ecx
and eax, edx
mov edx, ecx
and edx, edi
mov edi, eax
sub edi, edx
mov edx, dword [esi + 0x14]
or ecx, edx
add ecx, edi
or ebx, edx
mov edi, edx
sub ecx, ebx
not eax
add eax, ecx
not eax
lea ecx, [eax + eax]
sub ecx, eax
lea eax, [ecx + 0x6b4ec1e1]
mov edx, eax
and edx, 0x6b4ec1e1
add edx, edx
neg edx
add edx, ecx
add edx, 0x6b4ec1e1
xor eax, 0x94b13e1e
add eax, edx
add eax, ecx
add eax, 0x6b4ec1e2
mov dword [esi + 8], eax
lea eax, [edi + edi]
sub eax, edi
mov ecx, eax
not ecx
mov edx, eax
or edx, ecx
and edx, 0x86e49527
xor eax, 0x791b6ad8
add eax, edx
or ecx, 0x86e49527
sub eax, ecx
mov ebx, dword [esi + 0x10]
mov edx, ebx
or edx, 0x791b6ad8
mov ecx, edx
not ecx
add ecx, edx
mov edx, ebx
lea edi, [ebx + edi*2]
add edi, 1
and edx, 0x791b6ad8
add ecx, edx
add ecx, 1
mov edx, eax
and edx, ecx
mov ebx, ecx
not ebx
and ebx, eax
add ebx, ebx
lea edx, [ebx + edx*2]
lea ebx, [eax + eax]
sub ebx, edx
or eax, ecx
add eax, ebx
xor eax, 0x791b6ad8
mov ecx, eax
neg ecx
lea edx, [eax - 1]
or edx, ecx
and edx, dword [esi + 8]
add edx, eax
mov dword [esi + 8], edx
mov edx, dword [esi + 4]
mov eax, edx
or eax, edi
mov ecx, edx
xor ecx, edi
add ecx, eax
mov eax, dword [esi]
or eax, edi
and edx, edi
not edi
add edi, ecx
add eax, edi
add edx, eax
add edx, 2
mov edi, edx
not edi
mov eax, edi
and eax, 0x92dc59a3
mov ebx, edi
and ebx, 0x6d23a65c
add ebx, ebx
mov ecx, eax
sub ecx, ebx
add ecx, edi
mov edi, edx
and edi, 0x6d23a65c
add edi, edi
or edx, 0x92dc59a3
sub edi, edx
sub ecx, edx
add edi, 0x92dc59a3
not eax
add eax, ecx
mov ecx, edi
xor ecx, eax
not eax
sub ecx, eax
or eax, edi
add eax, ecx
xor eax, 0x92dc59a3
mov ebx, dword [esi + 8]
mov ecx, ebx
neg ecx
mov edx, ecx
or edx, eax
not edx
add edx, edx
mov edi, ecx
sub edi, edx
xor ecx, eax
not ecx
add ecx, edi
lea edx, [ebx + ecx]
mov eax, 1
sub eax, edx
and eax, 0x689fd8cc
sub eax, edx
add ecx, ebx
add ecx, 0xfffffffe
mov edx, ecx
and edx, 0x97602733
sub eax, edx
mov edx, ecx
and edx, 0x689fd8cc
add edx, eax
or ecx, 0x689fd8cc
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0xc620759c
mov edx, ecx
and edx, 0xe591db31
add edx, eax
add edx, 0xc620759c
mov eax, ecx
not eax
and eax, 0x1a6e24ce
add eax, edx
xor ecx, 0x1a6e24ce
sub eax, ecx
lea ecx, [eax + 0x1a6e24ce]
mov edx, ecx
xor edx, 0x17602733
add edx, edx
lea edx, [edx + eax*2]
add edx, 0x34dc499c
add eax, eax
add eax, 0x34dc499c
or eax, 0x2ec04e66
sub edx, eax
xor ecx, 0x689fd8cc
add ecx, edx
imul eax, ecx, 0x9213bf
lea ecx, [eax + 0x9213bf]
not ecx
mov edx, ecx
and edx, 0x1aec6563
add eax, edx
add eax, 0x9213bf
or ecx, 0xe5139a9c
sub eax, ecx
mov ecx, eax
xor ecx, 0x68a3d6b7
lea ecx, [ecx + eax*2]
add eax, eax
or eax, 0xd147ad6e
sub ecx, eax
lea eax, [ecx - 0x2eb85292]
mov edx, eax
and edx, 0x65139a9c
lea ecx, [ecx + edx*2]
add ecx, 0xd147ad6e
not eax
lea ecx, [ecx + eax*2]
add eax, eax
or eax, 0xca273538
sub ecx, eax
imul ecx, ecx, 0x7e2bdc3f
lea eax, [ecx - 0x71ae39c]
mov edx, eax
and edx, 0xc6028b65
add ecx, edx
add ecx, 0xf8e51c64
mov edx, eax
or edx, 0x39fd749a
add edx, ecx
mov ecx, eax
xor ecx, 0xc6028b65
add ecx, edx
not eax
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x39fd749c
mov ecx, eax
not ecx
and ecx, 0xaf941b08
lea ecx, [ecx + edx*2]
add ecx, 0x73fae938
or eax, 0xaf941b08
sub ecx, eax
lea eax, [ecx + 0x506be4f7]
not eax
mov edx, eax
and edx, 0xc6028b65
add ecx, edx
add ecx, 0x506be4f7
or eax, 0x39fd749a
sub ecx, eax
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov ecx, dword [0x1007e5f4]
mov edx, dword [0x1007e5f8]
mov eax, ecx
or eax, edx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0x62721317
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1001365b
mov eax, dword [esi + 0x98]
movzx eax, word [eax]
mov word [esi + 8], ax
movzx edx, word [0x1007d14a]
mov ebx, edx
not ebx
mov eax, edx
and eax, 0xffff9f8b
mov ecx, ebx
and ecx, 0xffff9f8b
mov edi, eax
sub edi, ecx
not eax
add eax, edi
add eax, 0xffff9f8c
mov ecx, ebx
lea edx, [edx + ebx*2]
mov dword [esi + 0x10], edx
movzx edi, word [0x1007d148]
mov dword [esi], edi
mov ebx, edi
not ebx
mov dword [esi + 0x24], ebx
and edi, ecx
mov dword [esi + 0x14], edi
mov edi, ebx
xor edi, ecx
mov dword [esi + 0x1c], edi
or ebx, ecx
and ecx, 0x6074
mov edi, ecx
mov edx, eax
mov dword [esi + 4], eax
sub edi, eax
mov eax, ecx
xor eax, edx
add edi, eax
mov edx, ecx
or edx, dword [esi + 4]
add edx, edi
not eax
lea eax, [edx + eax*2]
mov edx, dword [esi + 4]
not edx
or edx, ecx
add edx, edx
sub eax, edx
mov ecx, eax
not ecx
and ecx, 0xffff9f8b
mov edx, eax
xor edx, 0xffff9f8b
add edx, ecx
or eax, 0x6074
add eax, edx
add eax, 1
mov edi, dword [esi]
xor eax, edi
mov ecx, eax
not ecx
mov edx, ecx
and edx, edi
mov edi, dword [esi]
add edi, edi
sub edx, edi
mov edi, dword [esi]
or ecx, edi
add ecx, edx
mov edx, dword [esi + 0x24]
sub ecx, edx
or eax, edi
add eax, ecx
mov ecx, dword [esi + 0x1c]
add ecx, dword [esi + 0x14]
not ebx
add ebx, ecx
sub ebx, edi
not ebx
and ebx, edx
sub ebx, edx
mov edi, edx
lea ecx, [eax + ebx]
add eax, ebx
add eax, 0x13d6
not eax
lea edx, [eax + ecx*2]
add edx, 0x27ac
lea eax, [eax + ecx*2]
add eax, 0x13d7
mov ecx, eax
xor ecx, 0x193f
add ecx, edx
add ecx, 0xffffec2b
not eax
add ecx, eax
add eax, eax
or eax, 0xffffcd80
sub ecx, eax
lea eax, [ecx - 0x327f]
mov edx, eax
mov ebx, dword [esi + 0x10]
and edx, ebx
lea edx, [edx + ecx*2]
add edx, 0xffff9b02
mov ecx, ebx
not ecx
sub edx, ebx
or ecx, eax
sub edx, ecx
sub edx, ebx
not eax
lea ecx, [edx + eax]
mov dword [esi + 4], ecx
lea ebx, [edx + eax]
add ebx, 0x193e
mov eax, edi
and eax, 0xfffff783
add eax, edi
mov ecx, dword [esi]
mov edx, ecx
and edx, 0xf783
add edx, eax
or edi, 0xfffff783
sub edx, edi
and ecx, 0x87c
or ecx, edx
lea edx, [ecx + ecx]
sub edx, ecx
mov edi, edx
and edi, 0xfffff783
mov eax, edx
xor eax, 0x87c
sub eax, edi
not edx
or edx, 0x87c
sub eax, edx
mov edx, ebx
and edx, 0xfffff6d0
mov ecx, dword [esi + 4]
add ecx, edx
add ecx, 0x193e
mov edx, ebx
not edx
and edx, 0x92f
add edx, ecx
xor ebx, 0xfffff6d0
add ebx, edx
lea ecx, [eax + ebx]
add eax, ebx
add eax, 0xfffff6d0
xor eax, 0xfffff6d0
lea eax, [eax + ecx*2]
add eax, 0xffffeda0
add ecx, ecx
add ecx, 0xffffeda0
or ecx, 0xffffeda0
sub eax, ecx
lea ecx, [eax + eax]
mov edx, eax
xor edx, 0xfffff000
sub ecx, edx
mov edx, eax
not edx
or eax, 0xfff
sub ecx, eax
or edx, 0xfff
lea eax, [ecx + edx]
add eax, 0x1000
cmp word [esi + 8], ax
mov eax, 0xee298ee
mov ecx, 0x1a6e24ce
cmovb eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [str.b_rD__n]
mov ecx, dword [0x1007e0f4]
mov edx, eax
xor edx, ecx
mov edi, eax
or edi, ecx
not edi
add edi, edx
and eax, ecx
add eax, edi
add eax, 0x62721318
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov edx, dword [0x10088af8]
cmp dword [0x10088af4], 0xa
setge al
setl cl
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
or ah, dl
add ah, dl
xor cl, dl
not cl
add cl, ah
add cl, al
test cl, 1
jne 0x10016e20
mov eax, dword [esi + 0x98]
movzx eax, word [eax]
mov word [esi + 0x10], ax
movzx ebx, word [0x1007d14a]
mov eax, ebx
not eax
mov dword [esi + 0x14], eax
sub eax, ebx
sub eax, ebx
add eax, ebx
add eax, ebx
mov ecx, eax
and ecx, 0x6074
mov edx, eax
or edx, 0x6074
lea edi, [ecx + edx*2]
not edx
lea edx, [edi + edx*4]
xor eax, 0x1f8b
add eax, eax
sub edx, eax
not ecx
add ecx, ecx
sub edx, ecx
mov dword [esi], edx
movzx ecx, word [0x1007d148]
mov dword [esi + 4], ecx
mov eax, ecx
not eax
mov dword [esi + 0x1c], eax
add eax, eax
lea edx, [eax + ecx*2]
sub edx, ecx
add edx, 1
mov dword [esi + 8], edx
mov edi, edx
mov eax, dword [esi + 0x14]
xor edi, eax
mov ecx, edx
or ecx, eax
add edi, edi
sub edi, ecx
mov dword [esi + 0x24], eax
lea eax, [ebx + eax*2]
mov dword [esi + 0x14], eax
sub edi, ebx
mov dword [esi + 0x28], edi
mov edx, dword [esi + 8]
or edx, ebx
mov eax, ebx
and ebx, 0xffff9f8b
xor eax, 0xffff9f8b
add eax, ebx
mov edi, dword [esi + 0x24]
and edi, 0x6074
add edi, eax
lea eax, [ebx + edi]
add eax, 1
mov ecx, dword [esi]
not ecx
mov edi, ecx
and edi, eax
mov ebx, dword [esi]
or ebx, eax
add ebx, edi
mov edi, dword [esi]
xor edi, eax
not edi
add edi, ebx
or ecx, eax
sub edi, ecx
mov eax, edi
and eax, 0x6074
sub eax, edi
mov ecx, edi
xor ecx, 0xffff9f8b
add ecx, eax
mov eax, edi
or eax, 0xffff9f8b
add ecx, eax
not eax
add eax, ecx
and edi, 0xffff9f8b
add eax, edi
add eax, 1
mov edi, dword [esi + 4]
xor eax, edi
not eax
mov ecx, eax
and ecx, edi
mov ebx, dword [esi + 0x1c]
lea ecx, [ebx + ecx*2]
or eax, ebx
sub ecx, eax
lea eax, [ecx + ecx*2]
add ecx, ecx
sub ecx, eax
add edx, dword [esi + 0x28]
and edx, dword [esi + 8]
not ecx
sub ecx, edx
add ecx, 0x13d7
mov eax, ecx
not eax
mov edx, eax
and edx, 0x13d5
add edx, edx
mov edi, ecx
sub edi, edx
xor ecx, 0x13d5
add ecx, edi
add ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xffffe6c0
add edx, ecx
or eax, 0x193f
sub edx, eax
mov edi, dword [esi + 0x14]
not edi
lea eax, [edi + edi]
lea eax, [eax + edx*2]
mov ecx, edx
xor ecx, edi
add ecx, eax
or edx, edi
add edx, edx
sub ecx, edx
mov eax, ecx
and eax, 0x193f
lea eax, [ecx + eax*2]
not ecx
lea eax, [eax + ecx*2]
add ecx, ecx
or ecx, 0x327e
sub eax, ecx
mov edx, ebx
and edx, 0xfffff783
mov edi, dword [esi + 4]
and edi, 0x87c
lea ecx, [edx + ebx]
add ecx, edi
or edi, edx
or ebx, 0x87c
sub ecx, ebx
sub edi, ebx
lea edx, [edi + 0x87c]
mov ebx, edi
mov edi, ecx
xor edi, edx
add edi, ebx
add edi, 0x87c
or edx, ecx
mov ebx, edx
sub ebx, edi
not edx
add edx, edx
sub ebx, edx
not ecx
lea edx, [ebx + ecx]
add ecx, ebx
add ecx, 0xffffffff
xor ecx, 0x87c
neg edx
mov edi, edx
and edi, 0xfffff783
add edi, ecx
or edx, 0x87c
sub edi, edx
add eax, edi
add eax, 0x188b
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffff6d0
sub eax, edx
or ecx, 0x92f
lea edx, [eax + ecx]
add eax, ecx
add eax, 1
mov ecx, eax
not ecx
and ecx, 0xfffff000
add ecx, edx
add ecx, 1
or eax, 0xfff
add eax, ecx
imul eax, eax, 0x72f5
add eax, 0xffffcdff
imul ecx, eax, 0x295d
imul eax, eax, 0xffff83e9
add eax, ecx
add eax, ecx
mov ecx, 0x635e
sub ecx, eax
cmp word [esi + 0x10], cx
mov eax, 0xee298ee
mov ecx, 0x1a6e24ce
cmovb eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jmp 0x10013e4c
mov edx, dword [0x1007d14c]
mov dword [esi], edx
mov eax, edx
not eax
mov dword [esi + 4], eax
and eax, 0xf756a89
and edx, 0xf08a9576
or edx, eax
mov eax, edx
xor eax, 0xf08a9576
xor edx, 0xf756a89
add eax, edx
add eax, edx
add eax, 1
mov edi, dword [0x1007d150]
mov ecx, edi
not ecx
mov dword [esi + 8], ecx
lea ebx, [edi + ecx*2]
add ebx, 1
mov ecx, eax
or ecx, ebx
mov edi, eax
xor edi, ebx
add edi, ecx
mov ecx, eax
not ecx
or ecx, ebx
and eax, ebx
not ebx
add ebx, edi
add ecx, ebx
add eax, ecx
add eax, 2
mov ecx, eax
not ecx
mov edi, eax
and edi, 0x123870fa
lea edi, [ecx + edi*2]
xor eax, 0x923870fa
add eax, edi
lea edi, [eax + ecx]
add eax, ecx
add eax, 0xdb8f1e0c
mov ecx, eax
and ecx, 0x923870fb
add ecx, edi
add ecx, 0xdb8f1e0c
or eax, 0x6dc78f04
sub ecx, eax
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 4]
mov edx, dword [esi]
lea ebx, [edx + ecx*2]
add ebx, 1
mov eax, ebx
mov edi, dword [esi + 8]
and eax, edi
lea ecx, [edx + ecx*2]
add ecx, eax
add ecx, 1
mov eax, ebx
xor eax, edi
add eax, ecx
mov ecx, ebx
or ecx, edi
sub eax, ecx
not ebx
or ebx, edi
lea ecx, [eax + ebx]
add eax, ebx
add eax, 1
mov edx, eax
not edx
add ecx, edx
add ecx, 1
mov edx, 0xfffffffe
sub edx, ecx
and edx, eax
mov edi, dword [esi + 0x10]
lea eax, [edi - 1]
mov ecx, eax
xor ecx, 0x39243ecf
add ecx, edi
add ecx, 0xffffffff
mov ebx, eax
or ebx, 0xc6dbc130
add ebx, ecx
sub ebx, edi
and eax, 0x39243ecf
lea ecx, [ebx + eax]
add eax, ebx
add eax, 0xc6dbc133
lea ecx, [ecx + edx*2]
add ecx, 0xc6dbc133
mov edi, eax
or edi, edx
not edi
add edi, ecx
not eax
or eax, edx
sub edi, eax
mov eax, edi
xor eax, 0x39243ecf
lea edx, [eax + edi*2]
add edi, edi
or edi, 0x72487d9e
sub edx, edi
mov edi, dword [esi]
mov ebx, dword [esi + 4]
mov eax, ebx
sub eax, edi
sub eax, edi
add eax, edi
sub eax, ebx
lea edi, [eax - 1]
mov ecx, edi
or ecx, 0xb1640b8f
add ecx, eax
add ecx, 0xffffffff
xor edi, 0x4e9bf470
add edi, ecx
sub edi, eax
mov ecx, dword [esi]
mov eax, ecx
and eax, 0x4e9bf470
add eax, ecx
and ebx, 0xb1640b8f
add ebx, eax
add edi, 2
or ecx, 0xb1640b8f
sub ebx, ecx
mov ecx, edi
or ecx, ebx
lea eax, [ebx + ecx]
not ecx
add ecx, eax
not edi
or edi, ebx
sub ecx, edi
mov eax, ecx
not eax
and eax, 0x31640b8f
lea ecx, [ecx + eax*2]
mov eax, 0x3f1b8df0
sub eax, edx
sub eax, ecx
add ecx, edx
add ecx, 0xc0e4720f
mov edx, ecx
and edx, 0xaa0e5681
sub edx, ecx
or eax, 0x55f1a97e
add eax, edx
imul eax, eax, 0xd9dbc4a1
lea ecx, [eax + 0x469a2b21]
mov edx, ecx
or edx, 0x4a011768
add eax, edx
add eax, 0x469a2b21
not ecx
or ecx, 0x4a011768
add ecx, eax
imul edx, ecx, 0x1bf4e09f
mov eax, 0x4c2519ea
sub eax, edx
mov ecx, eax
xor ecx, 0xca2e8f0f
sub ecx, edx
or eax, 0x35d170f0
add eax, ecx
add eax, edx
add eax, 0xb3dae615
add edx, 0xb3dae615
or edx, 0x35d170f0
sub edx, eax
add edx, 0xe9ac5706
mov dword [esi], edx
mov ecx, dword [0x1007e120]
mov edx, dword [0x1007e124]
mov eax, ecx
not eax
and eax, edx
and ecx, edx
not edx
add edx, eax
mov edi, dword [0x10088af0]
lea eax, [ecx + edx]
add eax, 0xb
cmp dword [0x10088aec], eax
setl cl
setge ch
mov eax, edi
not eax
mov edx, eax
and edx, 1
add edx, edx
mov ebx, edi
sub ebx, edx
add ebx, eax
add eax, ebx
add eax, 0xffffffff
imul eax, edi
mov dword [esi + 4], eax
mov eax, dword [0x1007e12c]
mov edi, eax
not edi
mov edx, dword [0x1007e128]
mov ebx, edx
and ebx, edi
not edx
and eax, edx
sub ebx, eax
sub ebx, edi
add ebx, edx
mov eax, dword [esi + 4]
and eax, 1
cmp eax, ebx
mov eax, dword [esi + 0x20]
mov edx, dword [esi]
mov dword [eax], edx
sete al
mov dl, ch
and dl, al
or cl, al
add dl, cl
not cl
add cl, dl
add cl, ch
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
test cl, 1
jne 0x10016e20
mov ecx, dword [0x1007d14c]
mov dword [esi + 4], ecx
mov edx, ecx
not edx
mov eax, ecx
and eax, 0xf08a9576
mov edi, ecx
xor edi, 0xf08a9576
add edi, eax
mov eax, ecx
xor eax, 0xf756a89
add edi, eax
add edi, 1
lea eax, [edx + edx]
mov dword [esi], eax
add eax, ecx
add eax, 1
and eax, 0xf756a89
or eax, edi
not edi
and edi, 0xf08a9576
mov ebx, eax
xor ebx, 0xf08a9576
add ebx, edi
and eax, 0xf08a9576
add eax, ebx
add eax, 0xf756a8a
mov ebx, eax
not ebx
mov edi, dword [0x1007d150]
not edi
or eax, ebx
not eax
and eax, edi
or ebx, edi
add ebx, eax
not ebx
add ebx, 0x6dc78f05
mov eax, ebx
or eax, 0x923870fb
mov ecx, ebx
sub ecx, eax
not eax
add eax, eax
sub ecx, eax
mov eax, ebx
or eax, 0x6dc78f04
add eax, ecx
not ebx
lea ecx, [eax + ebx]
add eax, ebx
add eax, 0x923870fb
and edi, edx
mov ebx, edi
not ebx
add ebx, edi
add ebx, edi
add edi, edi
sub ebx, edi
or eax, 0x39243ecf
add ecx, eax
add ecx, 0x923870fb
not eax
lea eax, [eax + ecx - 0x39243ece]
mov ecx, ebx
not ecx
mov edi, eax
and edi, ecx
sub edi, ebx
not eax
or eax, ecx
sub edi, eax
lea ebx, [edi - 2]
mov eax, ebx
and eax, 0x39243ecf
lea ecx, [edi + eax*2]
add ecx, 0xfffffffe
mov eax, 1
sub eax, edi
mov edi, eax
and edi, 0x39243ecf
add edi, ecx
mov ecx, eax
and ecx, 0x46dbc130
lea ecx, [edi + ecx*2]
xor ebx, 0x39243ecf
add ebx, ecx
or eax, 0x39243ecf
sub ebx, eax
mov eax, edx
and eax, 0xb1640b8f
add eax, edx
mov edx, dword [esi + 4]
mov ecx, edx
xor ecx, 0x4e9bf470
add ecx, eax
mov eax, dword [esi]
or eax, 0x62c8171e
sub ecx, eax
add ecx, 0xb1640b8f
and edx, 0x4e9bf470
mov eax, ecx
xor eax, edx
mov dword [esi], eax
mov eax, edx
mov edi, ecx
or edi, edx
not edx
or edx, ecx
and eax, ecx
sub ecx, dword [esi]
add edi, ecx
sub edi, edx
not eax
add eax, edi
xor eax, 0x4e9bf470
mov edx, eax
lea ecx, [ebx + ebx*2]
add ecx, 0xab6cbc70
lea eax, [ebx + ebx]
add eax, 0x72487da0
sub eax, ecx
add eax, edx
mov ecx, eax
not ecx
add eax, eax
add eax, ecx
imul eax, eax, 0xd9dbc4a1
lea ecx, [eax + 0x2075efc2]
mov edx, ecx
and edx, 0x4a011768
add edx, edx
neg edx
add edx, eax
add edx, 0x2075efc2
xor ecx, 0xb5fee897
add ecx, edx
lea edx, [eax + ecx]
add edx, 0x2075efc2
add ecx, eax
add ecx, 0xb4781e93
mov eax, ecx
or eax, 0x1a5b8b91
lea edx, [edx + eax*2]
add edx, 0x94022ed1
not eax
lea eax, [edx + eax*4]
mov edx, ecx
not edx
xor ecx, 0x65a4746e
add ecx, ecx
sub eax, ecx
add edx, edx
or edx, 0xcb48e8dc
sub eax, edx
lea ecx, [eax + 0x1a5b8b91]
mov edx, ecx
xor edx, 0x4a011768
add eax, edx
add eax, 0x1a5b8b91
mov edx, ecx
not edx
and edx, 0xb5fee897
add edx, eax
and ecx, 0x4a011768
add ecx, edx
imul eax, ecx, 0x1bf4e09f
mov ecx, 0x1653a8f9
sub ecx, eax
lea eax, [ecx + ecx]
lea ecx, [ecx + ecx*2]
sub eax, ecx
add eax, 0x35d170f1
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov ecx, dword [0x1007e60c]
mov edx, dword [0x1007e610]
mov eax, ecx
and eax, edx
not edx
add eax, edx
or edx, ecx
sub eax, edx
add eax, 0x62721317
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10014347
mov eax, dword [esi + 0x40]
movzx eax, word [eax]
mov ecx, eax
not ecx
and ecx, 0xffff8130
mov edx, eax
sub edx, ecx
or eax, 0x7ecf
sub edx, eax
lea eax, [edx - 0x7ed1]
mov ecx, eax
and ecx, 0x7ed0
lea edi, [edx + ecx*2]
add edi, 0xffff812f
mov ecx, 0x7ed0
sub ecx, edx
mov edx, ecx
and edx, 0x7ed0
add edx, edi
mov edi, ecx
and edi, 0x12f
lea edx, [edx + edi*2]
xor eax, 0x7ed0
add eax, edx
or ecx, 0x7ed0
sub eax, ecx
lea ecx, [eax + 0x3e98]
xor ecx, 0xfffffffa
lea ecx, [ecx + eax*2]
add ecx, 0x7d30
add eax, eax
add eax, 0x7d30
or eax, 0xfffffff4
sub ecx, eax
imul eax, ecx, 0x4f57
lea ecx, [eax - 0x4db5]
mov edx, ecx
and edx, 0x609
lea edi, [eax + eax]
add edi, 0xffff6496
sub edi, edx
mov eax, ecx
not eax
and eax, 0x609
add eax, edi
xor ecx, 0x609
sub eax, ecx
add eax, 0x4d17
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x609
add edx, edx
mov edi, eax
sub edi, edx
xor eax, 0x609
lea eax, [edi + eax*2]
lea eax, [eax + ecx*2]
add ecx, ecx
or ecx, 0xfffff3ec
sub eax, ecx
imul eax, eax, 0xc67
add eax, 0xffffe7bf
cmp ax, 2
mov eax, 0x3caaf6a8
mov ecx, 0x1a6e24ce
cmovb eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov edx, dword [0x1007e194]
mov dword [esi + 8], edx
mov eax, dword [0x1007e198]
mov ecx, edx
and ecx, eax
add ecx, ecx
xor edx, eax
sub eax, ecx
not edx
add edx, eax
mov dword [esi + 0x10], edx
mov edi, dword [0x1007e19c]
mov eax, dword [0x1007e1a0]
mov ecx, edi
or ecx, eax
mov ebx, ecx
not ebx
shl ebx, 2
lea ebx, [ebx + ecx*2]
mov ecx, edi
xor ecx, eax
not ecx
add ecx, ecx
sub ebx, ecx
and edi, eax
not edi
add edi, edi
sub ebx, edi
add ebx, 0xa
cmp dword [0x10088ae8], ebx
mov eax, dword [0x10088ae4]
mov ecx, eax
not ecx
setl bl
add ecx, eax
lea edi, [eax + ecx]
add edi, 2
imul edi, eax
mov eax, dword [0x1007e1a4]
mov ecx, eax
not ecx
mov edx, dword [0x1007e1a8]
mov dword [esi], ecx
and dword [esi], edx
xor eax, edx
not eax
add eax, dword [esi]
or ecx, edx
sub eax, ecx
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x10]
lea eax, [eax + ecx + 0x62721318]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
sete al
setne cl
and cl, bl
add cl, bl
mov edx, ebx
or dl, al
not dl
add dl, cl
and bl, al
not bl
add bl, dl
test bl, 1
jne 0x10016e20
mov eax, dword [esi + 0x40]
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xffff8130
add eax, ecx
not ecx
add eax, ecx
or ecx, 0xffff8130
sub eax, ecx
mov ecx, eax
and ecx, 0xffffbfc7
add ecx, eax
not eax
and eax, 0xffffbfc7
add eax, ecx
mov ecx, eax
xor ecx, 0xfffffffa
add ecx, eax
xor eax, 5
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xfffffffb
mov ecx, eax
xor ecx, 0xffffbfc7
add ecx, edx
add ecx, 0xfffffffb
mov edx, eax
not edx
or edx, 0xffffbfc7
add edx, ecx
and eax, 0xffffbfc7
add eax, edx
imul ecx, eax, 0x4f57
lea eax, [ecx + 0x2415]
mov edx, eax
and edx, 0xfffff9f6
add ecx, edx
add ecx, 0x2415
mov edx, eax
or edx, 0xfffff9f6
add edx, ecx
not eax
lea ecx, [edx + eax]
add eax, edx
add eax, 0x5322
mov edx, eax
not edx
and edx, 0x79f6
add edx, edx
lea ecx, [edx + ecx*2]
add ecx, 0xa644
xor eax, 0x609
add eax, ecx
imul ecx, eax, 0xc67
lea eax, [ecx - 0x33f4]
mov edx, eax
and edx, 0xe1f
add edx, edx
add ecx, ecx
add ecx, 0xffff9818
sub ecx, edx
not eax
mov edx, eax
or edx, 0xfffff1e0
sub ecx, edx
or eax, 0xe1f
add eax, ecx
add eax, 0xe20
movzx edx, word [0x1007e624]
movzx ecx, word [0x1007e626]
mov edi, edx
or edi, ecx
not edi
lea edi, [ecx + edi*2]
xor ecx, edx
not ecx
sub ecx, edi
sub ecx, edx
cmp ax, cx
mov eax, 0x3caaf6a8
mov ecx, 0x1a6e24ce
cmovbe eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [0x1007e628]
mov ecx, dword [0x1007e62c]
mov edx, eax
not edx
and edx, ecx
not ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0x62721318
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x1001484b
mov edx, dword [esi + 0x30]
mov eax, dword [edx]
mov ecx, dword [esi + 0x50]
mov ecx, dword [ecx]
mov dword [esi + 0x54], ecx
movzx ecx, word [ecx]
mov dword [esi + 0x48], ecx
shl ecx, 0x10
mov dword [esi], ecx
mov edx, dword [edx]
movzx ecx, word [eax + 2]
movsx eax, word [edx + 4]
mov dword [esi + 8], eax
mov eax, dword [esi + 0xb4]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x24], eax
mov dword [esi + 4], ebx
shld eax, ebx, 1
add edx, 4
mov dword [esi + 0x44], edx
lea edx, [ebx + ebx]
mov edi, edx
mov dword [esi + 0x6c], edx
neg edi
mov ebx, 0
sbb ebx, eax
mov dword [esi + 0x28], eax
shld ebx, edi, 1
add edi, edi
sub edi, ecx
sbb ebx, 0
add edi, edx
adc ebx, eax
mov ecx, edi
add ecx, 0xffffffff
mov edx, ebx
adc edx, 0xffffffff
mov dword [esi + 0x2c], edx
neg edi
mov eax, 0
sbb eax, ebx
mov dword [esi + 0x38], eax
mov edx, dword [esi + 4]
not edx
mov ebx, dword [esi + 0x24]
mov eax, ebx
not eax
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
shld eax, edx, 1
mov dword [esi + 0x1c], eax
lea eax, [edx + edx]
mov dword [esi + 0x14], eax
sub dword [esi + 0x14], edx
mov eax, dword [esi + 0x10]
sbb dword [esi + 0x1c], eax
mov eax, dword [esi + 0x6c]
sub dword [esi + 4], eax
sbb ebx, dword [esi + 0x28]
sub dword [esi + 4], edx
sbb ebx, dword [esi + 0x10]
mov dword [esi + 0x24], ebx
mov edx, dword [esi + 4]
add edx, 0xffffffff
mov eax, ebx
adc eax, 0xffffffff
xor eax, dword [esi + 0x1c]
xor edx, dword [esi + 0x14]
mov ebx, dword [esi + 4]
neg ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x10], 0
mov ebx, dword [esi + 0x24]
sbb dword [esi + 0x10], ebx
add edx, dword [esi + 4]
adc eax, ebx
mov ebx, dword [esi + 0x1c]
or dword [esi + 0x10], ebx
mov ebx, dword [esi + 0x28]
or ebx, dword [esi + 0x14]
add ebx, edx
mov dword [esi + 0x28], ebx
adc dword [esi + 0x10], eax
mov ebx, dword [esi + 0x38]
shld ebx, edi, 1
mov eax, ecx
xor eax, 0xecbc2911
lea edx, [edi + edi]
add eax, edx
mov edx, dword [esi + 0x2c]
not edx
adc edx, ebx
or edi, 0x1343d6ee
sub eax, edi
sbb edx, dword [esi + 0x38]
or ecx, 0x1343d6ee
add ecx, eax
adc edx, dword [esi + 0x2c]
add ecx, dword [esi + 0x28]
adc edx, dword [esi + 0x10]
add ecx, 1
adc edx, 0
mov edi, edx
mov ebx, edx
not edi
mov edx, ecx
not edx
add edx, edx
adc edi, edi
mov eax, ecx
sub eax, edx
mov edx, ebx
sbb edx, edi
shld ebx, ecx, 1
add ecx, ecx
not ecx
add ecx, eax
not ebx
adc ebx, edx
shld ebx, ecx, 0x10
mov dword [esi + 0x14], ebx
mov edx, dword [esi + 8]
mov eax, edx
and eax, 0x13dd16d7
lea eax, [edx + eax*2]
mov ecx, 0xaa00a916
add eax, ecx
mov edi, 0xaa00a916
lea ecx, [edx + edx]
or ecx, 0xd845d250
sub eax, ecx
lea ecx, [eax - 0x3dddbfef]
mov edx, ecx
and edx, 0x6c22e929
add edx, edx
neg edx
add edx, eax
add edx, 0xc2224011
add edx, edi
xor ecx, 0x93dd16d6
add ecx, edx
lea edx, [eax + ecx]
add edx, 0xc2224011
lea eax, [eax + ecx - 0xf9896b2]
lea edx, [edi + edx*2 + 0x59972b9d]
mov ecx, 0xaa00a916
mov edi, 0x1c83b78e
add edi, 0x3c6ec638
or edi, eax
mov ebx, eax
add ecx, 0xfd0cd923
or ebx, ecx
not ebx
add ebx, edx
sub ebx, edi
mov edx, ebx
not edx
mov eax, edx
and eax, 0xffff7fff
add eax, ebx
or edx, 0x8000
sub eax, edx
mov edx, 0x39076f1e
add edx, eax
add edx, 0x10000
add eax, 0x10000
mov edi, eax
xor edi, ecx
sub edx, edi
or ecx, eax
not ecx
add ecx, ecx
sub edx, ecx
not eax
lea ecx, [edx + eax]
add eax, edx
add eax, 0x78dd8c6f
mov ebx, dword [esi + 8]
mov edx, ebx
and edx, 0x8000
mov edi, ebx
xor edi, 0x8000
or edi, edx
add ecx, ecx
add ecx, 0xf1bb18de
sub eax, ecx
mov ecx, eax
not ecx
and ecx, edi
add ecx, eax
add ecx, edi
not edi
or edi, eax
add edi, ecx
mov eax, ebx
not eax
mov dword [esi + 4], eax
and eax, 0xffff7fff
mov edx, eax
not edx
lea edx, [edx + eax*2]
mov eax, 0xfffffffe
sub eax, edx
mov edx, eax
not edx
add edx, edx
lea ebx, [eax + edx]
add ebx, 1
and ebx, 0x8c926de8
mov ecx, 0x6fc3c448
lea edx, [ecx + 0x3a9cdcf]
and eax, edx
or eax, ebx
mov ebx, eax
not ebx
and ebx, edx
mov ecx, eax
xor ecx, edx
add ecx, ebx
and eax, edx
mov edx, 0xaa00a916
add ecx, edx
add eax, ecx
mov ecx, edi
not ecx
mov ebx, 0x1c83b78e
lea edx, [ebx + 0x339713c]
and edx, ecx
sub edx, edi
mov ecx, edi
and ecx, 0xe042d735
sub edx, ecx
add edx, ebx
mov ecx, 0xaa00a916
add edx, ecx
lea ecx, [edx + edi]
mov dword [esi + 0x10], ecx
add edx, edi
add edx, 0x397b9f5c
add eax, eax
mov ebx, 0x3adc765a
sub ebx, eax
mov edi, edx
not edi
mov dword [esi + 0x1c], edi
and edi, ebx
mov ecx, dword [esi + 0x10]
add edi, ecx
add edi, 0x397b9f5c
sub edi, eax
or edx, ebx
not edx
add edx, edi
sub edx, dword [esi + 0x1c]
add edx, 0x3adc765a
mov eax, edx
and eax, 0x1fbd28ca
not edx
and edx, 0xe042d735
sub eax, edx
mov ecx, dword [esi + 8]
mov edx, ecx
and edx, 0xffff7fff
xor ecx, 0xffff7fff
or ecx, edx
add ecx, edx
not edx
add edx, ecx
mov ebx, 0xc085ae6a
lea ecx, [eax + ebx]
mov edi, ecx
neg edi
and edi, edx
sub edi, ecx
sub edi, edx
not edx
add eax, ebx
add eax, 0xffffffff
or eax, edx
add eax, edi
mov edi, dword [esi + 4]
lea ecx, [edi + edi]
add edi, ecx
sub edi, ecx
mov ecx, edi
or ecx, 0x102fc5f7
lea edx, [edi + edi]
sub edx, ecx
sub edx, edi
add edx, 0x102fc5f7
mov edi, dword [esi + 8]
and edi, 0xefd03a08
or edi, edx
mov edx, edi
xor edx, 0xefd03a08
not edi
mov ecx, edi
and ecx, 0x102fc5f7
add ecx, edx
or edi, 0xefd03a08
sub ecx, edi
mov edi, 0x102fc5f8
sub edi, ecx
mov edx, eax
and edx, edi
sub edx, ecx
not eax
or eax, edi
sub edx, eax
lea ecx, [edx + 0x102fc5f8]
lea eax, [edx + edx]
add eax, 0x205f8bf0
sub ecx, eax
mov ebx, ecx
mov dword [esi + 4], ecx
mov edx, dword [esi]
mov ecx, edx
not ecx
mov dword [esi + 0x1c], ecx
mov eax, dword [esi + 0x48]
shl eax, 0x11
lea eax, [eax + ecx*2]
add eax, 2
or ecx, eax
or edx, eax
not eax
lea eax, [eax + ecx*2]
lea ecx, [edx + eax]
add ecx, 2
lea edi, [ebx + 1]
mov dword [esi + 0x10], edi
mov edx, edi
and edx, ecx
not ecx
mov eax, edi
and eax, ecx
mov ebx, eax
sub ebx, edx
mov edx, edi
xor edx, ecx
add edx, ebx
mov ebx, edi
not ebx
mov dword [esi + 8], ebx
or ecx, ebx
sub edx, ecx
not eax
add eax, edx
mov ecx, eax
and ecx, edi
mov edx, eax
xor edx, edi
add edx, ecx
or eax, edi
not eax
add eax, edx
add eax, ecx
mov edi, 0x1c83b78e
lea edx, [edi - 0x48d70fb]
mov ebx, eax
xor ebx, edx
mov ecx, edx
and ecx, eax
add ecx, edi
add ecx, 0xfb728f05
mov edi, 0x1c83b78e
sub ecx, eax
add ecx, ebx
or eax, edx
sub ecx, eax
mov edx, 0xaa00a916
lea ebx, [ecx + edx]
add ebx, 0x3e091056
add ecx, edx
lea eax, [edi + ecx]
add eax, 0x3e091056
lea ecx, [edx + 0x3e72b9b1]
mov edx, ebx
or edx, ecx
lea eax, [eax + edx*2]
not edx
lea eax, [eax + edx*4]
mov edx, ebx
xor ebx, ecx
not ebx
add ebx, ebx
sub eax, ebx
not edx
add edx, edx
or edx, 0x2f193a70
sub eax, edx
mov edx, dword [esi + 4]
add edx, eax
add edx, 0xfb08e5ac
add eax, 0xfb08e5ab
mov ebx, eax
mov edi, dword [esi + 0x10]
xor ebx, edi
add ebx, edx
mov edx, eax
or edx, edi
not edx
add edx, ebx
and eax, edi
lea ebx, [edx + eax]
lea edi, [eax + edx]
add edi, 1
mov eax, edi
not eax
mov edx, eax
and edx, 0xe87362c7
add edx, ebx
add edx, 1
mov ebx, 0xaa00a916
add edx, ebx
add edx, 0x3e72b9b1
xor edi, ecx
not edi
add edi, edx
or eax, ecx
sub edi, eax
mov edx, dword [esi + 0x10]
mov eax, 0x1c83b78e
and edx, eax
mov eax, dword [esi + 4]
add eax, eax
add eax, 2
sub edx, eax
mov ebx, dword [esi + 8]
mov eax, ebx
and eax, 0x637c4871
mov ecx, 0x1c83b78e
and ebx, ecx
lea ecx, [ebx + eax*2]
add ebx, ebx
sub edx, ebx
mov eax, dword [esi + 0x10]
mov ebx, 0x1c83b78e
or eax, ebx
lea eax, [edx + eax*2]
sub ecx, dword [esi + 8]
mov edx, ecx
not edx
or edx, ecx
and edx, eax
sub edx, eax
or ecx, eax
add ecx, edx
mov dword [esi + 0x24], ecx
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi]
lea edx, [ecx + eax*2]
add edx, 1
mov eax, 0xaa00a916
lea ecx, [eax + 0x397b9f5b]
mov ebx, edx
xor ebx, ecx
mov eax, edx
not edx
or edx, ecx
and eax, 0xe37c4871
add ebx, eax
mov ecx, 0x1c83b78e
add ebx, ecx
add edx, ebx
lea ecx, [eax + edx]
add ecx, 2
mov ebx, dword [esi]
mov eax, 0x1c83b78e
and ebx, eax
mov eax, ecx
or eax, ebx
not ebx
mov edx, ecx
and edx, ebx
add edx, eax
sub edx, ebx
or ebx, ecx
add ebx, edx
sub ebx, ecx
xor ebx, dword [esi + 0x24]
add edi, dword [esi]
mov ecx, edi
and ecx, 0xb9811b3
add ecx, edi
or edi, 0xf467ee4c
sub ecx, edi
mov edi, ebx
not edi
lea eax, [ecx - 1]
and edi, eax
add edi, edi
lea edx, [ecx + ecx]
add edx, 0xfffffffe
sub edx, edi
add edx, ebx
neg ecx
or ecx, ebx
sub edx, ecx
and ebx, eax
not ebx
add ebx, edx
mov eax, ebx
xor eax, 0xb9811b3
add eax, ebx
mov ecx, ebx
or ecx, 0xb9811b3
sub eax, ecx
or ebx, 0xf467ee4c
lea ecx, [eax + ebx]
mov dword [esi + 0x24], ecx
add eax, ebx
add eax, 1
mov dword [esi + 0x28], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
lea ebx, [eax + ecx*2]
add ebx, 2
and ebx, 0xad64f73
mov eax, dword [esi + 0x10]
and eax, 0xf529b08c
lea edx, [ebx + eax]
mov ecx, edx
sub ecx, eax
not edx
sub ecx, edx
sub ecx, edx
add ecx, edx
not ebx
add ebx, ecx
mov eax, dword [esi + 0x1c]
mov ecx, eax
and ecx, 0xf529b08c
mov edi, dword [esi]
mov edx, edi
sub edx, ecx
mov ecx, eax
and ecx, 0xad64f73
add ecx, edx
mov edx, eax
or edx, 0xad6ffff
add edx, ecx
add edx, 0xea53611a
lea ecx, [eax + eax]
lea eax, [edi + ecx]
add eax, 1
and eax, 0xad64f73
mov edi, eax
xor edi, eax
not edi
and edi, edx
xor edi, eax
mov ecx, eax
xor ecx, edx
sub edi, ecx
or eax, edx
add eax, edi
mov edx, ebx
xor edx, eax
lea edi, [edx + edx*2]
add edi, ebx
or ebx, eax
add ebx, ebx
sub edi, ebx
not edx
add edx, edi
lea ebx, [edx + eax]
add ebx, 1
mov edx, ebx
not edx
mov eax, edx
and eax, 0x2debeb34
add eax, edx
mov ecx, ebx
xor ecx, 0xd21414cb
add ecx, eax
lea edi, [edx + edx]
mov eax, edi
or eax, 0x5bd7d668
sub ecx, eax
and ebx, 0xd21414cb
lea eax, [ebx + ebx*2]
lea edx, [eax + edx*2]
or edi, 0xa4282996
sub edx, edi
lea edi, [ecx + 0x2debeb34]
mov eax, edi
and eax, edx
add eax, eax
mov ebx, edx
sub ebx, eax
mov eax, edi
or eax, edx
add eax, ebx
xor edx, edi
not edx
add edx, eax
add ecx, edx
add ecx, 0x2debeb35
mov eax, ecx
and eax, 0x2debeb34
mov edx, ecx
xor edx, 0xd21414cb
add edx, eax
mov eax, ecx
or eax, 0xd21414cb
add eax, edx
mov edx, ecx
xor edx, 0x2debeb34
add edx, eax
not ecx
add edx, ecx
add edx, 2
mov edi, dword [esi + 0x28]
not edi
mov eax, edi
and eax, 0xc62a306a
mov ecx, dword [esi + 0x24]
add ecx, eax
add ecx, 1
or edi, 0x39d5cf95
sub ecx, edi
add ecx, 0x73ab9f2a
mov edi, ecx
xor edi, edx
mov eax, ecx
sub eax, edi
or edx, ecx
not edx
add edx, edx
sub eax, edx
not ecx
add ecx, eax
mov edx, ecx
neg edx
mov eax, edx
and eax, 0xc62a306a
add eax, ecx
or edx, 0x39d5cf95
sub eax, edx
mov edx, dword [esi + 8]
lea ecx, [edx + edx]
add edx, ecx
mov ecx, dword [esi + 4]
lea ecx, [edx + ecx*2]
add ecx, 4
mov edx, ecx
not edx
or edx, ecx
mov edi, dword [esi]
and edx, edi
mov ebx, dword [esi + 0x1c]
or ebx, ecx
add edx, ebx
add edx, 1
xor edi, ecx
or edi, edx
mov ecx, 0xaa00a916
add eax, ecx
sub eax, edi
add eax, 0x36e57cd6
mov ecx, eax
and ecx, 0xe0e625ed
sub eax, ecx
sub eax, ecx
mov edx, 0x1c83b78e
add eax, edx
not ecx
add ecx, ecx
sub eax, ecx
lea edx, [eax + 0x2962283]
mov ecx, edx
not ecx
mov edi, edx
xor edi, 0x367e0174
add edi, ecx
lea eax, [ecx + eax*2]
add eax, 0x64d91f57
mov dword [esi], eax
or ecx, 0xc981fe8b
sub edi, ecx
mov eax, dword [esi + 0x14]
not eax
lea ebx, [eax + eax]
sub ebx, eax
sub ebx, eax
mov ecx, eax
and ecx, ebx
mov dword [esi + 4], ecx
mov ecx, eax
or ecx, ebx
mov dword [esi + 8], ecx
xor ebx, eax
mov dword [esi + 0x10], ebx
mov ecx, dword [esi + 0x14]
lea ebx, [ecx + eax*2]
add ebx, 1
xor eax, edx
mov ecx, eax
and ecx, edx
mov dword [esi + 0x1c], ecx
mov ecx, eax
not ecx
mov dword [esi + 0x24], ecx
and ecx, edx
mov dword [esi + 0x28], ecx
xor eax, edx
mov dword [esi + 0x2c], eax
mov eax, edx
and eax, 0xc981fe8b
or eax, edi
mov edi, eax
xor edi, 0xc981fe8b
xor eax, 0x367e0174
mov ecx, edi
or ecx, eax
and eax, ebx
mov edx, edi
xor edx, ebx
add edx, eax
mov eax, edi
and eax, ebx
not ebx
add ebx, edx
add eax, ebx
add eax, 1
and ecx, eax
not eax
or eax, edi
lea edx, [ecx + eax]
add eax, ecx
add eax, 1
mov edi, dword [esi]
lea ecx, [edi + edx*2]
add ecx, 2
mov edx, edi
xor edx, eax
add edx, ecx
mov ecx, edi
and edi, eax
not eax
lea eax, [edx + eax*2]
not ecx
add ecx, eax
not edi
add edi, edi
sub ecx, edi
lea eax, [ecx + 1]
mov edx, eax
and edx, 0xa05325af
lea ecx, [edx + ecx*2]
add ecx, 2
mov edx, eax
or edx, 0x5facda50
sub ecx, edx
not eax
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x6360428d
mov edi, dword [esi + 0x14]
lea ecx, [edx + edi*2]
add ecx, 0x6360428d
mov edx, eax
or edx, edi
not edx
add edx, ecx
not eax
or eax, edi
sub edx, eax
mov eax, edx
not eax
and eax, 0x6360428c
lea eax, [eax + edx*2]
or edx, 0x6360428c
sub eax, edx
mov dword [esi], eax
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
add eax, edx
not edx
add edx, eax
mov eax, dword [esi + 0x10]
lea ecx, [eax + edx]
add ecx, 1
add eax, edx
add eax, eax
add eax, 2
sub eax, ecx
mov dword [esi + 4], eax
mov edx, dword [esi + 0x28]
add edx, edx
mov eax, dword [esi + 0x1c]
mov ecx, eax
sub ecx, edx
mov edx, dword [esi + 0x2c]
lea ecx, [ecx + edx*2]
mov edx, dword [esi + 0x24]
lea edx, [ecx + edx*2]
not eax
add eax, eax
sub edx, eax
mov ecx, edx
mov eax, 0x6fc3c448
and ecx, eax
mov edi, edx
and edx, 0x903c3bb7
lea ebx, [ecx + ecx]
sub ebx, edx
not edi
mov edx, edi
mov eax, 0x6fc3c448
or edi, eax
sub ebx, edi
not ecx
add ecx, ebx
and edx, 0x903c3bb7
mov edi, edx
xor edi, ecx
mov ebx, edx
or ebx, ecx
add edi, ebx
not ebx
add ebx, edi
and ecx, edx
lea edx, [ecx + ebx]
add edx, 1
mov eax, dword [esi]
mov ecx, dword [esi + 4]
add ecx, eax
add ecx, 0xcdc69e47
mov eax, 0x6fc3c448
xor edx, eax
mov eax, edx
neg eax
mov edi, ecx
and edi, eax
add edi, edi
mov ebx, ecx
sub ebx, edi
add edx, edx
sub ebx, edx
xor eax, ecx
not eax
add eax, ebx
lea edx, [eax + ecx]
add edx, 1
add eax, ecx
mov ecx, edx
or ecx, 0x3126e0d3
lea eax, [eax + ecx*2]
add eax, 1
not ecx
lea eax, [eax + ecx*4]
mov ecx, edx
xor edx, 0x4ed91f2c
add edx, edx
sub eax, edx
not ecx
add ecx, ecx
or ecx, 0x9db23e58
sub eax, ecx
add eax, 0xced91f2d
shr eax, 0x10
mov ecx, dword [esi + 0x54]
mov word [ecx], ax
mov eax, dword [esi + 0x94]
mov eax, dword [eax]
mov ecx, eax
xor ecx, 0xfffffffd
and ecx, eax
mov edx, eax
neg edx
mov edi, ecx
xor edi, edx
add edi, ecx
add edi, eax
add edi, eax
mov ebx, ecx
not ebx
or ebx, edx
add ebx, edi
and edx, ecx
lea edi, [ebx + edx]
lea ecx, [edx + ebx]
add ecx, 1
mov edx, ecx
and edx, 0xdf98ab58
add edx, edi
add edx, 1
mov edi, ecx
or edi, 0xdf98ab58
add edi, edx
not ecx
lea edx, [edi + ecx]
add ecx, edi
add ecx, 0xffffffff
mov edi, edx
neg edi
and edi, 0x5f98ab58
add edi, edi
lea edi, [edi + edx*2]
add edi, 0xfffffffe
xor ecx, 0x206754a7
lea edx, [edi + ecx]
add ecx, edi
add ecx, 0x40cea950
mov dword [esi], ecx
mov ecx, eax
mov edi, eax
not edi
mov eax, edi
and eax, 0x65f8719d
mov ebx, ecx
xor ebx, 0x9a078e62
add ebx, eax
mov eax, edi
or eax, 0x65f8719d
sub ebx, eax
or edi, 0x9a078e62
lea eax, [ebx + edi]
add edi, ebx
add edi, 0x65f8719e
and ecx, 0x9a078e62
mov ebx, edi
xor ebx, ecx
add eax, ebx
add eax, 0x65f8719e
not edi
or edi, ecx
add eax, edi
add eax, 1
mov edi, eax
xor edi, 0x9a078e62
xor eax, 0x65f8719d
add edi, eax
add eax, edi
add eax, 1
mov edi, eax
not edi
or edi, eax
and edi, 2
or eax, 0xfffffffd
add eax, edi
add eax, 1
not eax
mov edi, eax
neg edi
add edx, eax
add edx, 0x40cea950
mov ecx, dword [esi]
mov ebx, ecx
xor ebx, edi
add ebx, edx
add eax, 0xffffffff
or eax, ecx
add eax, ebx
and edi, ecx
not ecx
add ecx, eax
lea eax, [ecx + edi]
add ecx, edi
add ecx, 2
xor ecx, 0x1c1ff445
lea ecx, [ecx + eax*2]
add ecx, 4
add eax, eax
add eax, 4
or eax, 0x383fe88a
sub ecx, eax
mov eax, ecx
and eax, 1
lea eax, [ecx + eax*2]
not ecx
lea eax, [eax + ecx*2]
add ecx, ecx
or ecx, 2
sub eax, ecx
lea ecx, [eax + 1]
mov edx, ecx
and edx, 0x1c1ff445
add edx, edx
neg edx
add edx, eax
add edx, 1
xor ecx, 0xe3e00bba
add ecx, edx
add eax, ecx
add eax, 1
imul eax, eax, 0x545fc26d
lea ecx, [eax + 0x4904592e]
mov edx, ecx
and edx, 0x8a4dcfb7
sub edx, eax
or ecx, 0x75b23048
sub edx, ecx
lea eax, [edx - 0x5d9ff89f]
lea ecx, [edx + edx*2]
add ecx, 0xe7201623
not eax
lea eax, [ecx + eax*2]
mov edx, dword [0x1007e1bc]
mov ecx, dword [0x1007e1c0]
mov edi, edx
sub edi, ecx
mov ebx, edx
xor ebx, ecx
add edi, ebx
not ebx
lea edi, [edi + ebx*2]
not ecx
or ecx, edx
add ecx, ecx
sub edi, ecx
neg eax
imul eax, eax, 0x7e729765
add eax, 0x7cf2559e
add edi, 0x1a6e24ce
mov ecx, dword [esi + 0x20]
mov dword [ecx], edi
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x44]
mov dword [ecx], edx
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [0x1007e1c4]
mov ecx, dword [0x1007e1c8]
mov edx, eax
not edx
and edx, ecx
not ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0x62721318
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1007e1cc]
mov ecx, dword [0x1007e1d0]
mov edx, eax
not edx
and edx, ecx
not ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
mov ecx, dword [0x10088ae0]
cmp dword [0x10088adc], eax
setge dl
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
or cl, dl
add cl, al
test cl, 1
jne 0x10016e20
mov edx, dword [esi + 0x30]
mov eax, dword [edx]
mov ecx, dword [esi + 0x50]
mov ecx, dword [ecx]
mov dword [esi + 0x54], ecx
movzx ecx, word [ecx]
mov dword [esi], ecx
shl ecx, 0x10
mov dword [esi + 8], ecx
mov ecx, dword [edx]
movsx edx, word [ecx + 4]
mov dword [esi + 0x10], edx
add ecx, 4
mov dword [esi + 0x44], ecx
movzx eax, word [eax + 2]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0xb4]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x24], ecx
shld edi, ecx, 1
mov dword [esi + 0x28], edi
add ecx, ecx
mov dword [esi + 0x2c], ecx
mov edx, ecx
add edx, 0xffffffff
mov eax, edi
adc eax, 0xffffffff
add ecx, ecx
adc edi, edi
mov ebx, ecx
add ebx, edx
adc edi, eax
shld eax, edx, 1
add edx, edx
sub ebx, edx
mov dword [esi + 0x48], ebx
sbb edi, eax
mov ecx, 1
sub ecx, ebx
mov edx, 0
sbb edx, edi
mov eax, dword [esi + 0x38]
mov dword [esi + 0x14], eax
neg dword [esi + 0x14]
mov dword [esi + 4], 0
mov ebx, dword [esi + 4]
sbb ebx, ebx
mov dword [esi + 4], ebx
mov ebx, eax
add ebx, eax
mov eax, ecx
sub eax, ebx
mov ebx, edx
sbb ebx, 0
or edx, dword [esi + 4]
or ecx, dword [esi + 0x14]
not ecx
add ecx, eax
not edx
adc edx, ebx
mov eax, dword [esi + 0x48]
add eax, 0xfffffffe
adc edi, 0xffffffff
or edi, dword [esi + 4]
or eax, dword [esi + 0x14]
sub ecx, eax
sbb edx, edi
mov edi, edx
mov eax, ecx
shld edi, ecx, 1
add ecx, ecx
sub eax, ecx
mov dword [esi + 0x38], eax
sbb edx, edi
mov dword [esi + 0x48], edx
mov edi, dword [esi + 0x24]
mov ebx, edi
not ebx
mov dword [esi + 4], ebx
sub ebx, dword [esi + 0x2c]
mov eax, dword [esi + 0x1c]
mov edx, eax
not edx
mov ecx, edx
sbb ecx, dword [esi + 0x28]
add ebx, edi
adc ecx, eax
sub ebx, dword [esi + 4]
sbb ecx, edx
mov dword [esi + 0x28], ecx
mov eax, ebx
add eax, 0xffffffff
mov edi, ecx
adc edi, 0xffffffff
mov ecx, dword [esi + 0x24]
add dword [esi + 4], ecx
adc edx, dword [esi + 0x1c]
add dword [esi + 4], 1
adc edx, 0
or edi, edx
or eax, dword [esi + 4]
mov ecx, dword [esi + 4]
add ecx, eax
mov dword [esi + 0x14], edx
adc dword [esi + 0x14], edi
not eax
add eax, ecx
mov ecx, eax
not edi
adc edi, dword [esi + 0x14]
neg ebx
mov eax, 0
sbb eax, dword [esi + 0x28]
or eax, edx
or ebx, dword [esi + 4]
sub ecx, ebx
mov dword [esi + 4], ecx
sbb edi, eax
mov ebx, dword [esi + 0x38]
mov ecx, ebx
not ecx
mov eax, ecx
and eax, 0xecbc2911
add eax, ebx
mov edx, dword [esi + 0x48]
mov ebx, edx
not ebx
adc edx, ebx
or ecx, 0x1343d6ee
sub eax, ecx
sbb edx, ebx
add eax, dword [esi + 4]
adc edx, edi
add eax, 0x1343d6ee
adc edx, 0
mov edi, edx
shld edi, eax, 1
lea ecx, [eax + eax]
sub ecx, eax
sbb edi, edx
add ecx, 1
adc edi, 0
shld edi, ecx, 0x10
mov dword [esi + 0x1c], edi
mov edx, dword [esi + 0x10]
lea ecx, [edx - 0x6c22e929]
and ecx, 0x6c22e929
lea eax, [ecx + ecx]
neg eax
add eax, edx
add eax, 0x93dd16d7
not ecx
add ecx, ecx
sub eax, ecx
mov ecx, 0xaa00a916
lea edx, [eax + ecx]
add edx, 0x692fc24a
add eax, 0x6c22e927
add ecx, 0xfd0cd923
mov edi, eax
xor edi, ecx
add edi, edx
mov edx, 0x1c83b78e
add edx, 0x3c6ec638
or edx, eax
add edx, edi
mov edi, eax
not edi
add edi, edx
and eax, 0xa70d8239
lea ebx, [edi + eax]
lea edx, [eax + edi]
add edx, 0x8002
xor edx, ecx
mov eax, 0x1c83b78e
add eax, ebx
add eax, 0x8002
add eax, edx
not edx
add edx, eax
mov dword [esi + 0x24], edx
mov edx, dword [esi + 0x10]
mov eax, edx
and eax, 0x8000
mov ecx, edx
not ecx
mov edi, ecx
mov ebx, ecx
mov dword [esi + 4], ecx
and edi, 0x8000
mov ecx, eax
or ecx, edi
mov dword [esi + 0x2c], edi
add eax, ecx
add eax, 0xffff8000
mov ecx, edx
xor ecx, 0x8000
mov dword [esi + 0x28], ecx
add ecx, ecx
add edi, edi
sub ecx, edi
lea edi, [ecx + ebx]
add edi, 0x8001
mov ebx, eax
not ebx
mov edx, ebx
and edx, edi
mov ecx, eax
or eax, edi
not edi
and ecx, edi
sub ecx, edx
add eax, ecx
sub eax, edi
add eax, ebx
sub dword [esi + 0x24], eax
mov ebx, dword [esi + 4]
and ebx, 0xffff7fff
mov eax, dword [esi + 0x10]
mov ecx, eax
and ecx, 0xffff7fff
mov dword [esi + 0x14], ecx
lea ecx, [ecx + ecx*2]
add ecx, ebx
mov dword [esi + 0x6c], ecx
sub ebx, dword [esi + 0x2c]
add ebx, dword [esi + 0x28]
mov ecx, eax
xor ecx, 0xffff7fff
mov dword [esi + 0x48], ecx
add ebx, ecx
or eax, 0xffff7fff
sub ebx, eax
mov ecx, ebx
and ecx, 0x8c926de8
mov edx, 0xaa00a916
lea eax, [edx - 0x1d6e3b2e]
xor eax, ebx
lea edi, [ecx + edx]
add edi, 0xe291c4d2
add eax, edi
mov edx, ebx
not edx
mov edi, 0x1c83b78e
add eax, edi
add eax, edx
not ecx
add ecx, ecx
sub eax, ecx
mov ecx, 0x6fc3c448
lea edi, [ecx + 0x3a9cdcf]
mov dword [esi + 0x38], edi
mov ecx, edx
and ecx, edi
mov edi, edx
and edi, 0x8c926de8
add edi, ecx
add edi, edx
or edx, dword [esi + 0x38]
sub edi, edx
mov ecx, 0x6fc3c448
add edi, ecx
lea ecx, [ebx + edi]
add ecx, 0x3a9cdd0
add eax, 0xca576ca1
or ecx, eax
xor ecx, dword [esi + 0x38]
mov edi, dword [esi + 0x24]
lea eax, [edi + 0x3c6ec63a]
mov edx, eax
not edx
and edx, 0xe042d735
lea edx, [edx + edi*2]
add edx, 0x78dd8c74
mov edi, 0x1c83b78e
add edx, edi
mov ebx, 0xaa00a916
lea edi, [ebx + 0x36422e1f]
or eax, edi
sub edx, eax
add ecx, ecx
sub edx, ecx
lea eax, [edx + ebx]
add eax, 0x397b9f5c
add edx, 0x339713d
or edx, edi
add eax, edx
not edx
add edx, eax
mov edi, dword [esi + 0x2c]
mov eax, dword [esi + 0x6c]
lea eax, [eax + edi*2]
mov ebx, dword [esi + 0x28]
sub eax, ebx
mov ecx, dword [esi + 4]
or ecx, 0xffff7fff
sub eax, ecx
mov ecx, dword [esi + 0x14]
add ecx, dword [esi + 0x48]
add ecx, edi
sub ecx, ebx
or ecx, eax
mov dword [esi + 0x14], ecx
mov eax, edx
not eax
neg ecx
mov edi, eax
and edi, ecx
lea ebx, [eax + eax]
sub ebx, edi
and edx, ecx
add edx, ebx
sub edx, dword [esi + 0x14]
xor ecx, eax
sub edx, ecx
mov eax, dword [esi + 4]
and eax, 0x102fc5f7
mov edi, dword [esi + 0x10]
and edi, 0xefd03a08
or edi, eax
mov eax, edi
not eax
xor edi, 0x6fd03a08
mov ecx, eax
and ecx, 0x102fc5f7
lea ecx, [ecx + edi*2]
or eax, 0x102fc5f7
sub eax, ecx
mov ecx, edx
and ecx, eax
add ecx, ecx
mov edi, edx
sub edi, ecx
lea ecx, [edi + eax*2]
xor eax, edx
not eax
add eax, ecx
lea ecx, [edx + eax]
add ecx, 1
add eax, edx
add eax, eax
add eax, 2
sub eax, ecx
not ecx
lea eax, [eax + ecx*4]
add ecx, ecx
sub eax, ecx
mov edx, eax
mov dword [esi + 0x24], eax
mov ecx, dword [esi + 8]
not ecx
mov dword [esi + 0x14], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x28], eax
sub eax, ecx
lea ecx, [eax + eax]
lea eax, [eax + eax*2]
sub eax, ecx
mov ecx, eax
not ecx
lea eax, [eax + ecx*2]
add eax, 1
lea ebx, [edx + 2]
mov ecx, ebx
xor ecx, eax
add ecx, ecx
mov edx, eax
not edx
add edx, ecx
mov ecx, ebx
not ecx
mov dword [esi + 4], ecx
or ecx, eax
add ecx, edx
and eax, ebx
lea edx, [ecx + eax]
add eax, ecx
add eax, 2
mov ecx, eax
and ecx, ebx
add ecx, edx
add ecx, 2
not eax
add eax, ecx
mov ecx, 0x1c83b78e
sub ecx, eax
neg eax
mov edx, 0x1c83b78e
lea edi, [edx + eax]
add edi, 0xfb728f04
mov edx, 0xaa00a916
lea eax, [edx + ecx*2]
add eax, 0x34ee2e5f
lea ecx, [edx + 0x3e091057]
mov edx, edi
or edx, ecx
not edx
lea eax, [eax + edx*2]
xor edi, ecx
add edi, eax
mov ecx, 0xaa00a916
lea eax, [ecx + edi]
add eax, 0x3e091059
add edi, ecx
mov ecx, 0x1c83b78e
lea edx, [ecx - 0x4f71a56]
and edx, eax
add edx, edx
lea ecx, [edi + edi]
add ecx, 0x7c1220b2
sub ecx, edx
mov edx, 0x1c83b78e
add ecx, edx
not eax
mov edx, 0xaa00a916
add edx, 0x3e72b9b1
or edx, eax
sub ecx, edx
or eax, 0x178c9d38
lea edx, [ecx + eax]
lea edi, [ecx + eax]
add edi, 0xfb08e5ab
mov eax, dword [esi + 0x24]
lea ecx, [eax + edx]
add ecx, 0xfb08e5ad
mov eax, edi
xor eax, ebx
add eax, ecx
mov ecx, edi
or ecx, ebx
mov edx, ebx
mov dword [esi + 0x10], ebx
sub eax, ecx
mov ecx, dword [esi + 4]
sub eax, ecx
or edi, ecx
add edi, eax
mov dword [esi + 0x2c], edi
lea eax, [ecx + ecx]
mov edi, ecx
mov ecx, dword [esi + 0x24]
add eax, ecx
add eax, 3
mov ecx, 0x1c83b78e
and ebx, ecx
mov ecx, edx
and ecx, 0xe37c4871
add ecx, ebx
mov edx, edi
mov edi, 0x1c83b78e
and edx, edi
mov edi, 0x1c83b78e
sub ecx, edx
mov edx, dword [esi + 0x10]
or edx, edi
not edx
add edx, ecx
mov ecx, 0x39076f1e
add edx, ecx
not ebx
add ebx, edx
and eax, 0xe37c4871
mov ecx, eax
xor ecx, eax
not ecx
and ecx, ebx
xor ecx, eax
mov edx, eax
xor edx, ebx
sub ecx, edx
or ebx, eax
add ebx, ecx
mov eax, dword [esi + 0x14]
lea eax, [eax + eax*2]
mov ecx, dword [esi + 8]
add eax, ecx
add eax, ecx
or eax, 2
mov edi, eax
and edi, 0xe37c4871
mov dword [esi + 0x38], edi
mov ecx, 0xaa00a916
lea edx, [ecx + 0x397b9f5b]
xor edx, eax
add edx, edi
mov ecx, eax
mov edi, 0x1c83b78e
or ecx, edi
add ecx, edx
not eax
add eax, ecx
mov edx, dword [esi + 0x38]
lea ecx, [eax + edx]
mov dword [esi + 0x24], ecx
add edx, eax
add edx, 2
mov eax, dword [esi + 8]
mov ecx, eax
mov edi, 0x1c83b78e
and ecx, edi
add ecx, edi
or eax, edi
not eax
add eax, ecx
mov ecx, dword [esi + 0x14]
or ecx, edi
sub eax, ecx
mov ecx, dword [esi + 0x24]
lea edi, [eax + ecx]
add edi, 2
mov ecx, edx
xor ecx, eax
add ecx, edi
or eax, edx
sub ecx, eax
mov eax, ebx
and eax, ecx
mov edx, ebx
xor edx, ecx
lea eax, [edx + eax*2]
not ebx
lea eax, [eax + ebx*2]
or ebx, ecx
add ebx, ebx
sub eax, ebx
mov ecx, 0xaa00a916
mov edx, dword [esi + 0x2c]
add ecx, edx
add ecx, 0x3e72b9b1
mov ebx, dword [esi + 8]
add ecx, ebx
mov edx, ecx
and edx, 0xf467ee4c
add edx, ecx
mov edi, ecx
or edi, 0xb9811b3
add edi, edx
mov edx, ecx
xor edx, 0xf467ee4c
add edx, edi
not ecx
lea edi, [edx + ecx]
add edx, ecx
add edx, 0xb9811b5
lea edi, [eax + edi*2]
add edi, 0x1730236a
mov ecx, edx
or ecx, eax
not ecx
add ecx, edi
not eax
or eax, edx
sub ecx, eax
mov eax, ecx
not eax
mov edi, eax
and edi, 0xf467ee4c
add edi, ecx
or eax, 0xb9811b3
sub edi, eax
mov eax, dword [esi + 4]
and eax, 0xad64f73
mov ecx, dword [esi + 0x10]
and ecx, 0xf529b08c
or ecx, eax
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x14]
mov eax, ecx
and eax, 0xad64f73
add eax, ecx
mov edx, ecx
mov ecx, ebx
xor ecx, 0xf529b08c
add ecx, eax
mov eax, dword [esi]
shl eax, 0x11
xor eax, 0x15ac9ee6
add eax, ecx
mov ecx, dword [esi + 0x28]
or ecx, 0xea536118
sub eax, ecx
mov dword [esi], eax
mov ecx, ebx
or edx, ebx
mov eax, dword [esi + 4]
mov ebx, eax
and ebx, ecx
xor eax, ecx
mov dword [esi + 4], eax
mov eax, ecx
and edx, 0xf529b08c
or eax, 0xad64f73
add eax, edx
add eax, 1
mov ecx, dword [esi]
add ecx, 0xf529b08d
mov dword [esi], ecx
not ecx
and ecx, eax
mov edx, dword [esi]
or edx, eax
add edx, ecx
not eax
or eax, dword [esi]
add eax, edx
add eax, 1
xor eax, dword [esi + 0x10]
xor eax, 0x2debeb34
xor eax, 0xd21414cb
lea ecx, [edi + eax]
add ecx, 0x39d5cf95
add edi, 0x39d5cf95
xor edi, eax
add ecx, edi
not edi
add edi, ecx
add edi, 0xc62a306c
mov eax, dword [esi + 4]
or eax, ebx
add eax, ebx
not ebx
add ebx, eax
mov eax, 0x1c83b78e
add eax, 0x2962284
mov ecx, eax
not ecx
and ecx, edi
mov edx, 0xaa00a916
add edx, ecx
add edx, 0x36e57cd7
mov ecx, 0xaa00a916
add ecx, 0x36e57cd7
mov dword [esi], ecx
mov ecx, edi
xor ecx, dword [esi]
add edx, ecx
not ecx
add ecx, edx
not edi
or edi, dword [esi]
sub ecx, edi
not ebx
mov edx, ecx
not edx
and edx, ebx
add edx, ecx
and ecx, ebx
add ecx, edx
and eax, ecx
add eax, ecx
not ecx
or ecx, dword [esi]
mov edx, 0x1c83b78e
add eax, edx
lea edx, [ecx + eax]
add edx, 0x2962286
mov ecx, edx
not ecx
mov dword [esi], ecx
mov eax, edx
mov ebx, edx
mov dword [esi + 4], edx
and eax, 0xc981fe8b
lea eax, [eax + eax*2]
mov edi, ecx
and edi, 0xc981fe8b
add edi, eax
mov edx, ecx
and edx, 0x367e0174
lea eax, [edi + edx*2]
mov edi, ebx
xor edi, 0xc981fe8b
add edi, eax
mov eax, ecx
or eax, 0xc981fe8b
sub edi, eax
add edi, 1
mov eax, edx
and eax, edi
mov ebx, edx
or ebx, edi
add eax, ebx
not ebx
add ebx, eax
xor edi, edx
lea eax, [edi + ebx]
add eax, 1
xor eax, 0xc981fe8b
mov edx, eax
mov ecx, dword [esi + 0x1c]
or edx, ecx
mov edi, eax
sub edi, edx
mov edx, ecx
not edx
mov dword [esi + 8], edx
mov ebx, eax
and ebx, edx
not ebx
add ebx, edi
mov edi, ebx
not edi
and edi, eax
add edi, ebx
xor ebx, eax
sub edi, ebx
mov ecx, dword [esi]
mov eax, ecx
and eax, 0x5facda50
add eax, eax
mov ebx, dword [esi + 4]
mov edx, ebx
sub edx, eax
xor ebx, 0x5facda50
lea eax, [edx + ebx*2]
lea ebx, [eax + ecx*2]
lea eax, [ecx + ecx]
or eax, 0x40a64b5e
sub ebx, eax
lea ecx, [ebx + edi]
add ecx, 0x5facda50
add ebx, 0x5facda50
mov eax, ebx
or eax, edi
add eax, ecx
not ebx
or ebx, edi
not edi
add edi, eax
add ebx, edi
add ebx, 0xa05325b2
mov edi, ebx
and edi, 0x6360428c
mov ecx, ebx
and ecx, 0x9c9fbd73
mov eax, edi
sub eax, ecx
add eax, ebx
not ebx
or ebx, 0x6360428c
sub eax, ebx
not edi
lea ecx, [eax + edi]
add eax, edi
add eax, 0x6360428c
mov ebx, dword [esi + 0x1c]
add ecx, ebx
add ecx, 0x6360428c
mov edi, eax
xor edi, ebx
add edi, ecx
mov ecx, eax
or ecx, ebx
not ecx
add ecx, edi
and eax, ebx
add eax, ecx
add eax, 0x9c9fbd75
mov dword [esi + 0x10], eax
mov edx, dword [esi + 8]
lea eax, [edx*4]
lea edi, [eax + ebx*2]
sub edi, edx
sub edi, edx
add edi, 2
mov ecx, edx
xor ecx, edi
mov eax, edx
or eax, edi
add ecx, eax
not eax
add eax, ecx
and edi, edx
add edi, eax
mov eax, edi
not eax
mov edx, dword [esi + 0x10]
and eax, edx
mov ecx, edx
and ecx, edi
add ecx, ecx
lea eax, [ecx + eax*2]
lea ecx, [edx + edx*2]
sub ecx, eax
lea eax, [edi + ecx]
mov dword [esi + 0x10], eax
lea eax, [ecx + edi]
add eax, 1
mov dword [esi + 0x14], eax
mov ecx, dword [esi + 4]
mov eax, ecx
mov edx, dword [esi + 8]
and eax, edx
xor edx, ecx
add edx, eax
add edx, ebx
or ebx, ecx
sub edx, ebx
and ecx, edx
mov eax, dword [esi]
and eax, edx
lea ecx, [eax + ecx*2]
sub ecx, edx
mov eax, ecx
not eax
mov edx, ecx
mov ebx, 0x6fc3c448
and edx, ebx
xor ecx, ebx
add ecx, edx
mov edi, 0xaa00a916
add edi, ecx
add edi, 0xe63b92a1
mov ecx, eax
or eax, ebx
mov ebx, 0x6fc3c448
add eax, edi
add edx, eax
add edx, 2
and ecx, 0x903c3bb7
or edx, ecx
mov eax, edx
and eax, 0x903c3bb7
mov ecx, edx
xor ecx, ebx
add ecx, eax
add ecx, ebx
mov eax, 0xaa00a916
add eax, 0xe63b92a1
or eax, edx
add eax, ecx
mov ecx, edx
not ecx
add ecx, eax
sub eax, edx
mov ebx, dword [esi + 0x14]
mov edx, ebx
not edx
and edx, 0x4ed91f2c
add edx, edx
mov edi, dword [esi + 0x10]
lea edx, [edx + edi*2]
add edx, 2
xor ebx, 0x3126e0d3
lea edi, [edx + ebx]
add ebx, edx
add ebx, 0x624dc1a8
mov edx, eax
not edx
and edx, ebx
add edx, edi
add edx, 0x624dc1a8
sub edx, ecx
add edx, eax
or eax, ebx
sub edx, eax
lea eax, [edx - 2]
mov edi, eax
and edi, 0x4ed91f2c
add edi, edi
lea ecx, [edx + edx]
add ecx, 0xfffffffc
sub ecx, edi
not eax
mov edx, eax
or edx, 0x3126e0d3
sub ecx, edx
or eax, 0xced91f2c
add eax, ecx
add eax, 0xced91f2d
shr eax, 0x10
mov ecx, dword [esi + 0x54]
mov word [ecx], ax
mov eax, dword [esi + 0x94]
mov edi, dword [eax]
mov ecx, edi
xor ecx, 0xfffffffd
mov edx, ecx
and edx, edi
sub edx, edi
mov eax, ecx
or eax, edi
not eax
add eax, eax
sub edx, eax
xor ecx, edi
not ecx
add ecx, edx
mov eax, edi
xor eax, 2
lea edx, [ecx + eax]
add ecx, eax
add ecx, 0xffffffff
add ecx, edx
add ecx, edx
lea eax, [edx + edx]
add eax, 0xfffffffe
sub ecx, eax
mov edx, edi
mov eax, edi
neg edx
lea edi, [ecx - 1]
mov dword [esi + 4], edi
xor edi, edx
mov dword [esi], eax
lea ebx, [ecx + eax]
add ebx, 0xffffffff
add edi, ebx
lea ebx, [eax - 1]
mov eax, dword [esi + 4]
or ebx, eax
add ebx, edi
sub ebx, ecx
and edx, eax
lea eax, [ebx + edx]
lea ecx, [ebx + edx]
add ecx, 2
xor ecx, 0x206754a7
lea edx, [ecx + eax*2]
add edx, 4
add eax, eax
add eax, 4
or eax, 0x40cea94e
sub edx, eax
mov eax, edx
and eax, 0x7ffffffd
lea eax, [edx + eax*2]
not edx
lea ecx, [eax + edx*2]
add edx, edx
or edx, 0xfffffffa
sub ecx, edx
lea eax, [ecx - 3]
mov edx, eax
and edx, 0x206754a7
add edx, edx
neg edx
add edx, ecx
add edx, 0xfffffffd
xor eax, 0xdf98ab58
add eax, edx
add eax, ecx
add eax, 0xfffffffd
mov dword [esi + 4], eax
mov eax, dword [esi]
mov ecx, eax
not ecx
mov ebx, eax
and ebx, 0x9a078e62
mov edi, ecx
and edi, 0x65f8719d
or eax, 0x65f8719d
lea edx, [edi + ebx]
sub edx, eax
mov eax, dword [esi]
xor eax, 0x9a078e62
sub ebx, eax
add edi, edi
sub ebx, edi
lea eax, [ebx + ecx]
mov dword [esi], eax
lea edi, [ebx + ecx]
add edi, 0x65f8719d
add edx, 0x65f8719d
mov eax, edx
or eax, edi
mov ecx, dword [esi]
add ecx, eax
add ecx, 0x65f8719d
not eax
add eax, ecx
not edx
or edx, edi
sub eax, edx
mov ecx, eax
not ecx
and eax, 2
and ecx, 2
mov edx, eax
sub edx, ecx
not eax
lea ecx, [edx + eax]
add eax, edx
add eax, 3
not eax
lea edx, [ecx + eax*2 + 3]
lea eax, [ecx + eax*2 + 4]
mov ecx, eax
not ecx
add ecx, edx
add ecx, 1
add ecx, eax
mov eax, dword [esi + 4]
add eax, ecx
add eax, 0x24aeb50c
mov ecx, eax
and ecx, 0x1c1ff445
sub eax, ecx
sub eax, ecx
not ecx
add ecx, ecx
sub eax, ecx
imul eax, eax, 0x545fc26d
mov ecx, 0xa41f69c1
sub ecx, eax
not ecx
imul ecx, ecx, 0x7e729765
lea eax, [ecx + 0x7e729765]
mov edx, eax
not edx
and edx, 0x86287b98
add ecx, edx
add ecx, 0x7e729765
mov edx, dword [0x1007e630]
mov edi, edx
not edi
or edi, edx
and eax, 0x86287b98
not edi
and edi, dword [0x1007e634]
add eax, ecx
add eax, 0xf3af08d0
add edi, 0x1a6e24ce
mov ecx, dword [esi + 0x20]
mov dword [ecx], edi
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x44]
mov dword [ecx], edx
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov ecx, dword [0x1007e638]
mov eax, dword [0x1007e63c]
mov edx, eax
not edx
mov edi, ecx
and edi, edx
xor eax, ecx
not eax
add eax, edi
or edx, ecx
sub eax, edx
add eax, 0x62721317
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
jmp 0x10014b73
mov edi, dword [0x1007d170]
mov dword [esi + 4], edi
mov edx, edi
not edx
mov eax, edx
and eax, 0xd2cb49ca
mov ecx, edx
mov dword [esi + 8], edx
and ecx, 0x2d34b635
sub eax, ecx
mov ecx, edi
xor ecx, 0x2d34b635
add ecx, eax
mov eax, edi
xor eax, 0xd2cb49ca
add eax, ecx
mov ecx, edi
or ecx, 0xd2cb49ca
sub eax, ecx
mov ecx, edi
or ecx, edx
mov edx, edi
and edx, 0x2d34b635
and ecx, 0x2d34b635
add ecx, edx
add ecx, 0xd2cb49cb
mov edx, ecx
not edx
and edx, eax
mov edi, eax
or edi, ecx
add edi, edx
not eax
or eax, ecx
lea ebx, [eax + edi]
add ebx, 1
mov edi, dword [0x1007d174]
mov ecx, edi
not ecx
mov dword [esi], ecx
mov eax, edi
and eax, 0x2d34b635
mov edx, edi
xor edx, 0x2d34b635
add edx, eax
add edx, ecx
not eax
add eax, eax
sub edx, eax
mov eax, ecx
and eax, 0xd2cb49ca
add edx, 0xd2cb49ca
not edx
mov ecx, eax
and ecx, edx
add ecx, eax
sub ecx, edx
not eax
add eax, ecx
xor eax, ebx
mov edx, eax
not edx
mov ecx, edx
and ecx, 0x552cf87f
add ecx, edx
mov ebx, eax
and ebx, 0x552cf87f
add ebx, ecx
or edx, 0x552cf87f
sub ebx, edx
and eax, 0xaad30780
or eax, ebx
lea ebx, [eax + eax]
sub ebx, eax
mov eax, ebx
and eax, 0x552cf87f
mov ecx, ebx
xor ecx, 0xaad30780
sub eax, ecx
mov dword [esi + 0x10], edi
mov ecx, edi
and ecx, 0x5bf7f323
add ecx, edi
mov edi, dword [esi]
mov edx, edi
and edx, 0xa4080cdc
add edx, ecx
lea ecx, [edi + edi*2]
mov edi, dword [esi + 0x10]
lea ecx, [ecx + edi*2]
xor edi, 0x5bf7f323
add edi, edx
not ebx
or ebx, 0xaad30780
add ebx, eax
lea eax, [edi + ebx]
lea edx, [edi + ebx]
add edx, 0xa4080cdf
xor edx, 0x5bf7f323
lea edx, [edx + eax*2]
add edx, 0x481019be
add eax, eax
add eax, 0x481019be
or eax, 0xb7efe646
sub edx, eax
lea eax, [edx + edx]
add eax, 0xe0e0e9fa
lea ecx, [eax + ecx*2]
add edx, 0x707074fd
sub ecx, edx
lea edx, [ecx + 4]
mov eax, edx
and eax, 0xb8808eb7
mov edi, edx
and edi, 0x477f7148
mov ebx, eax
sub ebx, edi
add ecx, ebx
add ecx, 4
not edx
or edx, 0xb8808eb7
sub ecx, edx
not eax
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x477f7149
mov ecx, eax
xor ecx, 0x8e40f8fe
add ecx, edx
add ecx, 0x477f7149
mov edx, eax
not edx
and edx, 0x71bf0701
add edx, ecx
and eax, 0x8e40f8fe
lea ecx, [edx + eax]
add eax, edx
add eax, 0x8e40f8ff
mov edx, eax
not edx
mov edi, edx
mov ebx, dword [esi + 8]
and edi, ebx
add ecx, edi
add ecx, 0x8e40f8ff
add ecx, ebx
xor eax, ebx
not eax
add eax, ecx
or edx, ebx
mov edi, ebx
sub eax, edx
mov ecx, eax
and ecx, 0x71bf0701
mov edx, eax
or edx, 0x8e40f8fe
add ecx, edx
not edx
add edx, ecx
and eax, 0x8e40f8fe
lea ecx, [edx + eax]
mov dword [esi + 0x10], ecx
lea ebx, [eax + edx]
add ebx, 0x71bf0703
mov eax, dword [esi + 4]
mov ecx, dword [esi]
xor ecx, eax
and eax, ecx
mov edx, edi
lea edi, [edi + eax*2]
or ecx, edx
sub edi, ecx
mov ecx, edi
not ecx
lea edx, [ecx + ecx]
lea edx, [edx + edi*2]
neg edx
add ecx, edx
add ecx, 0xfffffffe
mov edx, ecx
and edx, 0x685c5a21
not ecx
and ecx, 0xe85c5a21
lea ecx, [ecx + edx*2]
add ecx, 0x17a3a5df
mov edx, edi
and edx, 0x17a3a5de
mov eax, edi
xor eax, 0x17a3a5de
add eax, edx
xor edi, 0xe85c5a21
add eax, edi
add eax, 1
mov edi, ecx
or edi, eax
mov edx, ecx
xor edx, eax
add edx, edi
mov edi, ecx
not edi
or edi, eax
and ecx, eax
not eax
add eax, edx
add edi, eax
lea edx, [edi + ecx]
lea eax, [ecx + edi]
add eax, 2
mov ecx, eax
xor ecx, 0x17a3a5de
add ecx, edx
add ecx, 2
not eax
add eax, ecx
lea ecx, [eax + eax]
add ecx, 2
mov edx, dword [esi + 0x10]
add edx, edx
add edx, 0xe37e0e06
sub edx, ecx
mov edi, ebx
or edi, ecx
not edi
lea edx, [edx + edi*2]
xor ebx, ecx
mov ecx, dword [esi + 0x60]
mov edi, dword [ecx]
mov dword [esi + 0x10], edi
add ebx, edx
lea eax, [ebx + eax*2]
add eax, 2
imul ecx, eax, 0x3b855521
lea eax, [ecx + 0x770aaa42]
mov edx, eax
and edx, 0x13ad06de
add edx, edx
add ecx, ecx
add ecx, 0xee155484
sub ecx, edx
not eax
mov edx, eax
or edx, 0xec52f921
sub ecx, edx
or eax, 0x13ad06de
lea edx, [ecx + eax]
lea ebx, [ecx + eax]
add ebx, 0xec52f921
mov eax, ebx
xor eax, 0xdf116006
add eax, edx
add eax, 0xec52f921
mov ecx, ebx
or ecx, 0xdf116006
sub eax, ecx
mov ecx, dword [edi + 4]
mov dword [esi], ecx
or ebx, 0x20ee9ff9
add ebx, eax
mov dword [esi + 0x14], ebx
mov eax, dword [esi + 0x88]
mov eax, dword [eax]
mov dword [esi + 0x1c], eax
mov ecx, dword [0x1007d17c]
mov dword [esi + 0x24], ecx
mov edx, ecx
not edx
mov dword [esi + 8], edx
lea eax, [edx + edx]
add eax, ecx
mov ecx, 0xfffffffe
sub ecx, eax
lea eax, [ecx + ecx*2]
add eax, edx
add eax, edx
add eax, 2
mov edi, dword [0x1007d178]
mov ebx, edi
xor ebx, eax
add ebx, ebx
mov edx, edi
and edx, eax
not eax
or eax, edi
add eax, ebx
mov ecx, edi
not ecx
mov dword [esi + 4], ecx
add eax, ecx
add eax, edx
add eax, 2
mov ebx, eax
and ebx, edi
add ebx, edi
mov edx, eax
or edx, edi
not edx
add edx, ebx
not eax
or eax, edi
sub edx, eax
mov ebx, edi
neg ebx
mov eax, edx
or eax, ebx
not eax
add eax, edx
not edx
or edx, ebx
sub eax, edx
mov ecx, dword [esi + 4]
and ecx, dword [esi + 8]
mov edx, ecx
not edx
mov ebx, eax
not ebx
and ebx, edx
add ebx, eax
sub ebx, edx
or ecx, eax
add ecx, ebx
mov edx, dword [esi + 8]
mov eax, edx
and eax, 0xbcab0e3
or edx, 0xbcab0e3
add edx, eax
mov ebx, edx
mov edx, dword [esi + 0x24]
mov eax, edx
or eax, 0xbcab0e3
add eax, ebx
add eax, 0xf4354f1e
and edx, 0xf4354f1c
or edx, eax
mov eax, edx
and eax, 0xf4354f1c
xor edx, 0xf4354f1c
mov ebx, edx
lea edx, [eax + eax]
sub edx, ebx
not eax
lea eax, [edx + eax*2]
add eax, ecx
mov dword [esi + 8], eax
mov edx, edi
and edx, 0x939b23c0
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 0x139b23c0
add ecx, ecx
sub edx, ecx
mov ecx, eax
or ecx, edi
xor edi, 0x939b23c0
add edi, edx
add edi, eax
add edi, 0x939b23c1
mov edx, eax
and edx, 0x6c64dc3f
and ecx, 0x6c64dc3f
add ecx, edx
add ecx, 0x939b23c1
mov edx, ecx
not edx
mov ebx, edx
and ebx, edi
mov eax, ecx
or ecx, edi
not edi
and eax, edi
sub eax, ebx
add ecx, eax
sub ecx, edi
add ecx, edx
mov edx, ecx
not edx
mov eax, edx
and eax, 0x939b23c0
xor ecx, 0x939b23c0
add ecx, eax
mov eax, edx
and eax, 0x6c64dc3f
add eax, ecx
sub eax, edx
add eax, dword [esi + 8]
mov ecx, 0x4cfffbc9
sub ecx, eax
imul eax, ecx, 0x2e1ba1d9
add eax, 0x87244414
mov ecx, eax
and ecx, 0x3344c37f
mov edx, eax
xor edx, 0x3344c37f
add edx, ecx
mov ecx, eax
xor ecx, 0xccbb3c80
add ecx, edx
not eax
or eax, 0x3344c37f
sub ecx, eax
imul eax, ecx, 0xe4e13197
lea ecx, [eax - 0x55999ee9]
mov edx, ecx
and edx, 0xafa23b17
add eax, edx
add eax, 0xaa666117
not ecx
or ecx, 0x505dc4e8
add eax, ecx
add eax, 0x55999eea
imul ecx, dword [esi + 0x14], 0xc1bc6ee1
add ecx, 0x20774426
cmp dword [esi + 0x1c], eax
mov eax, 0x87acc5a0
mov edx, 0xd2b59ac0
cmove eax, edx
cmp dword [esi], ecx
cmove eax, edx
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x88]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov ecx, dword [0x1007e220]
mov eax, ecx
not eax
mov edi, dword [0x1007e21c]
mov dword [esi + 8], edi
mov edx, edi
and edx, eax
add edx, edi
or ecx, edi
sub edx, ecx
sub edx, eax
cmp dword [0x10088ad8], 0xa
setl byte [esi + 0x14]
setge byte [esi + 0x1c]
mov eax, dword [0x10088ad4]
lea edi, [eax + 1]
imul edi, eax
mov ecx, dword [0x1007e22c]
mov ebx, dword [0x1007e230]
mov eax, ecx
or eax, ebx
not eax
add eax, ebx
not ecx
or ecx, ebx
sub eax, ecx
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [esi + 0x78]
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [esi + 8]
not eax
lea eax, [edx + eax + 0x62721317]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
sete al
and al, byte [esi + 0x1c]
add al, byte [esi + 0x14]
test al, 1
jne 0x10016e20
mov edi, dword [0x1007d170]
mov dword [esi + 4], edi
mov ebx, dword [0x1007d174]
lea edx, [ebx + ebx - 2]
sub edx, ebx
sub edx, ebx
mov dword [esi + 0x14], edx
mov eax, edi
or eax, 0xd2cb49ca
sub eax, edi
and edi, 0x2d34b635
or edi, eax
mov eax, ebx
not eax
mov dword [esi], eax
lea ecx, [eax + eax]
mov dword [esi + 0x10], ecx
add eax, ecx
sub eax, ecx
mov ecx, eax
or ecx, 0xd2cb49ca
lea edx, [eax + eax]
sub edx, ecx
not eax
add eax, edx
add eax, 0xd2cb49cb
mov ecx, ebx
mov dword [esi + 8], ebx
and ecx, 0x2d34b635
or ecx, eax
mov edx, edi
xor edx, ecx
add edx, ecx
mov eax, edi
or eax, ecx
not eax
add eax, edx
not edi
or edi, ecx
sub eax, edi
mov ecx, eax
not ecx
and ecx, 0x552cf87f
and eax, 0xaad30780
lea edx, [ecx + eax]
add eax, edx
mov edi, edx
not edi
lea eax, [eax + edi*2]
add eax, edx
add eax, ecx
add eax, 2
mov ecx, eax
and ecx, 0xaad30780
mov edx, eax
xor edx, 0xaad30780
add edx, ecx
mov ecx, eax
not ecx
and ecx, 0x552cf87f
add ecx, edx
xor eax, 0x552cf87f
sub eax, ecx
mov ecx, dword [esi + 0x14]
not ecx
add ecx, ebx
add ecx, 0xffffffff
mov edx, ecx
xor edx, 0x5bf7f323
lea edi, [edx + ecx*2]
add ecx, ecx
or ecx, 0xb7efe646
sub edi, ecx
add edi, eax
mov eax, edi
xor eax, 0x5bf7f323
lea ecx, [edi + edi]
sub ecx, eax
mov eax, edi
or edi, 0xa4080cdc
sub ecx, edi
not eax
or eax, 0xa4080cdc
add ecx, eax
add ecx, 0x5bf7f323
mov eax, ecx
and eax, 0xb8808eb7
mov edx, ecx
and edx, 0x477f7148
mov edi, eax
sub edi, edx
add edi, ecx
not ecx
or ecx, 0xb8808eb7
sub edi, ecx
not eax
lea ecx, [edi + eax]
add eax, edi
add eax, 0xb8808eb7
mov edx, dword [esi]
lea ecx, [ecx + edx*2]
add ecx, 0xb8808eb7
mov edx, eax
mov edi, dword [esi + 0x10]
xor edx, edi
add edx, ecx
mov ecx, eax
or ecx, edi
not ecx
add ecx, edx
and eax, edi
add eax, ecx
add eax, 0x477f714a
mov edx, dword [esi + 4]
mov ebx, edx
not ebx
lea ecx, [ebx*4]
lea edi, [ecx + edx*2]
sub edi, ebx
sub edi, ebx
add edi, 2
mov edx, ebx
xor edx, edi
mov ecx, ebx
or ecx, edi
add edx, ecx
not ecx
add ecx, edx
and edi, ebx
lea ebx, [ecx + edi]
add edi, ecx
add edi, 1
mov ecx, eax
and ecx, 0x71bf0701
mov edx, eax
or edx, 0x8e40f8fe
add ecx, edx
not edx
add edx, ecx
and eax, 0x8e40f8fe
add eax, edx
add eax, 0x8e40f8ff
mov ecx, eax
and ecx, edi
not edi
and edi, eax
add edi, edi
lea ecx, [edi + ecx*2]
lea eax, [eax + eax*2]
sub eax, ecx
lea ecx, [eax + ebx]
add ecx, 1
mov dword [esi + 0x10], ecx
add ebx, eax
add ebx, 0x71bf0703
mov eax, dword [esi + 8]
mov edi, dword [esi]
or eax, edi
mov edx, dword [esi + 4]
and eax, edx
sub eax, edx
xor edi, edx
add edi, eax
mov eax, edi
and eax, edx
sub eax, edi
sub eax, edi
mov ecx, edi
not ecx
and ecx, edx
add ecx, ecx
sub eax, ecx
or edi, edx
lea eax, [eax + edi*2]
mov ecx, eax
not ecx
lea ecx, [eax + ecx*2]
add ecx, 1
mov edx, ecx
and edx, 0xe85c5a21
mov edi, ecx
xor edi, 0xe85c5a21
add edi, edx
not ecx
or ecx, 0xe85c5a21
add ecx, edi
add ecx, edx
add ecx, 0x17a3a5e0
and eax, 0x17a3a5de
mov edx, ecx
or edx, eax
not eax
mov edi, ecx
and edi, eax
add edi, edx
sub edi, eax
or eax, ecx
add eax, edi
sub eax, ecx
xor eax, 0x17a3a5de
add eax, eax
mov edx, eax
not edx
and edx, ebx
add edx, edx
mov ecx, dword [esi + 0x10]
add ecx, ecx
add ecx, 0xe37e0e04
sub ecx, edx
sub ecx, eax
mov edx, ebx
not edx
or edx, eax
sub ecx, edx
and eax, ebx
not eax
add eax, ecx
imul ecx, eax, 0x3b855521
lea eax, [ecx - 0x13ad06df]
mov edx, eax
xor edx, 0xdf116006
lea ecx, [edx + ecx*2]
add ecx, 0xd8a5f242
mov edx, eax
or edx, 0xdf116006
sub ecx, edx
not eax
or eax, 0xdf116006
add eax, ecx
imul edx, eax, 0xc1bc6ee1
add edx, 0x20774426
mov eax, edx
not eax
mov dword [esi + 4], eax
and eax, 0x701006b9
add eax, eax
mov ecx, edx
sub ecx, eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov dword [esi + 8], eax
xor edx, 0x701006b9
add edx, ecx
mov dword [esi + 0x14], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x88]
mov eax, dword [eax]
mov dword [esi + 0x1c], eax
mov eax, dword [0x1007d17c]
mov dword [esi + 0x24], eax
not eax
mov dword [esi], eax
lea ecx, [eax + eax]
sub ecx, eax
not ecx
mov eax, dword [0x1007d178]
mov edx, eax
xor edx, ecx
lea edi, [eax + ecx]
lea edx, [edi + edx*2]
or ecx, eax
add ecx, ecx
sub edx, ecx
mov ecx, edx
and ecx, eax
lea ecx, [ecx + ecx*2]
not edx
lea edi, [ecx + edx*2]
or edx, eax
add edx, edx
sub edi, edx
mov ebx, eax
not ebx
lea ecx, [eax + eax*2]
lea edx, [ecx + ebx*2]
mov ecx, 0xfffffffe
sub ecx, edx
mov edx, edi
not edx
or edi, ecx
not edi
sub edi, edx
or ecx, edx
sub edi, ecx
mov dword [esi + 0x2c], edi
mov ecx, eax
and ecx, 0x6c64dc3f
mov edx, ebx
sub edx, ecx
lea ecx, [eax + edx]
add ecx, 0x6c64dc40
mov dword [esi + 0x28], ecx
mov edi, eax
or eax, ebx
and eax, 0x939b23c0
mov edx, ebx
and edx, 0x6c64dc3f
or edx, eax
sub edx, ebx
mov ecx, dword [esi]
and ebx, ecx
and edi, ecx
mov eax, ebx
sub eax, edi
add eax, ecx
sub eax, ebx
mov ecx, eax
not ecx
lea ebx, [eax + ecx*2]
lea eax, [eax + ecx*2]
add eax, 1
mov ecx, eax
not ecx
add ecx, ebx
add ecx, 1
add ecx, eax
not ecx
add ecx, dword [esi + 0x2c]
mov edi, dword [esi + 0x24]
and edi, 0xf4354f1c
mov eax, edi
not eax
lea eax, [edi + eax*2]
mov edi, dword [esi]
and edi, 0xbcab0e3
xor eax, 0xfffffffe
or eax, edi
mov edi, eax
xor edi, 0xf4354f1c
add edi, edi
mov ebx, eax
or ebx, 0xbcab0e3
add ebx, edi
not eax
add ebx, eax
or eax, 0xbcab0e3
sub eax, ebx
add eax, ecx
mov edi, dword [esi + 0x28]
mov ecx, edi
not ecx
or ecx, edi
not ecx
and ecx, edx
or edx, edi
add edx, ecx
mov ecx, edx
and ecx, 0x6c64dc3f
mov edi, edx
xor edi, 0x939b23c0
add edi, ecx
mov ecx, edx
xor ecx, 0x6c64dc3f
add ecx, edi
or edx, 0x6c64dc3f
sub ecx, edx
mov edx, 2
sub edx, eax
mov ebx, ecx
neg ebx
mov edi, edx
sub edi, ecx
or ebx, edx
sub edi, ebx
not ebx
add ebx, ebx
sub edi, ebx
add ecx, 0xffffffff
or ecx, edx
add ecx, edi
add ecx, eax
mov eax, 3
sub eax, ecx
imul eax, eax, 0xd1e45e27
mov ecx, eax
and ecx, 0xccbb3c80
add ecx, eax
not eax
or eax, 0x3344c37f
add eax, ecx
imul ecx, eax, 0xe4e13197
lea eax, [ecx - 0x205aa86a]
mov edx, eax
xor edx, 0x55999ee9
add ecx, edx
add ecx, 0xdfa55796
not eax
add ecx, eax
add eax, eax
not eax
and eax, 0xab333dd3
add eax, ecx
mov ecx, eax
and ecx, 0xafa23b17
lea ecx, [ecx + eax*2]
mov edx, eax
or edx, 0x505dc4e8
sub ecx, edx
sub ecx, eax
cmp dword [esi + 0x1c], ecx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x14]
lea eax, [eax + ecx - 0x1fdff28c]
mov ecx, 0x87acc5a0
mov edx, 0xd2b59ac0
cmove ecx, edx
mov edi, dword [esi + 0x10]
cmp edi, eax
cmove ecx, edx
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov eax, dword [esi + 0x88]
mov eax, dword [eax]
mov ecx, dword [esi + 0x80]
mov dword [ecx], eax
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 8]
mov dword [eax], ecx
mov eax, dword [esi + 0x78]
mov dword [eax], edi
mov eax, dword [esi + 0xc]
mov dword [eax], 0x62721317
jmp 0x100162f9
mov eax, dword [0x1007e294]
mov edx, dword [0x1007e298]
mov edi, eax
xor edi, edx
mov ecx, eax
or ecx, edx
not ecx
add ecx, edi
and eax, edx
mov dword [esi], eax
mov edx, dword [0x1007e29c]
mov edi, edx
not edi
mov ebx, dword [0x1007e2a0]
mov eax, edi
and eax, ebx
xor edx, ebx
not edx
add edx, eax
or edi, ebx
sub edx, edi
mov ebx, dword [0x10088ad0]
add edx, 0xa
cmp dword [0x10088acc], edx
setl byte [esi + 4]
mov eax, ebx
and eax, 0xfffffffe
mov edi, ebx
or edi, 1
add eax, edi
not edi
add edi, eax
add edi, ebx
add edi, 0xe2df7ec2
imul edi, ebx
mov ebx, dword [0x1007e2a4]
mov eax, dword [0x1007e2a8]
mov edx, ebx
and edx, eax
not eax
and eax, ebx
add eax, eax
lea eax, [eax + edx*2]
add ebx, ebx
sub ebx, eax
and edi, 1
cmp edi, ebx
mov eax, dword [esi]
lea eax, [eax + ecx + 0xf168260]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
sete al
or al, byte [esi + 4]
add al, 1
test al, 1
jne 0x10016e9c
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edi, dword [0x10088ac8]
mov eax, dword [0x1007e2bc]
mov ecx, dword [0x1007e2c0]
mov edx, eax
not edx
or edx, eax
and edx, ecx
sub edx, ecx
add edx, 0xa
cmp dword [0x10088ac4], edx
setge byte [esi]
setl byte [esi + 4]
mov eax, edi
not eax
add eax, edi
lea edx, [edi + eax]
add edx, 0x488e24a0
imul edx, edi
mov eax, dword [0x1007e2c4]
mov ebx, dword [0x1007e2c8]
mov ecx, eax
xor ecx, ebx
mov edi, eax
not edi
or edi, ebx
and eax, ebx
not ebx
add ebx, ecx
add edi, ebx
add eax, edi
add eax, 2
and edx, 1
cmp edx, eax
sete al
movzx ecx, byte [esi + 4]
or al, cl
add al, cl
add al, byte [esi]
add al, 1
test al, 1
je 0x10016e20
jmp 0x10002750
mov eax, dword [esi + 0xc]
mov dword [eax], 0xf16825f
jmp 0x10016d6b
mov eax, dword [0x1007e274]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10088ac0], eax
mov edx, dword [0x10088abc]
setl byte [esi]
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
imul ecx, edx
mov ebx, dword [0x1007e27c]
mov edi, dword [0x1007e280]
mov eax, ebx
xor eax, edi
mov edx, ebx
or edx, edi
not edx
add edx, eax
and ebx, edi
lea eax, [ebx + edx]
add eax, 1
and ecx, 1
cmp ecx, eax
sete al
or al, byte [esi]
add al, 1
test al, 1
jne 0x10016eb0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret