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

Disassembly:
sub esp, 0x4cc
mov dword [esp + 0xa0], 0x3b54d7
xor edx, edx
add dword [esp + 0xa0], 0xb32b
mov ecx, 0xcb429d2
xor dword [esp + 0xa0], 0x3c082b
mov dword [esp + 0x10], 0x9de63b
xor dword [esp + 0x10], 0xaa78d2b6
imul eax, dword [esp + 0x10], 0x1d
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x20], eax
add dword [esp + 0x20], 0x97b5
xor dword [esp + 0x20], 0x5bf88b91
mov dword [esp + 0xa4], 0xd46eb4
imul eax, dword [esp + 0xa4], 7
push 0x42
pop esi
push 0x31
and dword [esp + 0xc4], 0
mov dword [esp + 0xa8], eax
xor dword [esp + 0xa8], 0x5cf06ee
mov dword [esp + 0xa0], 0x4e64f3
add dword [esp + 0xa0], 0xffff6c86
xor dword [esp + 0xa0], 0x4dd17b
mov dword [esp + 0xcc], 0x7770a2
imul eax, dword [esp + 0xcc], 0x41
mov dword [esp + 0xcc], eax
xor dword [esp + 0xcc], 0x1e539922
mov dword [esp + 0x38], 0x63680f
xor dword [esp + 0x38], 0x2f3ce4ac
shl dword [esp + 0x38], 3
mov eax, dword [esp + 0x38]
div esi
xor edx, edx
mov dword [esp + 0x38], eax
xor dword [esp + 0x38], 0x1dd095a
mov dword [esp + 0x7c], 0x5d3fa6
shr dword [esp + 0x7c], 0xc
add dword [esp + 0x7c], 0xb01c
xor dword [esp + 0x7c], 0xb5ef
mov dword [esp + 0x84], 0x2b73e
imul eax, dword [esp + 0x84], 0x5a
pop esi
push 6
mov dword [esp + 0x84], eax
imul eax, dword [esp + 0x84], 0x18
mov dword [esp + 0x84], eax
xor dword [esp + 0x84], 0x16e18334
mov dword [esp + 0x44], 0x18f1f1
add dword [esp + 0x44], 0x45e7
add dword [esp + 0x44], 0xca0d
shl dword [esp + 0x44], 7
xor dword [esp + 0x44], 0xd0a8076
mov dword [esp + 0x3c], 0x9c96a5
or dword [esp + 0x3c], 0x1da96f23
xor dword [esp + 0x3c], 0x236240bb
xor dword [esp + 0x3c], 0xc401415d
xor dword [esp + 0x3c], 0xfada409e
mov dword [esp + 0x74], 0x92a751
mov eax, dword [esp + 0x74]
div esi
xor edx, edx
mov dword [esp + 0x74], eax
shl dword [esp + 0x74], 0x10
xor dword [esp + 0x74], 0xfe3816da
mov dword [esp + 0x6c], 0x71a54f
mov eax, dword [esp + 0x6c]
pop esi
div esi
mov dword [esp + 0x68], eax
add dword [esp + 0x68], 0xffff896e
xor dword [esp + 0x68], 0x1b18c5
mov dword [esp + 0x90], 0xe0908
xor dword [esp + 0x90], 0x483836c1
xor dword [esp + 0x90], 0x483f9e3c
mov dword [esp + 0x88], 0x5ac33b
imul eax, dword [esp + 0x88], 9
mov dword [esp + 0x88], eax
xor dword [esp + 0x88], 0x3306df6
mov dword [esp + 0xac], 0x16ffc5
xor edx, edx
mov eax, dword [esp + 0xac]
push 0x71
pop esi
div esi
push 0x64
mov dword [esp + 0xb0], eax
xor edx, edx
xor dword [esp + 0xb0], 0x9ab17
mov dword [esp + 0x40], 0x108569
xor dword [esp + 0x40], 0x2e52af5c
xor dword [esp + 0x40], 0xcb57f4e3
mov eax, dword [esp + 0x40]
pop esi
div esi
push 3
mov dword [esp + 0x40], eax
xor edx, edx
xor dword [esp + 0x40], 0x24b18ed
mov dword [esp + 0x50], 0x6794b1
or dword [esp + 0x50], 0x4077a4b1
add dword [esp + 0x50], 0xf8ed
mov eax, dword [esp + 0x50]
pop esi
div esi
push 0x50
mov dword [esp + 0x50], eax
xor edx, edx
xor dword [esp + 0x50], 0x157123e3
mov dword [esp + 0xa4], 0xf2d511
add dword [esp + 0xa4], 0xd7d8
xor dword [esp + 0xa4], 0xfb1516
mov dword [esp + 0x9c], 0x5e78c1
add dword [esp + 0x9c], 0x6a94
xor dword [esp + 0x9c], 0x504a44
mov dword [esp + 0x30], 0x3ff4fe
shl dword [esp + 0x30], 0xf
or dword [esp + 0x30], 0xc9635158
mov eax, dword [esp + 0x30]
pop esi
div esi
push 0x77
mov dword [esp + 0x30], eax
xor edx, edx
xor dword [esp + 0x30], 0x3246d2e
mov dword [esp + 0xac], 0x21040e
add dword [esp + 0xac], 0x1277
xor dword [esp + 0xac], 0x2cfbea
mov dword [esp + 0x58], 0xb8dcc2
or dword [esp + 0x58], 0xfc5b9f19
shr dword [esp + 0x58], 7
xor dword [esp + 0x58], 0x1ff3b59
mov dword [esp + 0x14], 0xc41bb
shr dword [esp + 0x14], 1
add dword [esp + 0x14], 0x1ba1
add dword [esp + 0x14], 0x332e
xor dword [esp + 0x14], 0x9c0f3
mov dword [esp + 0x34], 0xda7d16
imul eax, dword [esp + 0x34], 0x45
pop esi
mov dword [esp + 0x30], eax
add dword [esp + 0x30], 0xffff976f
imul eax, dword [esp + 0x30], 0x28
mov dword [esp + 0x30], eax
xor dword [esp + 0x30], 0x338dbddc
mov dword [esp + 0x28], 0x471482
add dword [esp + 0x28], 0xfe5d
shr dword [esp + 0x28], 0xb
add dword [esp + 0x28], 0xffff385b
xor dword [esp + 0x28], 0xfff54157
mov dword [esp + 0x18], 0x4f2e2
or dword [esp + 0x18], 0xd58eda18
imul eax, dword [esp + 0x18], 0x19
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
div esi
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0x1df7a21
mov dword [esp + 0xbc], 0xaf858e
or dword [esp + 0xbc], 0xa4828a2f
xor dword [esp + 0xbc], 0xa4a54c81
xor edx, edx
mov dword [esp + 0x24], 0xfc2e5b
mov eax, dword [esp + 0x24]
push 0x27
pop esi
div esi
push 0x5d
mov dword [esp + 0x28], eax
xor edx, edx
add dword [esp + 0x28], 0xfffff121
mov eax, dword [esp + 0x28]
pop esi
div esi
push 0x4a
mov dword [esp + 0x28], eax
xor edx, edx
xor dword [esp + 0x28], 0xea72e
mov dword [esp + 0x48], 0xa313c8
add dword [esp + 0x48], 0x1be0
shl dword [esp + 0x48], 6
shl dword [esp + 0x48], 5
xor dword [esp + 0x48], 0x197cab42
mov dword [esp + 0xc8], 0x1eb649
shr dword [esp + 0xc8], 0xa
xor dword [esp + 0xc8], 0x7d1cf
mov dword [esp + 0x5c], 0x33b740
add dword [esp + 0x5c], 0xcc15
add dword [esp + 0x5c], 0xa8b6
xor dword [esp + 0x5c], 0x34764d
mov dword [esp + 0x70], 0xcd4a84
add dword [esp + 0x70], 0x981e
add dword [esp + 0x70], 0xb2b1
xor dword [esp + 0x70], 0xc53a45
mov dword [esp + 0x20], 0x45724e
shr dword [esp + 0x20], 6
shl dword [esp + 0x20], 4
xor dword [esp + 0x20], 0x3a3703bb
xor dword [esp + 0x20], 0x3a2d595b
mov dword [esp + 0x78], 0x3ca53
add dword [esp + 0x78], 0x742b
add dword [esp + 0x78], 0xffff1624
xor dword [esp + 0x78], 0x3df76
mov dword [esp + 0x88], 0x2859ba
add dword [esp + 0x88], 0x5ecf
xor dword [esp + 0x88], 0x270eda
mov dword [esp + 0x98], 0xbe7bd
or dword [esp + 0x98], 0x9e9b8830
xor dword [esp + 0x98], 0x9e9539b1
mov dword [esp + 0x68], 0x2aed28
imul eax, dword [esp + 0x68], 0x3e
pop esi
push 0x51
mov dword [esp + 0x68], eax
or dword [esp + 0x68], 0x699022bc
xor dword [esp + 0x68], 0x6bf18469
mov dword [esp + 0xb8], 0x98dff6
add dword [esp + 0xb8], 0x583d
xor dword [esp + 0xb8], 0x93aad2
mov dword [esp + 0x64], 0xc89935
mov eax, dword [esp + 0x64]
div esi
xor edx, edx
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0x5a6ae271
xor dword [esp + 0x64], 0x5a60122d
mov dword [esp + 0x18], 0x19cc2e
shr dword [esp + 0x18], 9
add dword [esp + 0x18], 0x73a4
shr dword [esp + 0x18], 8
xor dword [esp + 0x18], 0x1860e
mov dword [esp + 0x80], 0x2dab8
add dword [esp + 0x80], 0xffff2dc1
mov eax, dword [esp + 0x80]
pop esi
div esi
mov dword [esp + 0x7c], eax
xor dword [esp + 0x7c], 0xf58d8
mov dword [esp + 0x8c], 0xc60be
add dword [esp + 0x8c], 0x69e3
xor dword [esp + 0x8c], 0x12c36
mov dword [esp + 0x5c], 0x31fa8e
xor edx, edx
or dword [esp + 0x5c], 0xdefdbd7b
xor dword [esp + 0x5c], 0xdefc8b5d
mov dword [esp + 0xb8], 0x9b771
or dword [esp + 0xb8], 0x7b1dc356
xor dword [esp + 0xb8], 0x7b163d86
mov dword [esp + 0x50], 0x5f4c03
mov eax, dword [esp + 0x50]
push 0x54
pop esi
div esi
mov ebp, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc0]
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x50], eax
add dword [esp + 0x50], 0x8948
shl dword [esp + 0x50], 7
xor dword [esp + 0x50], 0xdccd19
mov dword [esp + 0x48], 0x4c1293
xor dword [esp + 0x48], 0x1d43ab1b
add dword [esp + 0x48], 0xdf0f
add dword [esp + 0x48], 0xfb32
xor dword [esp + 0x48], 0x1d1206a5
mov esi, 0xca53dd9
push 0x5c
pop edx
cmp ecx, esi
jg 0x319c3c
je 0x319ba9
cmp ecx, 0x3688f9d
je 0x319d5b
cmp ecx, 0x4e2b8d3
je 0x319b85
cmp ecx, 0x6d4d19d
je 0x319b65
cmp ecx, 0xc518088
jne 0x319d4d
mov edi, dword [0x324208]
add edi, 0x210
jmp 0x319b56
add edi, 2
cmp word [edi], dx
jne 0x319b53
add edi, 2
mov ecx, 0xd8ba225
jmp 0x319b0f
push dword [esp + 0x14]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0xb8]
push ebp
push ebx
call fcn.00304111
add esp, 0xc
mov ecx, 0x4e2b8d3
jmp 0x319b0c
push dword [esp + 0x5c]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x80]
push ebp
call fcn.0031b58e
pop ecx
pop ecx
mov ecx, 0x3688f9d
jmp 0x319b0c
push dword [esp + 0xc8]
lea eax, [esp + 0xd0]
push ebx
push dword [esp + 0x6c]
push dword [esp + 0xa0]
push dword [esp + 0x94]
push dword [esp + 0x48]
push dword [esp + 0x8c]
push edi
push dword [esp + 0x3c]
push ecx
push dword [esp + 0x94]
push dword [esp + 0xc8]
push ecx
push dword [esp + 0x8c]
push dword [esp + 0xfc]
push dword [esp + 0x80]
push edi
push eax
push ecx
push dword [esp + 0x70]
push ecx
push dword [esp + 0xf8]
mov ecx, dword [esp + 0x114]
call fcn.00304cd2
mov ebp, eax
add esp, 0x58
test ebp, ebp
je 0x319b9f
mov ecx, 0x6d4d19d
mov dword [esp + 0xc0], 1
jmp 0x319b0c
cmp ecx, 0xcb429d2
je 0x319d0f
cmp ecx, 0xd8ba225
je 0x319ce8
cmp ecx, 0xedee30a
jne 0x319d4d
push dword [esp + 0x3c]
mov ecx, 0x301230
push dword [esp + 0xb0]
push dword [esp + 0x90]
mov edx, dword [esp + 0x9c]
call fcn.003057b4
add esp, 0xc
mov esi, eax
push dword [0x324208]
push dword [esp + 0x30]
push dword [esp + 0xa0]
mov eax, dword [0x324208]
mov edx, dword [esp + 0xac]
add eax, 0x210
push esi
push ecx
mov ecx, dword [esp + 0x60]
push eax
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0x2f0]
push eax
call fcn.003127ed
push dword [esp + 0x30]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0xcc]
push esi
call fcn.0030c5d7
add esp, 0x28
mov ecx, 0xc518088
jmp 0x319b07
push ecx
push dword [esp + 0x1c]
push ecx
push dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
call fcn.00303eb5
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x319d72
mov ecx, esi
jmp 0x319b0c
push dword [esp + 0x68]
lea edx, [esp + 0x2d8]
push dword [esp + 0x74]
push dword [esp + 0x40]
push dword [esp + 0xbc]
push ecx
push ecx
push dword [esp + 0x90]
push dword [esp + 0x5c]
mov ecx, dword [esp + 0xa0]
call fcn.003172c2
add esp, 0x20
mov ecx, 0xedee30a
push 0x5c
pop edx
cmp ecx, 0xf14afd2
jne 0x319b0f
jmp 0x319d72
push dword [esp + 0x48]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0xbc]
push ebx
call fcn.0031b58e
pop ecx
pop ecx
mov eax, dword [esp + 0xc0]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4cc
ret