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

Disassembly:
sub esp, 0x118
push ebx
push ebp
push esi
mov esi, dword [esp + 0x130]
mov ebx, edx
push edi
push esi
push dword [esp + 0x134]
mov ebp, ecx
push dword [esp + 0x134]
push ebx
push ebp
call fcn.0030aa7d
mov dword [esp + 0x28], 0x31b4f5
add esp, 0x14
xor dword [esp + 0x14], 0x80880f0f
xor edx, edx
shl dword [esp + 0x14], 0xd
mov ecx, 0x68fc6f0
add dword [esp + 0x14], 0xcceb
xor dword [esp + 0x14], 0x37800cab
mov dword [esp + 0x58], 0x968571
xor dword [esp + 0x58], 0xdeb803ff
add dword [esp + 0x58], 0xcea8
xor dword [esp + 0x58], 0xde2f5576
mov dword [esp + 0xa4], 0x10f293
shr dword [esp + 0xa4], 2
xor dword [esp + 0xa4], 0x25888
mov dword [esp + 0x4c], 0x96388f
mov eax, dword [esp + 0x4c]
push 0x6c
pop edi
div edi
push 0x4d
mov dword [esp + 0x50], eax
xor edx, edx
add dword [esp + 0x50], 0x3c6c
xor dword [esp + 0x50], 0x9ae6
mov dword [esp + 0xac], 0x28c527
xor dword [esp + 0xac], 0x4d72d1bc
xor dword [esp + 0xac], 0x4d5c68ab
mov dword [esp + 0x94], 0x5c0037
add dword [esp + 0x94], 0xc0ec
xor dword [esp + 0x94], 0x5545fd
mov dword [esp + 0x78], 0xa1d5b7
imul eax, dword [esp + 0x78], 0x53
pop edi
and dword [esp + 0xb8], 0
mov dword [esp + 0x74], eax
add dword [esp + 0x74], 0x7618
xor dword [esp + 0x74], 0x3475e730
mov dword [esp + 0x54], 0x164f88
add dword [esp + 0x54], 0xfffff4ec
add dword [esp + 0x54], 0x22cf
xor dword [esp + 0x54], 0x125628
mov dword [esp + 0x5c], 0x13cf1c
shr dword [esp + 0x5c], 0xc
shl dword [esp + 0x5c], 0xf
xor dword [esp + 0x5c], 0x985a80
mov dword [esp + 0x88], 0x405909
imul eax, dword [esp + 0x88], 0xc
mov dword [esp + 0x88], eax
xor dword [esp + 0x88], 0x30f808a
mov dword [esp + 0x30], 0x5c4bfd
add dword [esp + 0x30], 0x2cd6
imul eax, dword [esp + 0x30], 0x4e
mov dword [esp + 0x30], eax
add dword [esp + 0x30], 0xffff1ed8
xor dword [esp + 0x30], 0x1c2677d2
mov dword [esp + 0x18], 0x53d192
mov eax, dword [esp + 0x18]
div edi
mov dword [esp + 0x18], eax
add dword [esp + 0x18], 0xffff7a7c
shl dword [esp + 0x18], 0xb
xor dword [esp + 0x18], 0x481410e
mov dword [esp + 0x28], 0xab470b
xor dword [esp + 0x28], 0xf6eceffb
add dword [esp + 0x28], 0x8116
shr dword [esp + 0x28], 1
xor dword [esp + 0x28], 0x7b216a4e
mov dword [esp + 0x40], 0x5f977f
xor edx, edx
add dword [esp + 0x40], 0x618e
add dword [esp + 0x40], 0xffff5dfe
shl dword [esp + 0x40], 2
xor dword [esp + 0x40], 0x17261a1
mov dword [esp + 0x20], 0xb9ccb
mov eax, dword [esp + 0x20]
push 0xe
pop edi
div edi
push 0x33
mov dword [esp + 0x24], eax
xor edx, edx
mov eax, dword [esp + 0x24]
pop edi
div edi
push 0x35
mov dword [esp + 0x24], eax
xor edx, edx
shl dword [esp + 0x24], 2
xor dword [esp + 0x24], 0xbf850
mov dword [esp + 0x80], 0x344192
add dword [esp + 0x80], 0xfc34
xor dword [esp + 0x80], 0x379f2a
mov dword [esp + 0x9c], 0x521102
shl dword [esp + 0x9c], 4
xor dword [esp + 0x9c], 0x52b1251
mov dword [esp + 0xa4], 0x5bb35a
imul eax, dword [esp + 0xa4], 0x1a
pop edi
push 0xd
mov dword [esp + 0xa4], eax
xor dword [esp + 0xa4], 0x95ef070
mov dword [esp + 0x28], 0x9a2501
shr dword [esp + 0x28], 9
xor dword [esp + 0x28], 0x83d339c8
xor dword [esp + 0x28], 0x4d03d18f
xor dword [esp + 0x28], 0xced08c74
mov dword [esp + 0x54], 0x4ba4eb
or dword [esp + 0x54], 0x336b85e1
shr dword [esp + 0x54], 2
xor dword [esp + 0x54], 0xcd0b21b
mov dword [esp + 0x20], 0x154409
shl dword [esp + 0x20], 1
or dword [esp + 0x20], 0xf849da61
mov eax, dword [esp + 0x20]
div edi
xor edx, edx
mov dword [esp + 0x20], eax
xor dword [esp + 0x20], 0x4a16919
mov dword [esp + 0x30], 0xe61b78
or dword [esp + 0x30], 0xdfb6c7fd
xor dword [esp + 0x30], 0xdff9206b
mov dword [esp + 0x98], 0x9f3123
mov eax, dword [esp + 0x98]
pop edi
div edi
push 0x18
mov dword [esp + 0x98], eax
xor edx, edx
xor dword [esp + 0x98], 0xfd7b7
mov dword [esp + 0xa0], 0x960ab1
add dword [esp + 0xa0], 0xffff0f5f
xor dword [esp + 0xa0], 0x9932f1
mov dword [esp + 0x40], 0x298969
or dword [esp + 0x40], 0xbd8fee7d
add dword [esp + 0x40], 0xffff73b8
mov eax, dword [esp + 0x40]
pop edi
div edi
mov dword [esp + 0x3c], eax
xor dword [esp + 0x3c], 0x7e1126c
mov dword [esp + 0x34], 0x1bab92
add dword [esp + 0x34], 0xffffb4e0
shr dword [esp + 0x34], 0xc
shl dword [esp + 0x34], 0x10
xor dword [esp + 0x34], 0x1b36144
mov dword [esp + 0x84], 0x213d53
shl dword [esp + 0x84], 3
xor dword [esp + 0x84], 0x105b92a
mov dword [esp + 0x80], 0x1c2094
xor edx, edx
imul eax, dword [esp + 0x80], 0x4c
push 0x2c
pop edi
push 0x50
mov dword [esp + 0x84], eax
xor dword [esp + 0x84], 0x853a20e
mov dword [esp + 0x74], 0x9b5c4a
shr dword [esp + 0x74], 6
shr dword [esp + 0x74], 9
xor dword [esp + 0x74], 0x71f0a
mov dword [esp + 0x90], 0x490878
xor dword [esp + 0x90], 0x7c71bd9f
xor dword [esp + 0x90], 0x7c3b53a2
mov dword [esp + 0x6c], 0xe8b9ac
add dword [esp + 0x6c], 0xf5b4
xor dword [esp + 0x6c], 0x93ae5fe0
xor dword [esp + 0x6c], 0x9347edb9
mov dword [esp + 0x4c], 0x5b2ff3
or dword [esp + 0x4c], 0x2c3ab4b9
shl dword [esp + 0x4c], 0xe
xor dword [esp + 0x4c], 0xefff6b2e
mov dword [esp + 0x68], 0xe7f9e0
add dword [esp + 0x68], 0xa806
xor dword [esp + 0x68], 0x7097e17c
xor dword [esp + 0x68], 0x7075fef3
mov dword [esp + 0x64], 0xe0d6d5
imul eax, dword [esp + 0x64], 0x5b
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
div edi
xor edx, edx
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0x1dabfc1
mov dword [esp + 0x48], 0x9f2351
shl dword [esp + 0x48], 2
mov eax, dword [esp + 0x48]
pop edi
div edi
push 0xa
mov dword [esp + 0x48], eax
xor edx, edx
add dword [esp + 0x48], 0xffffc26b
xor dword [esp + 0x48], 0x1c519
mov dword [esp + 0x7c], 0xa606b9
shl dword [esp + 0x7c], 6
shr dword [esp + 0x7c], 0xd
xor dword [esp + 0x7c], 0x75156
mov dword [esp + 0x70], 0x5dfe7d
or dword [esp + 0x70], 0xe5bef956
xor dword [esp + 0x70], 0xe5ffff6f
mov dword [esp + 0x3c], 0x5d4946
or dword [esp + 0x3c], 0x56748dbe
xor dword [esp + 0x3c], 0x4151f460
mov eax, dword [esp + 0x3c]
pop edi
div edi
mov dword [esp + 0x38], eax
xor dword [esp + 0x38], 0x2513876
mov edi, dword [esp + 0xac]
cmp ecx, 0x92e9aef
jg 0x315a80
je 0x315a3e
cmp ecx, 0x2e15747
je 0x3159db
cmp ecx, 0x4d0ce73
je 0x3159bc
cmp ecx, 0x68fc6f0
je 0x3159b5
cmp ecx, 0x7bd032f
jne 0x315bfd
mov eax, dword [esp + 0xa0]
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [ebp + 4]
call fcn.0031f6a3
mov dword [ebp], eax
pop ecx
test eax, eax
je 0x3159ae
mov dword [esp + 0xb8], 1
mov ecx, 0xbcce2a4
jmp 0x315947
mov ecx, 0x4d0ce73
jmp 0x315947
mov ecx, 0xd01a1fe
jmp 0x315947
mov edx, dword [esp + 0x60]
push dword [esp + 0xb0]
mov ecx, dword [esp + 0x68]
call fcn.0030768d
pop ecx
mov ecx, 0xcef64ea
jmp 0x315947
lea eax, [esp + 0x108]
mov dword [esp + 0xcc], esi
mov dword [esp + 0xf0], eax
lea edx, [esp + 0xc0]
mov eax, dword [ebx]
mov dword [esp + 0x100], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x104], eax
lea eax, [esp + 0xc8]
push eax
push dword [esp + 0x58]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xfc], 0x20
call fcn.00304f42
pop ecx
pop ecx
test eax, eax
je 0x315c1f
mov ecx, 0x92e9aef
jmp 0x315947
push dword [esp + 0x18]
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x38]
mov edx, dword [esp + 0x94]
lea eax, [esp + 0xcc]
mov ecx, dword [esp + 0x68]
push eax
call fcn.0031b0b5
add esp, 0x10
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0x44bda6
add ecx, 0xcef64ea
jmp 0x315947
cmp ecx, 0xbcce2a4
je 0x315b33
cmp ecx, 0xcef64ea
je 0x315c0a
cmp ecx, 0xd01a1fe
je 0x315af2
cmp ecx, 0xd342290
jne 0x315bfd
mov eax, dword [esp + 0x7c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x28]
push dword [esp + 0x6c]
mov ecx, dword [esp + 0x3c]
sub esp, 0xc
call fcn.0030e363
mov ecx, dword [esp + 0x24]
mov edi, eax
add ecx, dword [esp + 0xc4]
add esp, 0x10
add ecx, edi
mov dword [esp + 0xac], edi
mov dword [ebp + 4], ecx
mov ecx, 0x7bd032f
jmp 0x315947
lea eax, [esp + 0x108]
push eax
push dword [esp + 0x94]
push dword [esp + 0xb0]
push dword [ebx + 4]
push ecx
push dword [esp + 0x60]
mov edx, dword [ebx]
mov ecx, dword [esp + 0xbc]
call fcn.0030ef79
add esp, 0x18
test eax, eax
je 0x315c1f
mov ecx, 0x2e15747
jmp 0x315947
mov esi, dword [ebp]
push esi
push dword [esp + 0x20]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x2c]
call fcn.003097cb
mov eax, dword [esp + 0x60]
add esi, eax
push dword [esp + 0xb8]
push esi
push dword [esp + 0xac]
push dword [esp + 0xa8]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0xcc]
call fcn.0031291c
push dword [esp + 0x98]
add esi, dword [esp + 0xd0]
push edi
push dword [esp + 0xa4]
mov ecx, esi
push dword [esp + 0x58]
mov edx, dword [esp + 0x64]
call fcn.0032261e
lea eax, [esi + edi]
add esp, 0x28
xor edi, edi
mov ecx, eax
and dword [esp + 0xbc], edi
sub ecx, esi
cmp esi, eax
mov edx, esi
cmova ecx, dword [esp + 0xbc]
test ecx, ecx
je 0x315bca
cmp byte [edx], 0
jne 0x315bc4
mov byte [edx], 0xc3
inc edx
inc edi
cmp edi, ecx
jb 0x315bbc
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x8c]
mov eax, dword [esp + 0x70]
push 0
sub esp, 0xc
push 0xe
pop ecx
call fcn.0030e363
add esp, 0x10
mov ecx, 0x4d0ce73
mov byte [eax + esi], 0
mov esi, dword [esp + 0x134]
cmp ecx, 0xd31f1c0
je 0x315c1f
jmp 0x315940
mov edx, dword [esp + 0x78]
push dword [esp + 0xc0]
mov ecx, dword [esp + 0x48]
call fcn.0030768d
pop ecx
mov eax, dword [esp + 0xb8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x118
ret