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

Disassembly:
sub esp, 0x90
mov eax, dword [esp + 0x9c]
push ebx
push ebp
mov ecx, eax
push esi
not ecx
and ecx, 0x1000
push edi
xor edi, edi
xor esi, esi
and eax, 0x1000
xor ebp, ebp
or ecx, 0x5400020
mov dword [esp + 0x58], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x60], 0xf8c63758
mov dword [esp + 0x68], 0x217f42b5
mov dword [esp + 0x64], 0xf0e77d3a
mov dword [esp + 0x44], 0x20f2ad72
or eax, 0x20924143
add ecx, eax
jmp 0x10031d60
add ecx, 0xda2daeab
cmp ecx, 0x12
ja case.0x10031d6f.634540382
jmp dword [ecx*4 + 0x100324fc]
mov ecx, ebp
not ecx
and ecx, 1
mov edi, ebp
and edi, 1
mov edx, ecx
imul edx, edx, 0x3f589765
mov eax, edi
imul eax, dword [esp + 0x34]
add eax, edx
mov dword [esp + 0x34], eax
mov edx, ecx
imul edx, edx, 0x3878e33
mov eax, edi
imul eax, dword [esp + 0x18]
add eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
xor eax, 0x49cf4a00
imul eax, ecx
mov edx, edi
imul edx, dword [esp + 0x3c]
add eax, edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
xor eax, 0xf1b5ac33
imul eax, ecx
mov edx, edi
imul edx, dword [esp + 0x38]
add eax, edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
add eax, 0x2b2bd3f
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, edi
imul eax, dword [esp + 0x2c]
or ebp, 1
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x24]
add eax, 0xf4e436a5
mov dword [esp + 0x2c], edx
cdq
idiv ebx
mov eax, edi
imul edi, dword [esp + 0x14]
imul eax, dword [esp + 0x24]
imul edx, ecx
imul ecx, ecx, 0x7f8ef3f
add edi, ecx
mov ecx, dword [esp + 0x40]
add edx, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], edi
add ecx, 0x4c90b718
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
xor edi, edi
jmp 0x10031d60
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x58], edi
add ecx, 0x5a6cdf69
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 0x10031d60
mov eax, dword [esp + 0x4c]
lea ecx, [eax + eax + 0x611bbd56]
and ecx, 0xe233eda0
sub eax, ecx
lea ecx, [eax + eax + 0x34faaf8]
or ecx, 0xe233eda0
sub ecx, eax
sub ecx, 0x434faaf7
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x10]
add ecx, 0x1a299632
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 + 0x20]
add eax, 0x47712f4c
cdq
mov ebx, 0x7fffffff
idiv ebx
add dword [esp + 0x54], 8
mov edi, ebp
shr edi, 5
mov eax, edi
not eax
and eax, 1
and edi, 1
imul edi, dword [esp + 0x20]
lea esi, [esp + 0x4c]
or ebp, 0x20
mov dword [esp + 0x48], esi
imul edx, eax
add edx, edi
mov dword [esp + 0x20], edx
xor edi, edi
jmp 0x10031d60
mov ecx, dword [esp + 0x18]
add ecx, 0x44ea9532
jmp 0x10031e67
mov ecx, dword [esp + 0x20]
add ecx, 0xce4f5906
jmp 0x10031e67
mov eax, dword [esp + 0x44]
add eax, 0x4e02aaf7
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x64]
add eax, 0xf2696221
xor ecx, 0x278a1a7f
mov dword [esp + 0x38], 0xce3dbce5
mov dword [esp + 0x2c], 0x514fbb3b
mov dword [esp + 0x44], edx
cdq
idiv ebx
mov dword [esp + 0x40], edx
jmp 0x10031d60
call fcn.1002cd20
mov eax, ebp
shr eax, 4
mov edi, eax
and eax, 1
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x10]
add eax, 0x57a317e8
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, dword [esp + 0x50]
imul eax, dword [esp + 0x10]
not edi
and edi, 1
mov ecx, dword [esp + 0x30]
xor ecx, 0xe3f8c3b5
or ebp, 0x10
imul edx, edi
add edx, eax
mov eax, dword [esp + 0x20]
add eax, 0xcdba39f
mov dword [esp + 0x10], edx
cdq
idiv ebx
mov eax, dword [esp + 0x50]
imul eax, dword [esp + 0x20]
imul edx, edi
add edx, eax
mov dword [esp + 0x20], edx
xor edi, edi
jmp 0x10031d60
mov ecx, dword [esp + 0xac]
imul ecx, ecx, 0x5bad41ad
mov eax, 0xe1736312
sub eax, ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
imul eax, eax, 0xeaf035db
not eax
mov esi, eax
lea edx, [ecx + ecx + 0x611bbd56]
and edx, 0xe233eda0
sub esi, edx
lea edx, [esi + ecx + 0x37c04fe2]
mov dword [esp + 0x50], edx
lea edx, [eax + 0x16187a66]
not ecx
sub ecx, 0x308ddeab
xor ecx, 0xf119f6d0
or ecx, edx
sub ecx, eax
mov eax, dword [esp + 0x34]
mov edx, eax
xor edx, 0xad9df58b
mov ebx, ebp
shr ebx, 1
mov edi, ebx
and ebx, 1
not edi
and edi, 1
imul edx, edi
mov esi, ebx
imul esi, eax
mov eax, dword [esp + 0x18]
add edx, esi
mov dword [esp + 0x34], edx
add eax, 0xa5635627
cdq
mov esi, 0x7fffffff
idiv esi
mov eax, ebx
imul eax, dword [esp + 0x18]
mov esi, ebx
sub ecx, 0x16187a66
imul edx, edi
add edx, eax
mov dword [esp + 0x18], edx
mov edx, ebx
imul edx, dword [esp + 0x28]
mov eax, edi
imul eax, eax, 0x6c903a4e
add edx, eax
mov dword [esp + 0x28], edx
mov edx, ebx
imul edx, dword [esp + 0x1c]
mov eax, edi
imul eax, eax, 0x45cef39c
add edx, eax
mov dword [esp + 0x1c], edx
mov edx, ebx
imul edx, dword [esp + 0x30]
mov eax, edi
imul eax, eax, 0x1ef95a87
add edx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], edx
imul esi, eax
mov edx, eax
mov eax, dword [esp + 0x24]
xor edx, 0x9963db2d
imul edx, edi
add edx, esi
add eax, 0x8087cb3c
mov dword [esp + 0x3c], edx
cdq
mov esi, 0x7fffffff
idiv esi
mov eax, ebx
imul eax, dword [esp + 0x24]
imul edx, edi
add edx, eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x14]
imul ebx, dword [esp + 0x14]
add eax, 0xcec35db5
cdq
idiv esi
mov eax, 0x40000001
or ebp, 2
imul edx, edi
add edx, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x14], edx
lea esi, [ebx - 0x76ee51fb]
imul esi
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub esi, eax
mov eax, dword [esp + 0x50]
mov edi, eax
not edi
sub edi, ecx
and ecx, eax
or edi, eax
add ebx, 0x8911ae06
mov eax, 0x40000001
imul ebx
add edi, ecx
sar edx, 0x1d
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x7fffffff
not edi
shr edi, 0x1f
sub ebx, ecx
not edi
and edi, 1
xor edx, edx
imul ebx, edi
test edi, edi
sete dl
imul edx, esi
mov esi, dword [esp + 0x48]
add ebx, edx
mov ecx, ebx
xor edi, edi
jmp 0x10031d60
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x28]
mov dword [esi + 0x14], eax
mov dword [esi], edx
xor ecx, 0x6b11cc3f
jmp 0x10031d60
mov ecx, dword [esp + 0x60]
xor ecx, 0xf5ef83dd
jmp 0x10031d60
mov eax, dword [esp + 0x28]
mov edx, eax
xor edx, 0xf529daf8
mov edi, ebp
shr edi, 3
mov ecx, edi
and edi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebx, edi
imul ebx, eax
mov eax, dword [esp + 0x1c]
add edx, ebx
add eax, 0x8ae010e8
mov dword [esp + 0x28], edx
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, edi
imul eax, dword [esp + 0x1c]
mov ebx, edi
or ebp, 8
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], edx
imul ebx, eax
mov edx, eax
mov eax, dword [esp + 0x10]
xor edx, 0x172df494
imul edx, ecx
add edx, ebx
add eax, 0x3b56f618
mov dword [esp + 0x30], edx
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, edi
imul edi, dword [esp + 0x20]
imul eax, dword [esp + 0x10]
imul edx, ecx
imul ecx, ecx, 0x3362564
add edi, ecx
mov ecx, dword [esp + 0x14]
add edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], edi
add ecx, 0x970891e0
jmp 0x10031e39
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], 1
xor ecx, 0xfd84679
jmp 0x10031d60
mov eax, dword [esp + 0x68]
add eax, 0xa9e62f41
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x44]
add eax, 0x1a6c91fb
xor dword [esp + 0x60], 0x28fbe5e5
xor dword [esp + 0x64], 0xf2bf3622
mov dword [esp + 0x40], 0xd883e814
mov dword [esp + 0x68], edx
cdq
idiv ecx
mov eax, dword [esp + 0xac]
and al, 7
neg al
mov ecx, 0
sbb eax, eax
inc eax
sete cl
imul ecx, ecx, 0x25d25156
imul eax, eax, 0x25d2515a
mov dword [esp + 0x44], edx
jmp 0x10031d51
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x6c], eax
add eax, 4
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x74], edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x34]
mov edx, eax
xor edx, 0xbb85f449
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], ecx
mov edi, ebp
shr edi, 2
mov ecx, edi
and edi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebx, edi
imul ebx, eax
mov eax, dword [esp + 0x18]
add edx, ebx
mov dword [esp + 0x34], edx
add eax, 0x37fcd7d5
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, edi
imul eax, dword [esp + 0x18]
mov ebx, edi
lea esi, [esp + 0x80]
or ebp, 4
mov dword [esp + 0x48], esi
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], edx
imul ebx, eax
mov edx, eax
mov eax, dword [esp + 0x1c]
xor edx, 0xd77a7dd2
imul edx, ecx
add edx, ebx
mov dword [esp + 0x28], edx
add eax, 0xdc9a213b
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, edi
imul eax, dword [esp + 0x1c]
mov ebx, edi
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], edx
imul ebx, eax
mov edx, eax
xor edx, 0xcffe3cf1
imul edx, ecx
add edx, ebx
mov dword [esp + 0x30], edx
mov edx, ecx
imul edx, edx, 0x78aead27
mov eax, edi
imul edi, dword [esp + 0x14]
imul eax, dword [esp + 0x10]
add eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
add eax, 0xb80d7289
cdq
mov ebx, 0x7fffffff
idiv ebx
imul edx, ecx
mov ecx, dword [esp + 0x24]
add edx, edi
mov dword [esp + 0x14], edx
add ecx, 0x49b6cd4b
jmp 0x10031e39
mov ecx, dword [esp + 0x3c]
xor ecx, 0xab38d4ed
jmp 0x10031d60
mov ecx, dword [esp + 0x1c]
add ecx, 0x78892b9c
jmp 0x10031e67
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x44]
add ecx, 0x9c7066f1
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 + 0x40]
add eax, 0xe54500f
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, dword [esp + 0x2c]
shr dword [esp + 0xac], 3
xor dword [esp + 0x38], 0x158207f0
add eax, 0x48be2ae5
lea esi, [esp + 0xac]
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], 0xc08c1825
mov dword [esp + 0x3c], 0x5e4614a2
mov dword [esp + 0x24], 0x66af8232
mov dword [esp + 0x40], edx
cdq
idiv ebx
mov dword [esp + 0x2c], edx
jmp 0x10031d60
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x78]
mov dword [esi + 0x18], ecx
mov ecx, dword [esp + 0x34]
mov dword [esi + 4], edx
mov dword [esi + 0x10], eax
xor ecx, 0xc92c7c6
jmp 0x10031d60
mov eax, dword [esp + 0x58]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret