Function at 0x10009e60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x190
push ebx
xor ebx, ebx
push ebp
push esi
push edi
xor ebp, ebp
mov dword [esp + 0x74], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x80], 0xa4c30db5
mov dword [esp + 0x78], 0x4241881b
mov dword [esp + 0x7c], 0xd351cc67
mov dword [esp + 0x70], 0xb9cd69d1
xor edi, edi
mov ecx, 0xa9571185
jmp 0x10009f00
add ecx, 0x56a8ee86
cmp ecx, 0x1d
ja case.0x10009f0f.1453911677
jmp dword [ecx*4 + 0x1000ac48]
mov eax, dword [esp + 0x60]
mov edx, eax
xor edx, 0x4f714592
mov esi, edi
shr esi, 1
mov ecx, esi
and esi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebx, esi
imul ebx, eax
mov eax, dword [esp + 0x28]
add edx, ebx
add eax, 0x99983219
mov dword [esp + 0x60], edx
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x28]
or edi, 2
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x5c]
add eax, 0xcdc00937
mov dword [esp + 0x28], edx
cdq
idiv ebx
mov eax, dword [esp + 0x5c]
imul eax, esi
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x5c], edx
mov edx, eax
imul eax, esi
xor edx, 0x2cb1f121
imul edx, ecx
imul ecx, ecx, 0x7355af8e
add edx, eax
mov eax, dword [esp + 0x50]
imul eax, esi
add eax, ecx
mov ecx, dword [esp + 0x6c]
xor ecx, 0xd4ef2495
mov dword [esp + 0x64], edx
mov dword [esp + 0x50], eax
xor ebx, ebx
jmp 0x10009f00
mov ecx, dword [esp + 0x14]
add ecx, 0xdf3a6880
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
jmp 0x10009f00
mov eax, dword [esp + 0x18]
add eax, 0x6b421961
cdq
mov ebx, 0x7fffffff
idiv ebx
mov ecx, dword [esp + 0x48]
mov esi, edi
shr esi, 8
mov eax, esi
not eax
and eax, 1
and esi, 1
imul esi, dword [esp + 0x18]
xor ecx, 0xff536dd9
or edi, 0x100
imul edx, eax
add edx, esi
mov dword [esp + 0x18], edx
xor ebx, ebx
jmp 0x10009f00
mov ecx, dword [esp + 0x1a4]
mov edx, dword [ecx]
mov eax, dword [esp + 0x1ac]
mov ecx, dword [eax]
push 0x104
lea edx, [edx + ecx + 2]
push edx
lea eax, [esp + 0xa4]
push eax
call fcn.100135a0
mov edx, dword [esp + 0x1b4]
add esp, 0xc
lea ecx, [esp + 0x9c]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x24]
add eax, 0x57ca370f
cdq
mov ebx, 0x7fffffff
idiv ebx
mov esi, edi
shr esi, 7
mov ecx, esi
and esi, 1
not ecx
and ecx, 1
mov eax, esi
imul eax, dword [esp + 0x24]
mov ebx, esi
imul esi, dword [esp + 0x18]
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x24], edx
imul ebx, eax
mov edx, eax
mov eax, dword [esp + 0x18]
xor edx, 0x2adecf04
imul edx, ecx
add edx, ebx
add eax, 0x68d06e64
mov dword [esp + 0x48], edx
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, dword [esp + 0x3c]
or edi, 0x80
imul edx, ecx
add edx, esi
xor ecx, ecx
cmp dword [esp + 0x68], ecx
mov dword [esp + 0x18], edx
setne cl
xor edx, edx
mov esi, eax
test ecx, ecx
sete dl
xor esi, 0xa19e4163
xor eax, 0xa19e4161
imul eax, ecx
imul edx, esi
add edx, eax
mov ecx, edx
xor ebx, ebx
jmp 0x10009f00
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x74], ebx
add ecx, 0xd3afda03
jmp 0x10009fc4
mov ecx, dword [esp + 0x1c]
add ecx, 0x24ded6c1
jmp 0x10009fc4
mov eax, dword [esp + 0x44]
mov edx, eax
xor edx, 0x63b7e64e
mov esi, edi
shr esi, 0xa
mov ecx, esi
and esi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebx, esi
imul ebx, eax
mov eax, dword [esp + 0x14]
add edx, ebx
add eax, 0x334be282
mov dword [esp + 0x44], edx
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x14]
or edi, 0x400
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], edx
imul esi, eax
mov edx, eax
mov eax, dword [esp + 0x1b4]
xor edx, 0x81c501b4
imul edx, ecx
add edx, esi
xor ecx, ecx
cmp dword [eax + 4], ecx
mov eax, dword [esp + 0x38]
sete cl
mov dword [esp + 0x58], edx
xor edx, edx
mov esi, eax
test ecx, ecx
sete dl
xor esi, 0xfebf88fb
xor eax, 0xfebf8806
imul eax, ecx
imul edx, esi
add edx, eax
mov ecx, edx
xor ebx, ebx
jmp 0x10009f00
mov eax, dword [esp + 0x60]
mov edx, eax
xor edx, 0x8c8090a9
mov dword [esp + 0x68], ebx
mov ecx, edi
not ecx
and ecx, 1
imul edx, ecx
mov esi, edi
and esi, 1
mov ebx, esi
imul ebx, eax
mov eax, dword [esp + 0x28]
add edx, ebx
mov dword [esp + 0x60], edx
add eax, 0xbc3270c8
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x28]
mov ebx, esi
or edi, 1
mov dword [esp + 0x84], 0xe51955c1
mov dword [esp + 0x88], 0xf105cc8a
imul edx, ecx
add edx, eax
mov dword [esp + 0x28], edx
mov eax, ecx
imul eax, eax, 0x28bd77fb
mov edx, esi
imul edx, ebp
add edx, eax
mov ebp, edx
mov eax, ecx
mov edx, esi
imul esi, dword [esp + 0x30]
imul eax, eax, 0x4bf91d7a
imul edx, dword [esp + 0x1c]
add edx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], edx
imul ebx, eax
mov edx, eax
xor edx, 0xfe5fd03
imul edx, ecx
imul ecx, ecx, 0x40d0ec5
add esi, ecx
mov ecx, dword [esp + 0x1ac]
add edx, ebx
xor eax, eax
xor ebx, ebx
cmp dword [ecx], ebx
mov ecx, dword [esp + 0x64]
setne al
mov dword [esp + 0x50], edx
xor edx, edx
mov dword [esp + 0x30], esi
mov esi, ecx
cmp eax, ebx
sete dl
xor esi, 0x2df28a4f
xor ecx, 0x2df28a50
imul ecx, eax
imul edx, esi
add ecx, edx
jmp 0x10009f00
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1ac]
push eax
mov eax, dword [esp + 0x1ac]
push ecx
mov ecx, dword [esp + 0x1ac]
push edx
push eax
push ecx
call fcn.10009010
mov ecx, dword [esp + 0x8c]
add esp, 0x14
mov dword [esp + 0x74], eax
add ecx, 0x341b7fc7
jmp 0x10009fc4
mov eax, dword [esp + 0x78]
add eax, 0x32fa09a9
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x70]
add eax, 0x9237658a
xor dword [esp + 0x80], 0x140dfd0e
xor dword [esp + 0x7c], 0xf7e44e60
mov dword [esp + 0x6c], 0x24b3f494
mov dword [esp + 0x78], edx
cdq
idiv ecx
xor ecx, ecx
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x1a4]
cmp dword [edx + 0x28], ebx
sete cl
xor eax, eax
cmp ecx, ebx
sete al
imul ecx, ecx, 0xa9571183
imul eax, eax, 0x56a8ee7e
sub ecx, eax
jmp 0x10009f00
mov ecx, dword [esp + 0x44]
xor ecx, 0xc2152e76
jmp 0x10009f00
mov ecx, dword [esp + 0x70]
add ecx, 0x7f3cb668
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov eax, dword [esp + 0x5c]
add eax, 0x8dde07b0
cdq
mov esi, 0x7fffffff
idiv esi
xor dword [esp + 0x6c], 0x268ca51b
xor dword [esp + 0x64], 0xf012b207
mov dword [esp + 0x60], 0x9f50e11a
mov dword [esp + 0x28], 0xdd84831b
mov dword [esp + 0x5c], edx
jmp 0x10009f00
mov eax, dword [esp + 0x40]
mov edx, eax
xor edx, 0x91611784
mov esi, edi
shr esi, 4
mov ecx, esi
and esi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebx, esi
imul ebx, eax
add edx, ebx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x40], edx
add eax, 0x8c7f2303
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x20]
imul edx, ecx
add edx, eax
mov dword [esp + 0x20], edx
mov edx, esi
imul edx, dword [esp + 0x54]
mov eax, ecx
imul eax, eax, 0x233fcb5e
add edx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x54], edx
add eax, 0x8a8aac83
cdq
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x24]
mov ebx, esi
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x24], edx
imul ebx, eax
mov edx, eax
xor edx, 0xc9901f8e
imul edx, ecx
add edx, ebx
mov dword [esp + 0x48], edx
mov eax, esi
imul eax, dword [esp + 0x18]
mov edx, ecx
imul edx, edx, 0x19515436
sub eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
mov edx, eax
xor edx, 0x9960259c
imul edx, ecx
mov ebx, esi
imul ebx, eax
mov eax, dword [esp + 0x10]
add edx, ebx
mov dword [esp + 0x4c], edx
add eax, 0xf42f0b3d
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x10]
imul edx, ecx
add edx, eax
mov dword [esp + 0x10], edx
mov edx, esi
imul edx, dword [esp + 0x44]
mov eax, ecx
imul eax, eax, 0x2779d974
add edx, eax
mov dword [esp + 0x44], edx
mov edx, esi
imul edx, dword [esp + 0x14]
mov eax, ecx
imul eax, eax, 0x31c047c4
sub edx, eax
mov dword [esp + 0x14], edx
mov eax, ecx
imul eax, eax, 0x255a2a69
mov edx, esi
imul edx, dword [esp + 0x58]
sub edx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x58], edx
mov edx, eax
xor edx, 0x77ee48c4
imul edx, ecx
mov ebx, esi
imul ebx, eax
mov eax, dword [esp + 0x3c]
add edx, ebx
mov dword [esp + 0x34], edx
mov edx, eax
xor edx, 0x3e3637bc
imul edx, ecx
mov ebx, esi
imul ebx, eax
mov eax, dword [esp + 0x2c]
add edx, ebx
mov dword [esp + 0x3c], edx
mov edx, eax
xor edx, 0x4d2be20
imul edx, ecx
mov ebx, esi
imul ebx, eax
mov eax, dword [esp + 0x38]
add edx, ebx
imul esi, eax
mov dword [esp + 0x2c], edx
mov edx, eax
mov eax, dword [esp + 0x88]
xor edx, 0x97c7c6c4
imul edx, ecx
mov ecx, dword [esp + 0x84]
push 0x10dced0
push 0xb47a0ec1
push eax
add edx, esi
push ecx
mov dword [esp + 0x48], edx
or edi, 0x10
call fcn.10013550
mov ecx, eax
add ecx, 0x533bcb7f
mov ecx, edx
adc ecx, 0x32c63993
shr ecx, 0x1f
mov esi, 0xacc43481
sub esi, eax
mov eax, 0xcd39c66c
sbb eax, edx
shr eax, 0x1f
or ecx, eax
mov eax, dword [esp + 0x30]
not ecx
and ecx, 1
mov edx, 0
sete dl
mov esi, eax
xor esi, 0x117d9c91
xor eax, 0x117d9c7d
imul eax, ecx
imul edx, esi
add edx, eax
mov ecx, edx
xor ebx, ebx
jmp 0x10009f00
mov eax, dword [esp + 0x4c]
mov edx, eax
xor edx, 0x350bfffa
mov esi, edi
shr esi, 9
mov ecx, esi
and esi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebx, esi
imul ebx, eax
mov eax, dword [esp + 0x10]
add edx, ebx
mov dword [esp + 0x4c], edx
add eax, 0x210b6757
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x10]
mov ebx, esi
or edi, 0x200
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], edx
imul ebx, eax
mov edx, eax
mov eax, dword [esp + 0x14]
xor edx, 0x2f8c00c3
imul edx, ecx
add edx, ebx
mov dword [esp + 0x44], edx
add eax, 0xc8910e51
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x14]
mov ebx, esi
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], edx
imul ebx, eax
mov edx, eax
mov eax, dword [esp + 0x38]
xor edx, 0x5030ec1c
imul esi, eax
imul edx, ecx
add edx, ebx
mov dword [esp + 0x58], edx
mov edx, eax
xor edx, 0x7ced67d8
imul edx, ecx
mov eax, dword [esp + 0x2c]
add edx, esi
xor ecx, ecx
cmp dword [esp + 0x68], ecx
mov dword [esp + 0x38], edx
sete cl
xor edx, edx
mov esi, eax
test ecx, ecx
sete dl
xor esi, 0xa7354fd4
xor eax, 0xa7354fd3
imul eax, ecx
imul edx, esi
add edx, eax
mov ecx, edx
xor ebx, ebx
jmp 0x10009f00
mov ecx, dword [esp + 0x54]
xor ecx, 0xdaa1c5bf
jmp 0x10009f00
mov ecx, dword [esp + 0x80]
xor ecx, 0x1999e13f
jmp 0x10009f00
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x74], ebx
xor ecx, 0x5e5fc88e
jmp 0x10009f00
mov ecx, dword [esp + 0x60]
xor ecx, 0xf5f625b6
jmp 0x10009f00
mov eax, dword [esp + 0x1ac]
mov eax, dword [eax]
lea ecx, [eax + eax]
and ecx, 0xd4fda394
sub eax, ecx
add eax, 0x6a7ed1ca
mov edx, eax
and edx, 0x2a4a5102
mov ecx, eax
add edx, edx
and eax, 0x2fcb7f33
xor eax, 0x2a4a5102
and ecx, 0xafcb7f33
sub ecx, edx
mov ebx, 0xd5b5aefd
sub ebx, ecx
or ebx, eax
add ebx, ebx
sub ebx, eax
add ebx, ecx
mov esi, edi
imul ebx, ebx, 0x1c198d81
shr esi, 3
mov ecx, esi
and esi, 1
mov eax, ebp
xor eax, 0xca1fa160
not ecx
and ecx, 1
imul eax, ecx
mov edx, esi
imul edx, ebp
add eax, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x1c]
add eax, 0xe16726a
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, esi
imul eax, dword [esp + 0x1c]
add ebx, 0x66c5fdef
imul edx, ecx
add edx, eax
mov dword [esp + 0x1c], edx
mov edx, esi
imul edx, dword [esp + 0x40]
mov eax, ecx
imul eax, eax, 0x11ce78f9
sub edx, eax
mov dword [esp + 0x40], edx
mov edx, esi
imul edx, dword [esp + 0x20]
mov eax, ecx
imul eax, eax, 0xdbd2e98
add edx, eax
mov dword [esp + 0x20], edx
mov edx, esi
imul edx, dword [esp + 0x24]
mov eax, ecx
imul eax, eax, 0xcadac0a
sub edx, eax
mov dword [esp + 0x24], edx
mov edx, esi
imul edx, dword [esp + 0x48]
mov eax, ecx
imul eax, eax, 0x4ab5533a
sub edx, eax
mov dword [esp + 0x48], edx
mov edx, esi
imul edx, dword [esp + 0x4c]
mov eax, ecx
imul eax, eax, 0x3b4a212
sub edx, eax
mov dword [esp + 0x4c], edx
mov edx, esi
imul edx, dword [esp + 0x10]
mov eax, ecx
imul eax, eax, 0x749f6585
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x30]
imul ebx, ebx, 0x28bcb281
mov edx, eax
xor edx, 0x22bca44d
imul edx, ecx
mov ebp, esi
imul ebp, eax
mov eax, dword [esp + 0x34]
add edx, ebp
mov dword [esp + 0x30], edx
mov edx, eax
xor edx, 0xd6a8ac06
imul edx, ecx
mov ebp, esi
imul ebp, eax
mov eax, dword [esp + 0x3c]
add edx, ebp
mov dword [esp + 0x34], edx
mov edx, eax
xor edx, 0x934e482a
imul edx, ecx
mov ebp, esi
imul ebp, eax
mov eax, dword [esp + 0x2c]
add edx, ebp
mov dword [esp + 0x3c], edx
mov edx, eax
xor edx, 0x9f91f339
imul edx, ecx
imul ecx, ecx, 0x433dc79f
mov ebp, esi
imul esi, dword [esp + 0x38]
imul ebp, eax
sub esi, ecx
add edx, ebp
mov ebp, dword [esp + 0x8c]
mov ecx, 0x1d8ed26b
sub ecx, ebx
lea eax, [ebx - 0x1d8ed26b]
or eax, ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x2c], edx
or edi, 8
not eax
shr eax, 0x1f
mov edx, 0
sete dl
mov dword [esp + 0x38], esi
mov esi, ecx
xor ecx, 0xc95cab60
xor esi, 0xc95cab8f
imul ecx, eax
imul edx, esi
add ecx, edx
xor ebx, ebx
jmp 0x10009f00
mov ecx, dword [esp + 0x58]
mov eax, 4
add dword [esp + 0x1ac], eax
add dword [esp + 0x1b0], eax
xor ecx, 0xa2072945
jmp 0x10009f00
mov eax, dword [esp + 0x1ac]
mov eax, dword [eax]
lea ecx, [eax + eax]
and ecx, 0x6920994e
sub eax, ecx
add eax, 0x34904ca7
movzx eax, ax
xor eax, 0x92bec812
add eax, 0x7ecd164d
push 0x2d91134c
add eax, 0x8132e9b3
push 0xb958fd7e
mov edx, 0
adc edx, 0xffffffff
mov esi, eax
and eax, 0x92be84b5
push ebx
push eax
mov dword [esp + 0xa0], edx
call fcn.10013550
push 0xe9377659
push 0xa3538141
push 0
push esi
mov dword [esp + 0xa4], eax
mov ebx, edx
call fcn.10013550
mov ecx, eax
mov eax, dword [esp + 0x94]
add eax, ecx
adc ebx, edx
add eax, 0x115abdf7
adc ebx, 0x4d27002d
mov ecx, ebp
mov dword [esp + 0x88], ebx
xor ecx, 0xbc97fe4c
mov dword [esp + 0x84], eax
xor ebx, ebx
jmp 0x10009f00
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x1a8]
imul edx, edx, 0x4b85f13f
mov eax, 0x533bcb7e
sub eax, edx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x40]
mov edx, eax
xor edx, 0x88584986
mov esi, edi
shr esi, 5
mov ecx, esi
and esi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebx, esi
imul ebx, eax
mov eax, dword [esp + 0x20]
add edx, ebx
mov dword [esp + 0x40], edx
add eax, 0xe277e593
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x20]
or edi, 0x20
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x20], edx
imul esi, eax
mov edx, eax
xor edx, 0xe9250c4c
imul edx, ecx
mov eax, dword [esp + 0x34]
add edx, esi
xor ecx, ecx
cmp dword [esp + 0x68], ecx
mov dword [esp + 0x54], edx
setne cl
xor edx, edx
mov esi, eax
test ecx, ecx
sete dl
xor esi, 0xb3ebff4d
xor eax, 0xb3ebff57
imul eax, ecx
imul edx, esi
add edx, eax
mov ecx, edx
xor ebx, ebx
jmp 0x10009f00
mov ecx, dword [esp + 0x28]
add ecx, 0x7607eb92
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebx, edi
shr ebx, 2
mov esi, ebx
and ebx, 1
mov edx, ebp
xor edx, 0xf762395f
not esi
and esi, 1
imul edx, esi
mov eax, ebx
imul eax, ebp
add edx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x8c], edx
add eax, 0x2a68aae3
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, ebx
imul eax, dword [esp + 0x1c]
mov ebp, ebx
or edi, 4
imul edx, esi
add edx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], edx
imul ebp, eax
mov edx, eax
mov eax, dword [esp + 0x30]
xor edx, 0x1cbbe892
imul edx, esi
add edx, ebp
mov dword [esp + 0x50], edx
mov edx, eax
xor edx, 0x9e9b2788
imul edx, esi
mov ebp, ebx
imul ebp, eax
add edx, ebp
mov dword [esp + 0x30], edx
mov eax, ebx
imul eax, dword [esp + 0x34]
mov edx, esi
imul edx, edx, 0x4405f5fd
mov ebp, dword [esp + 0x8c]
sub eax, edx
mov dword [esp + 0x34], eax
mov eax, ebx
imul ebx, dword [esp + 0x2c]
imul eax, dword [esp + 0x3c]
mov edx, esi
imul esi, esi, 0x6adeeca7
imul edx, edx, 0x5a4ed075
sub ebx, esi
sub eax, edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], eax
xor ebx, ebx
jmp 0x10009f00
mov ecx, dword [esp + 0x10]
add ecx, 0x8bc0471
jmp 0x10009fc4
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x1b0]
mov dword [edx], ecx
mov ecx, dword [esp + 0x4c]
xor ecx, 0xf9779608
jmp 0x10009f00
mov ecx, dword [esp + 0x18]
add ecx, 0xee95ddfa
jmp 0x10009fc4
mov ecx, dword [esp + 0x20]
add ecx, 0x2ca2da5c
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x54]
imul eax, eax, 0x7fffffff
sub ecx, eax
mov eax, edi
shr eax, 6
mov esi, eax
not esi
and esi, 1
mov ebx, edx
xor ebx, 0xb9ec1324
and eax, 1
imul esi, ebx
imul eax, edx
add esi, eax
or edi, 0x40
mov dword [esp + 0x54], esi
xor ebx, ebx
jmp 0x10009f00
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x74], 1
add ecx, 0xd0ac9404
jmp 0x10009fc4
mov eax, dword [esp + 0x70]
add eax, 0xde158bb7
cdq
mov esi, 0x7fffffff
idiv esi
mov ecx, dword [esp + 0x7c]
xor ecx, 0x8de29380
xor dword [esp + 0x6c], 0x7f87649b
mov dword [esp + 0x5c], 0x7d0c6ca0
mov dword [esp + 0x64], 0x5806d8e4
mov dword [esp + 0x70], edx
jmp 0x10009f00
mov eax, dword [esp + 0x74]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x190
ret