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

Disassembly:
sub esp, 0x1d8
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x90], ebp
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xac], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x98], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x80], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x88], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x8c], ebp
mov dword [esp + 0xb0], ebp
mov dword [esp + 0x84], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x94], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0xc0], 0xc267ec6b
mov dword [esp + 0xd0], 0x3105d6b6
mov dword [esp + 0xbc], 0xaf12d408
mov dword [esp + 0xb8], 0x2d0dc081
xor esi, esi
mov ecx, 0x7f5f671
mov dword [esp + 0xdc], ebp
mov ebx, dword [esp + 0x1ec]
jmp 0x1000ade0
add ecx, 0xf80a09b4
cmp ecx, 0x2c
ja case.0x1000adef.133559911
jmp dword [ecx*4 + 0x1000c36c]
mov ecx, dword [esp + 0x1c]
add ecx, 0x72fe3127
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov edi, dword [esp + 0x40]
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov eax, esi
shr eax, 0x12
mov edx, eax
not edx
and edx, 1
xor edi, 0xa782f905
and eax, 1
imul edx, edi
imul eax, dword [esp + 0x40]
add edx, eax
mov dword [esp + 0x40], edx
or esi, 0x40000
jmp 0x1000ade0
mov ecx, dword [esp + 0x34]
add ecx, 0xa8072e23
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x7c]
imul eax, eax, 0x7fffffff
sub ecx, eax
mov eax, esi
shr eax, 2
mov edi, eax
not edi
and edi, 1
mov ebp, edx
xor ebp, 0xa3fa84ee
and eax, 1
imul edi, ebp
imul eax, edx
add edi, eax
or esi, 4
mov dword [esp + 0x7c], edi
xor ebp, ebp
jmp 0x1000ade0
mov ecx, dword [esp + 0x9c]
add ecx, 0xc5eff736
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 + 0x8c]
add eax, 0x491c71bf
cdq
mov edi, 0x7fffffff
idiv edi
xor dword [esp + 0x54], 0x74b22c2b
xor dword [esp + 0xa4], 0x852b16ca
mov dword [esp + 0xac], 0x38c9dda0
mov dword [esp + 0x44], 0xeaa102ac
mov dword [esp + 0x8c], edx
jmp 0x1000ade0
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x10], ebp
xor ecx, 0x5616f90b
jmp 0x1000ade0
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x10], ebp
xor ecx, 0x67c00b7d
jmp 0x1000ade0
mov ecx, dword [esp + 0xd4]
push 0x104
push ecx
lea edx, [esp + 0xec]
push edx
call fcn.100135a0
mov eax, dword [esp + 0x70]
mov edx, eax
xor edx, 0xd5eca9f1
mov edi, esi
shr edi, 7
mov ecx, edi
and edi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebp, edi
imul ebp, eax
mov eax, dword [esp + 0x24]
add edx, ebp
mov dword [esp + 0x70], edx
add eax, 0xa28acecd
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x24]
mov ebp, edi
add esp, 0xc
or esi, 0x80
imul edx, ecx
add edx, eax
mov dword [esp + 0x18], edx
mov edx, edi
imul edx, dword [esp + 0x24]
mov eax, ecx
imul eax, eax, 0x44b3f720
sub edx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x24], edx
imul ebp, eax
mov edx, eax
xor edx, 0xede710b0
imul edx, ecx
add edx, ebp
mov dword [esp + 0x74], edx
mov eax, edi
imul edi, dword [esp + 0x68]
imul eax, dword [esp + 0x94]
mov edx, ecx
imul ecx, ecx, 0x76921adb
imul edx, edx, 0x30e5f612
sub eax, edx
mov dword [esp + 0x94], eax
lea eax, [esp + 0xe4]
add edi, ecx
push eax
mov dword [esp + 0x6c], edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor ecx, ecx
xor ebp, ebp
cmp eax, ebp
setne cl
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x6c]
mov edx, eax
mov edi, ecx
xor ecx, ecx
cmp edi, ebp
sete cl
xor edx, 0x6fe6f1e2
xor eax, 0x6fe6f1d6
imul eax, edi
imul ecx, edx
add ecx, eax
jmp 0x1000ade0
push 0x1000
push ebp
push 0x10042c40
mov dword [ebx + 0xc], ebp
call fcn.100131e0
mov ecx, dword [esp + 0xc4]
add ecx, 0x53932568
mov eax, 0x40000001
imul ecx
xor dword [esp + 0xbc], 0xb4b92dff
xor dword [esp + 0x90], 0x94265eb6
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
add esp, 0xc
sub ecx, eax
xor dword [esp + 0x60], 0x6c7404e6
mov dword [ebx + 8], 0x10042c40
mov dword [esp + 0xa8], 0x1ac1d970
mov dword [esp + 0x34], 0xc26486ea
mov dword [esp + 0x58], 0xc6c5281d
mov dword [esp + 0x9c], 0x9823612a
mov dword [esp + 0x70], 0x3b500a28
jmp 0x1000ade0
mov eax, dword [esp + 0xb8]
add eax, 0x159aa5d9
cdq
mov edi, 0x7fffffff
idiv edi
mov ecx, dword [esp + 0xbc]
xor ecx, 0xa857a884
xor dword [esp + 0xb0], 0xa52ef805
mov dword [esp + 0x84], 0x6153aa2
mov dword [esp + 0x60], 0xae6b87b9
mov dword [esp + 0xb8], edx
jmp 0x1000ade0
mov ecx, dword [esp + 0x40]
add dword [esp + 0x3c], 0x14
xor ecx, 0xc1b02b61
jmp 0x1000ade0
mov ecx, dword [esp + 0xac]
xor ecx, 0x2ec8e457
jmp 0x1000ade0
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x10], ebp
xor ecx, 0x3e91901d
jmp 0x1000ade0
mov ecx, dword [esp + 0x24]
add ecx, 0xa50ced47
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 0x1000ade0
mov eax, dword [esp + 0x98]
mov edx, eax
xor edx, 0x37f82f30
mov edi, esi
shr edi, 6
mov ecx, edi
and edi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebp, edi
imul ebp, eax
mov eax, dword [esp + 0x14]
add edx, ebp
add eax, 0xb0aa6926
mov dword [esp + 0x98], edx
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x14]
or esi, 0x40
imul edx, ecx
add edx, eax
mov dword [esp + 0x14], edx
mov eax, ecx
imul eax, eax, 0x7c43f7e7
mov edx, edi
imul edx, dword [esp + 0x64]
add edx, eax
mov dword [esp + 0x64], edx
mov eax, ecx
imul eax, eax, 0x642d6114
mov edx, edi
imul edx, dword [esp + 0x18]
add edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], edx
imul edi, eax
mov edx, eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0xc]
xor edx, 0xe7a9b77
imul edx, ecx
add edx, edi
add eax, dword [ebx]
mov ecx, 0
setne cl
xor ebp, ebp
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x6c], edx
mov edx, eax
mov edi, ecx
xor ecx, ecx
cmp edi, ebp
sete cl
xor edx, 0xed2b17bd
xor eax, 0xed2b179d
imul eax, edi
imul ecx, edx
add ecx, eax
jmp 0x1000ade0
mov ecx, dword [ebx + 0xc]
imul ecx, ecx, 0x5e2d105f
add ecx, 0x2957a655
imul ecx, ecx, 0x3a4c94d3
mov eax, 0x342a5abf
sub eax, ecx
imul eax, eax, 0x1bf28adf
add eax, 0x126164b0
imul eax, eax, 0x4ba9ca8c
add eax, 0x14134ce7
mov edx, eax
imul eax, eax, 0x4484f929
imul edx, edx, 0x909f252
and edx, 0x1c0f52d0
sub eax, edx
mov edx, dword [ebx + 8]
add eax, 0x3cdf0838
lea ecx, [eax + eax - 0x5daebda0]
and ecx, 0xe3f0ad2e
sub eax, ecx
sub eax, 0x3cdf0839
push eax
push ebp
push edx
call fcn.100131e0
mov ecx, dword [esp + 0xac]
add esp, 0xc
add ecx, 0x8629072e
jmp 0x1000b163
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x90]
add eax, 0x10018f71
cdq
mov edi, 0x7fffffff
xor ecx, 0xa5be1f84
idiv edi
mov dword [esp + 0xa0], edx
jmp 0x1000ade0
mov eax, dword [esp + 0x88]
mov edx, eax
xor edx, 0x781e43d7
mov edi, esi
shr edi, 0xf
mov ecx, edi
and edi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebp, edi
imul ebp, eax
mov eax, dword [esp + 0x28]
add edx, ebp
add eax, 0xfb9357aa
mov dword [esp + 0x88], edx
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x28]
xor ebp, ebp
or esi, 0x8000
imul edx, ecx
add edx, eax
mov dword [esp + 0x28], edx
mov eax, ecx
imul eax, eax, 0x27d0f3d6
mov edx, edi
imul edx, dword [esp + 0x38]
sub edx, eax
mov dword [esp + 0x38], edx
mov eax, ecx
imul eax, eax, 0x74034f13
mov edx, edi
imul edx, dword [esp + 0x1c]
add edx, eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x1c], edx
imul edi, eax
mov edx, eax
mov eax, dword [esp + 0xcc]
xor edx, 0x819b1403
imul eax, eax, 0x2d96e6d7
imul edx, ecx
mov ecx, dword [ebx]
add edx, edi
lea eax, [eax + ecx - 0x5c3d554c]
mov dword [esp + 0x5c], edx
xor edx, edx
cmp eax, ebp
setne dl
xor ecx, ecx
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x78]
mov edi, edx
cmp edi, ebp
sete cl
mov edx, eax
xor edx, 0x5037b5ba
xor eax, 0x5037b5b1
imul eax, edi
imul ecx, edx
add ecx, eax
jmp 0x1000ade0
mov ecx, dword [esp + 0x58]
xor ecx, 0x50678efb
jmp 0x1000ade0
mov eax, dword [esp + 0xac]
mov edx, eax
xor edx, 0x4ba9a66c
mov edi, esi
shr edi, 4
mov ecx, edi
and edi, 1
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xe0], ebp
not ecx
and ecx, 1
imul edx, ecx
mov ebp, edi
imul ebp, eax
mov eax, dword [esp + 0x44]
add edx, ebp
mov dword [esp + 0xac], edx
add eax, 0x92bf0947
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x44]
xor ebp, ebp
or esi, 0x10
mov dword [esp + 0xb4], 0x8dbbc50d
mov dword [esp + 0xcc], 0xfed00794
imul edx, ecx
add edx, eax
mov dword [esp + 0x44], edx
mov edx, edi
imul edx, dword [esp + 0x98]
mov eax, ecx
imul eax, eax, 0x172c005
sub edx, eax
mov dword [esp + 0x98], edx
mov edx, edi
imul edx, dword [esp + 0x14]
mov eax, ecx
imul eax, eax, 0x51092c84
sub edx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], edx
imul edi, eax
mov edx, eax
mov eax, dword [esp + 0x3c]
xor edx, 0xf9ee8b95
imul edx, ecx
add edx, edi
cmp dword [eax + 4], ebp
mov dword [esp + 0x4c], edx
jne 0x1000b4dd
xor ecx, ecx
cmp dword [eax + 0xc], ebp
sete cl
mov eax, ecx
jmp 0x1000b4df
xor eax, eax
mov edi, dword [esp + 0xa4]
xor edx, edx
cmp eax, ebp
sete dl
xor ecx, ecx
mov eax, edx
cmp eax, ebp
sete cl
mov edx, edi
xor edx, 0xa17b3b1f
xor edi, 0xa17b3b29
imul edi, eax
imul ecx, edx
add ecx, edi
jmp 0x1000ade0
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], ebp
xor ecx, 0xfdd6dda8
jmp 0x1000ade0
mov ecx, dword [esp + 0x18]
add ecx, 0x62c2f957
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, esi
shr ebx, 9
mov edi, ebx
and ebx, 1
not edi
and edi, 1
mov edx, ebx
imul edx, dword [esp + 0x50]
mov eax, edi
imul eax, eax, 0x7ccbb302
add edx, eax
mov dword [esp + 0x50], edx
mov edx, ebx
imul edx, dword [esp + 0x2c]
mov eax, edi
imul eax, eax, 0x26de5052
add edx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], edx
add eax, 0xd49b9d5
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, ebx
imul eax, dword [esp + 0x24]
mov ebp, ebx
or esi, 0x200
imul edx, edi
add edx, eax
mov dword [esp + 0x24], edx
mov edx, ebx
imul edx, dword [esp + 0x80]
mov eax, edi
imul eax, eax, 0x164d1fbc
sub edx, eax
mov dword [esp + 0x80], edx
mov edx, ebx
imul edx, dword [esp + 0x20]
mov eax, edi
imul eax, eax, 0x3132fc7
add edx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], edx
imul ebp, eax
mov edx, eax
mov eax, dword [esp + 0x94]
xor edx, 0x32e7fb42
imul edx, edi
add edx, ebp
mov dword [esp + 0x74], edx
mov edx, eax
xor edx, 0x9f8d0eea
imul edx, edi
mov ebp, ebx
imul ebp, eax
mov eax, dword [esp + 0x68]
add edx, ebp
imul ebx, eax
mov dword [esp + 0x94], edx
mov edx, eax
xor edx, 0xba24cfa8
imul edx, edi
add edx, ebx
mov dword [esp + 0x68], edx
xor ebp, ebp
jmp 0x1000add1
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xc8]
mov eax, ecx
add ecx, 4
mov dword [esp + 0xdc], ecx
mov ecx, dword [ebx + 8]
mov dword [eax + ecx], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
mov ecx, dword [ecx + 0x10]
imul edx, edx, 0x24748dd
imul ecx, ecx, 0xf3a9319
mov eax, 0x8dbbc50d
sub eax, edx
mov dword [esp + 0xb4], eax
mov eax, 0xfed00794
sub eax, ecx
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x50]
mov edx, eax
xor edx, 0xc83d1892
mov edi, esi
shr edi, 0xa
mov ecx, edi
and edi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebp, edi
imul ebp, eax
mov eax, dword [esp + 0x2c]
add edx, ebp
mov dword [esp + 0x50], edx
add eax, 0xec411f93
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x2c]
imul edx, ecx
add edx, eax
mov dword [esp + 0x2c], edx
mov edx, edi
imul edx, dword [esp + 0x30]
mov eax, ecx
imul eax, eax, 0x3e923a60
add edx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], edx
add eax, 0x9a534672
cdq
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x24]
mov ebp, edi
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x24], edx
imul ebp, eax
mov edx, eax
mov eax, dword [esp + 0x20]
xor edx, 0x11790cf4
imul edx, ecx
add edx, ebp
mov dword [esp + 0x80], edx
add eax, 0x4ef499f0
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x20]
mov ebp, edi
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x20], edx
mov edx, eax
xor edx, 0x1adf2f
imul edx, ecx
imul ebp, eax
mov eax, dword [esp + 0x68]
add edx, ebp
mov dword [esp + 0x94], edx
mov edx, eax
xor edx, 0x822720a2
imul edx, ecx
imul ecx, ecx, 0x62e6996e
mov ebp, edi
imul edi, dword [esp + 0x78]
imul ebp, eax
mov eax, dword [esp + 0xb4]
imul eax, eax, 0x710a308b
add edi, ecx
add edx, ebp
mov dword [esp + 0x68], edx
lea ecx, [eax + 0x669791f1]
mov edx, 0x99686e0f
sub edx, eax
or ecx, edx
or eax, 0xffffffff
sub eax, ecx
shr eax, 0x1f
or esi, 0x400
not eax
and eax, 1
mov ecx, 0
sete cl
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x74]
mov edx, edi
xor edx, 0xec939746
xor edi, 0xec939777
imul edi, eax
imul ecx, edx
add ecx, edi
xor ebp, ebp
jmp 0x1000ade0
mov eax, dword [esp + 0xa8]
mov edx, eax
xor edx, 0xf663d012
mov ecx, esi
mov edi, esi
and edi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebp, edi
imul ebp, eax
add edx, ebp
mov eax, dword [esp + 0x34]
mov dword [esp + 0xa8], edx
add eax, 0x66662403
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x34]
imul edx, ecx
add edx, eax
mov dword [esp + 0x34], edx
mov edx, edi
imul edx, dword [esp + 0x7c]
mov eax, ecx
imul eax, eax, 0x6c740301
add edx, eax
mov dword [esp + 0x7c], edx
mov edx, edi
imul edx, dword [esp + 0x48]
mov eax, ecx
imul eax, eax, 0x221be585
sub edx, eax
mov dword [esp + 0x48], edx
mov edx, edi
imul edx, dword [esp + 0x90]
mov eax, ecx
imul eax, eax, 0x7fe38940
sub edx, eax
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x58]
xor edx, 0x2c9975ce
imul edx, ecx
mov eax, edi
imul eax, dword [esp + 0x58]
add edx, eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x58], edx
add eax, 0x21ce5fef
cdq
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x9c]
imul edx, ecx
add edx, eax
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x84]
xor edx, 0x7ace16cf
imul edx, ecx
mov eax, edi
imul eax, dword [esp + 0x84]
add edx, eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x60]
xor edx, 0x2dce9bf6
imul edx, ecx
mov eax, edi
imul eax, dword [esp + 0x60]
add edx, eax
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x70]
xor edx, 0x12c761ae
mov eax, edi
imul edi, dword [esp + 0x54]
imul edx, ecx
imul eax, dword [esp + 0x70]
imul ecx, ecx, 0x784a718b
add edx, eax
mov dword [esp + 0x70], edx
sub edi, ecx
mov ecx, dword [esp + 0xb0]
or esi, 1
xor ecx, 0x87072826
mov dword [esp + 0x54], edi
xor ebp, ebp
jmp 0x1000ade0
mov ecx, dword [esp + 0x7c]
add dword [ebx + 0xc], 1
xor ecx, 0x2425cd47
jmp 0x1000ade0
mov ecx, dword [esp + 0x44]
add ecx, 0x55fb087e
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 + 0x98]
mov ebx, esi
shr ebx, 5
mov edx, eax
xor edx, 0xf01176a2
mov edi, ebx
and ebx, 1
not edi
and edi, 1
imul edx, edi
mov ebp, ebx
imul ebp, eax
mov eax, dword [esp + 0x14]
add edx, ebp
mov dword [esp + 0x98], edx
add eax, 0x538230bc
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, ebx
imul eax, dword [esp + 0x14]
mov ebp, ebx
imul ebx, dword [esp + 0x6c]
or esi, 0x20
imul edx, edi
add edx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], edx
imul ebp, eax
mov edx, eax
xor edx, 0xc479e377
imul edx, edi
imul edi, edi, 0x8c7e71d
add edx, ebp
add ebx, edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x6c], ebx
xor ebp, ebp
jmp 0x1000add1
mov ecx, dword [esp + 0x28]
add ecx, 0xccf521e0
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x38]
imul eax, eax, 0x7fffffff
sub ecx, eax
xor edx, 0x11eed98b
mov eax, esi
shr eax, 0x10
mov edi, eax
and eax, 1
mov dword [esp + 0xc4], eax
imul eax, dword [esp + 0x38]
not edi
and edi, 1
imul edx, edi
add edx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x38], edx
add eax, 0xb31d4a7b
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, dword [esp + 0xc4]
mov ebp, eax
imul ebp, dword [esp + 0x1c]
or esi, 0x10000
imul edx, edi
add edx, ebp
mov dword [esp + 0x1c], edx
mov edx, eax
imul edx, dword [esp + 0x40]
mov ebp, edi
imul ebp, ebp, 0xe1fa657
sub edx, ebp
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x5c]
mov ebp, edx
imul eax, edx
xor ebp, 0x60605fb
imul ebp, edi
add ebp, eax
mov dword [esp + 0x5c], ebp
xor ebp, ebp
jmp 0x1000ade0
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x10], 1
add ecx, 0x3afe49dc
jmp 0x1000b163
mov ecx, dword [esp + 0xcc]
imul ecx, ecx, 0x7fd2bf9b
mov eax, 0xaebfc7a9
sub eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x50]
mov edx, eax
xor edx, 0x4ed5804c
mov edi, esi
shr edi, 0xb
mov ecx, edi
and edi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebp, edi
imul ebp, eax
mov eax, dword [esp + 0x2c]
add edx, ebp
add eax, 0x5cea3571
mov dword [esp + 0x50], edx
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x2c]
or esi, 0x800
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x30]
imul edi, eax
mov dword [esp + 0x2c], edx
mov edx, eax
xor edx, 0xcf9daedd
imul edx, ecx
mov ecx, dword [esp + 0xb4]
mov eax, ecx
imul eax, eax, 0x710a308b
add edx, edi
mov dword [esp + 0x30], edx
lea edx, [eax + 0x669791f1]
mov edi, 0x99686e0f
sub edi, eax
or edx, edi
mov edi, dword [esp + 0x94]
mov eax, ecx
or eax, 0xba038586
sub eax, edx
and ecx, 0x45fc7a79
sub eax, ecx
add eax, 0x45fc7a79
shr eax, 0x1f
not eax
and eax, 1
mov ecx, 0
sete cl
mov edx, edi
xor edx, 0x57782e75
xor edi, 0x57782e47
imul edi, eax
imul ecx, edx
add ecx, edi
xor ebp, ebp
jmp 0x1000ade0
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax]
and ecx, 0x3da80998
sub eax, ecx
sub eax, 0x612bfb34
xor eax, 0xea1f64fb
add eax, 0x4f2912c0
mov ecx, eax
mov eax, dword [esp + 0x48]
add eax, 0x1df20e9c
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, dword [esp + 0x9c]
add eax, 0x88143e29
xor dword [esp + 0x90], 0x10c4fb86
xor dword [esp + 0x58], 0xbdce2566
xor dword [esp + 0x70], 0xa08f7326
xor dword [esp + 0x54], 0x4b3a1cba
lea ebx, [ecx - 0x4f2912c0]
mov edi, ebx
xor edi, 0x74cb6437
xor ebx, 0x8b349fc8
mov dword [esp + 0xa0], 0x4537b165
mov dword [esp + 0x8c], 0xd7ae64e0
mov dword [esp + 0xa4], 0x7c98ba61
mov dword [esp + 0x48], edx
cdq
idiv ebp
mov eax, dword [esp + 0x60]
mov dword [esp + 0x9c], edx
lea edx, [ecx + ecx + 0x61adda80]
and edx, 0xe996c06e
sub ecx, edx
add ecx, 0x25a24976
or ecx, edi
not edi
or ebx, edi
lea ecx, [ecx + ebx + 1]
not ecx
shr ecx, 0x1f
not ecx
and ecx, 1
mov edx, 0
sete dl
mov edi, eax
xor edi, 0xe824eed9
xor eax, 0xe824eef5
imul eax, ecx
imul edx, edi
add edx, eax
mov ecx, edx
xor ebp, ebp
jmp 0x1000add1
mov ecx, dword [esp + 0x30]
xor ecx, 0x476a78ca
jmp 0x1000ade0
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x10], ebp
xor ecx, 0xde47c203
jmp 0x1000ade0
mov ecx, dword [esp + 0x2c]
add ecx, 0x97ec5114
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov edi, dword [esp + 0x30]
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov eax, esi
shr eax, 0xc
mov edx, eax
not edx
and edx, 1
xor edi, 0xb1901a19
and eax, 1
imul edx, edi
imul eax, dword [esp + 0x30]
add edx, eax
mov dword [esp + 0x30], edx
or esi, 0x1000
jmp 0x1000ade0
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x10], ebp
add ecx, 0x8adfff62
jmp 0x1000b163
mov eax, dword [esp + 0x80]
mov edx, eax
xor edx, 0x98fe11b9
mov edi, esi
shr edi, 0xd
mov ecx, edi
and edi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebp, edi
imul ebp, eax
mov eax, dword [esp + 0x20]
add edx, ebp
add eax, 0x59ae6810
mov dword [esp + 0x80], edx
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x20]
xor ebp, ebp
or esi, 0x2000
imul edx, ecx
add edx, eax
mov dword [esp + 0x20], edx
mov eax, ecx
imul eax, eax, 0x1f8ed231
mov edx, edi
imul edx, dword [esp + 0x88]
add edx, eax
mov dword [esp + 0x88], edx
mov eax, ecx
imul eax, eax, 0x346a0850
mov edx, edi
imul edx, dword [esp + 0x28]
sub edx, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], edx
imul edi, eax
mov edx, eax
mov eax, dword [esp + 0xb4]
xor edx, 0x41023f37
imul eax, eax, 0x710a308b
imul edx, ecx
mov ecx, dword [ebx]
add edx, edi
lea eax, [eax + ecx + 0x669791f1]
mov dword [esp + 0x78], edx
xor edx, edx
cmp eax, ebp
setne dl
xor ecx, ecx
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x68]
mov edi, edx
cmp edi, ebp
sete cl
mov edx, eax
xor edx, 0x49640381
xor eax, 0x496403a3
imul eax, edi
imul ecx, edx
add ecx, eax
jmp 0x1000ade0
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x10], ebp
xor ecx, 0x5d414fd0
jmp 0x1000ade0
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x9baeca7
add eax, 0x7adf18dd
imul eax, eax, 0x7b35ae23
add eax, 0x394b8adb
imul eax, eax, 0x247f4db4
add eax, 0x21b5af8f
imul eax, eax, 0x67c16caf
mov ecx, 0x69bf2799
sub ecx, eax
push ecx
call fcn.10013117
mov ecx, eax
mov eax, dword [esp + 0x4c]
add eax, 0x5a2e0104
cdq
mov edi, 0x7fffffff
idiv edi
mov eax, dword [esp + 0xa4]
add eax, 0x2c93ae4a
xor dword [esp + 0x94], 0x3293649b
add esp, 4
mov dword [ebx + 8], ecx
mov dword [esp + 0x48], edx
cdq
idiv edi
mov edi, dword [esp + 0x70]
xor eax, eax
cmp ecx, ebp
setne al
xor ecx, ecx
cmp eax, ebp
sete cl
mov dword [esp + 0xa0], edx
mov edx, edi
xor edx, 0x8eedeed3
xor edi, 0x8eedeefa
imul ecx, edx
imul edi, eax
add ecx, edi
jmp 0x1000ade0
cmp ebx, ebp
jne 0x1000bf17
push 0x1f3
push 0x890c
push 9
push 0x10041988
push 0x1003a6b4
call fcn.10008110
add esp, 0x10
push eax
push 0xb6a8
push 0xd72d
push 0xce4b
push 0x10
push 0x1004199c
push 0x1003a694
call fcn.10007e90
add esp, 0x18
push eax
call fcn.10011d68
add esp, 0xc
mov eax, dword [esp + 0xd0]
add eax, 0x4c10205c
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0xb8]
xor dword [esp + 0xc0], 0x797afd4c
xor dword [esp + 0xbc], 0xb08ade
add eax, 0x71ba6a9f
mov dword [esp + 0xb0], 0x91650bab
mov dword [esp + 0xd0], edx
cdq
idiv ecx
mov eax, dword [ebx + 0x18]
add eax, dword [ebx]
mov dword [esp + 0x3c], eax
mov eax, 0
setne al
xor ecx, ecx
cmp eax, ebp
sete cl
imul eax, eax, 0x7f5f653
imul ecx, ecx, 0x7f5f66d
mov dword [esp + 0xb8], edx
add ecx, eax
jmp 0x1000ade0
mov ecx, dword [esp + 0x20]
add ecx, 0x5c3fc494
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x88]
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebp, edx
mov eax, esi
shr eax, 0xe
mov edi, eax
xor ebp, 0x3d242842
and eax, 1
mov dword [esp + 0xc4], eax
imul eax, edx
not edi
and edi, 1
imul ebp, edi
add ebp, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x88], ebp
add eax, 0x73d7853b
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, dword [esp + 0xc4]
mov ebp, dword [esp + 0x28]
imul ebp, eax
or esi, 0x4000
imul edx, edi
add edx, ebp
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x78]
mov ebp, edx
imul edx, eax
xor ebp, 0x7426e58c
imul ebp, edi
imul edi, edi, 0x2c937820
add ebp, edx
mov edx, dword [esp + 0x5c]
imul edx, eax
sub edx, edi
mov dword [esp + 0x78], ebp
mov dword [esp + 0x5c], edx
xor ebp, ebp
jmp 0x1000ade0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ebp
add ecx, 0xb1f1cc59
jmp 0x1000b163
mov ecx, dword [esp + 0xc0]
xor ecx, 0xbce8e74f
jmp 0x1000ade0
mov eax, dword [esp + 0x38]
mov edx, eax
xor edx, 0x9822dade
mov edi, esi
shr edi, 0x11
mov ecx, edi
not ecx
and ecx, 1
imul edx, ecx
and edi, 1
mov ebp, edi
imul ebp, eax
mov eax, dword [esp + 0x1c]
add edx, ebp
mov dword [esp + 0x38], edx
add eax, 0x6dd72b9f
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x1c]
or esi, 0x20000
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], edx
imul edi, eax
mov edx, eax
mov eax, dword [esp + 0x3c]
xor edx, 0x90277db5
imul edx, ecx
mov ecx, dword [esp + 0xe0]
push eax
mov eax, dword [esp + 0xcc]
add edx, edi
push ecx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0xe0]
push edx
push eax
push ebx
call fcn.10009e60
mov edi, dword [esp + 0x70]
add esp, 0x14
neg eax
sbb eax, eax
neg eax
mov ecx, 0
sete cl
mov edx, edi
xor edx, 0x53046057
xor edi, 0x53046054
imul edi, eax
imul ecx, edx
add ecx, edi
xor ebp, ebp
jmp 0x1000ade0
mov ecx, dword [esp + 0x14]
add ecx, 0x54d288f3
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 + 0x64]
mov ebx, esi
shr ebx, 8
mov edx, eax
xor edx, 0x701d6a61
mov edi, ebx
and ebx, 1
not edi
and edi, 1
imul edx, edi
mov ebp, ebx
imul ebp, eax
mov eax, dword [esp + 0x18]
add edx, ebp
mov dword [esp + 0x64], edx
add eax, 0x9e7acd28
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, ebx
imul eax, dword [esp + 0x18]
mov ebp, ebx
imul ebx, dword [esp + 0x74]
or esi, 0x100
imul edx, edi
add edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], edx
imul ebp, eax
mov edx, eax
xor edx, 0x6eae7be3
imul edx, edi
imul edi, edi, 0x34668ad2
add edx, ebp
add ebx, edi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x74], ebx
xor ebp, ebp
jmp 0x1000add1
mov eax, dword [esp + 0xa8]
mov edx, eax
xor edx, 0x210419a
mov edi, esi
shr edi, 1
mov ecx, edi
and edi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebp, edi
imul ebp, eax
mov eax, dword [esp + 0x34]
add edx, ebp
add eax, 0x37241d52
mov dword [esp + 0xa8], edx
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x34]
xor ebp, ebp
or esi, 2
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x34], edx
imul edi, eax
mov edx, eax
mov eax, dword [ebx + 0xc]
xor edx, 0xec5ebcc9
imul edx, ecx
mov ecx, dword [esp + 0x3c]
lea eax, [eax + eax*4]
add edx, edi
cmp dword [ecx + eax*4 + 4], ebp
lea eax, [ecx + eax*4]
mov dword [esp + 0x7c], edx
jne 0x1000c25d
xor edx, edx
cmp dword [eax + 0xc], ebp
sete dl
mov eax, edx
jmp 0x1000c25f
xor eax, eax
mov edi, dword [esp + 0x84]
xor ecx, ecx
cmp eax, ebp
sete cl
mov edx, edi
mov eax, ecx
xor ecx, ecx
cmp eax, ebp
sete cl
xor edx, 0xef0884bc
xor edi, 0xef088496
imul edi, eax
imul ecx, edx
add ecx, edi
jmp 0x1000ade0
mov eax, dword [esp + 0xac]
mov edx, eax
xor edx, 0x5a5d69fe
mov edi, esi
shr edi, 3
mov ecx, edi
and edi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebp, edi
imul ebp, eax
mov eax, dword [esp + 0x44]
add edx, ebp
add eax, 0x349ae1e7
mov dword [esp + 0xac], edx
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x44]
or esi, 8
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x44], edx
add eax, 0xac2cd5f9
cdq
idiv ebp
mov eax, edi
imul eax, dword [esp + 0x8c]
mov ebp, edi
imul edi, dword [esp + 0x4c]
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x8c], edx
imul ebp, eax
mov edx, eax
xor edx, 0x5f3d61e1
imul edx, ecx
imul ecx, ecx, 0x28b676f7
sub edi, ecx
mov ecx, dword [esp + 0x54]
add edx, ebp
xor ecx, 0xbfc848b9
mov dword [esp + 0xa4], edx
mov dword [esp + 0x4c], edi
xor ebp, ebp
jmp 0x1000ade0
mov ecx, dword [esp + 0xa8]
xor ecx, 0xe947be91
jmp 0x1000ade0
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1d8
ret