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

Disassembly:
sub esp, 0xb50
push ebx
push ebp
mov ebp, dword [esp + 0x2c]
xor eax, eax
push esi
push edi
mov esi, ecx
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x38]
mov edi, edx
mov dword [esp + 0x28], edi
mov eax, 0x2effc6b8
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], ebp
mov ebx, dword [esp + 0xb64]
mov edx, dword [esp + 0x10]
lea esp, [esp]
cmp eax, 0x2279dd0e
jg 0x4015c2
je 0x40155b
cmp eax, 0xdb431f5
jg 0x40145a
je 0x40140d
cmp eax, 0xa7093de
jg 0x4013d3
je 0x4013af
cmp eax, 0x60caf87
je 0x40133b
cmp eax, 0x6bfba3b
je 0x401864
cmp eax, 0x2e1f93a9
jne 0x4012e0
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb50
ret
mov ecx, 0x40d080
call fcn.00403520
mov esi, eax
mov edx, 0x817fd236
mov eax, dword [0x40e76c]
mov ecx, dword [eax + 0x20]
movzx eax, byte [ecx]
push eax
movzx eax, byte [ecx + 1]
push eax
movzx eax, byte [ecx + 2]
push eax
movzx eax, byte [ecx + 3]
mov ecx, 0xe263adaa
push eax
push esi
push 0x40
lea eax, [esp + 0x78]
push eax
push 0x2ed
call fcn.004040c0
add esp, 4
call eax
add esp, 0x1c
mov ecx, esi
call fcn.004034c0
mov eax, dword [0x40e76c]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [eax + 0x20]
movzx edx, word [eax + 4]
mov eax, 0x3b7838f0
mov dword [esp + 0x10], edx
jmp 0x4012e0
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x2c]
call fcn.00401fb0
mov ecx, dword [esp + 0x14]
neg eax
sbb eax, eax
and eax, 0xfaa55a49
add eax, 0x37c1ce39
jmp 0x4012d8
cmp eax, 0xb0cc2d0
jne 0x401325
lea eax, [esp + 0x34]
push eax
lea edx, [esp + 0xe4]
lea ecx, [esp + 0x50]
call fcn.00401940
mov ecx, dword [esp + 0x18]
add esp, 4
neg eax
sbb eax, eax
and eax, 0xe4253da1
add eax, 0x298ef454
jmp 0x4012d8
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x34], 0
push eax
lea eax, [esp + 0x368]
push eax
lea eax, [esp + 0x16c]
push eax
lea ecx, [esp + 0x70]
call fcn.00402c70
mov ecx, dword [esp + 0x24]
add esp, 0x10
neg eax
sbb eax, eax
and eax, 0xd978f81d
add eax, 0x30f79bc1
jmp 0x4012d8
cmp eax, 0x1b3d82c9
jg 0x40152c
je 0x4014c3
cmp eax, 0x113bc9e8
je 0x401493
cmp eax, 0x11b0201f
jne 0x401325
lea ecx, [esp + 0xe0]
call fcn.00401c60
mov ecx, dword [esp + 0x14]
mov eax, 0x1b3d82c9
jmp 0x4012d8
mov dword [esp + 0x5c], ecx
lea edx, [esp + 0x44]
lea ecx, [esp + 0x54]
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], ebp
call fcn.00401e60
mov ecx, dword [esp + 0x14]
neg eax
sbb eax, eax
and eax, 0x19762069
add eax, 0x6bfba3b
jmp 0x4012d8
mov ecx, str.02_
call fcn.00403520
mov esi, eax
mov eax, dword [0x40e6a4]
test eax, eax
jne 0x4014f3
mov ecx, 0xe263adaa
call fcn.00403ea0
mov edx, 0x817fd236
mov ecx, eax
call fcn.00403e00
mov dword [0x40e6a4], eax
lea ecx, [esp + 0xe0]
push ecx
lea ecx, [esp + 0x64]
push ecx
push esi
lea ecx, [esp + 0x36c]
push 0x400
push ecx
call eax
add esp, 0x14
mov ecx, esi
call fcn.004034c0
mov ecx, dword [esp + 0x14]
mov eax, 0xb0cc2d0
mov esi, dword [esp + 0x18]
jmp 0x4012d8
cmp eax, 0x2035daa4
jne 0x401325
lea edx, [esp + 0x4c]
lea ecx, [esp + 0x44]
call fcn.00402280
mov ecx, dword [esp + 0x14]
neg eax
sbb eax, eax
and eax, 0xe392d279
add eax, 0x2279dd0e
jmp 0x4012d8
mov eax, dword [0x40daf4]
test eax, eax
jne 0x40157f
mov ecx, 0xbf336bcc
call fcn.00403ea0
mov edx, 0x44a2d105
mov ecx, eax
call fcn.00403e00
mov dword [0x40daf4], eax
call eax
mov esi, eax
mov eax, dword [0x40e288]
test eax, eax
jne 0x4015a7
mov ecx, 0xbf336bcc
call fcn.00403ea0
mov edx, 0x6b1eaa78
mov ecx, eax
call fcn.00403e00
mov dword [0x40e288], eax
push dword [esp + 0x44]
push 0
push esi
call eax
mov ecx, dword [esp + 0x14]
mov eax, 0x6bfba3b
mov esi, dword [esp + 0x18]
jmp 0x4012d8
cmp eax, 0x32672882
jg 0x40175d
je 0x4016b5
cmp eax, 0x2effc6b8
jg 0x401693
je 0x40165b
cmp eax, 0x27b97cf2
je 0x401609
cmp eax, 0x298ef454
jne 0x401325
mov ecx, dword [esp + 0x4c]
call fcn.00404180
mov ecx, dword [esp + 0x14]
mov eax, 0x2279dd0e
jmp 0x4012d8
mov ecx, dword [edi + 4]
mov eax, 0x51eb851f
mul ecx
shr edx, 5
lea esi, [ecx + edx*4]
add esi, edx
mov ecx, esi
call fcn.00404220
mov ebp, eax
mov dword [esp + 0x24], ebp
test ebp, ebp
je 0x40186b
mov edx, dword [edi + 4]
mov ecx, dword [edi]
push esi
push ebp
call fcn.00405b40
mov ecx, eax
add esp, 8
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x401864
mov esi, dword [esp + 0x18]
mov eax, 0x113bc9e8
jmp 0x4012d8
mov eax, dword [0x40def8]
test eax, eax
jne 0x40167f
mov ecx, 0xbf336bcc
call fcn.00403ea0
mov edx, 0xe3e1437c
mov ecx, eax
call fcn.00403e00
mov dword [0x40def8], eax
call eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov eax, 0x27b97cf2
jmp 0x4012d8
cmp eax, 0x30f79bc1
jne 0x401325
mov ecx, dword [esp + 0x34]
call fcn.00404180
mov ecx, dword [esp + 0x14]
mov eax, 0x298ef454
jmp 0x4012d8
mov eax, dword [esp + 0x3c]
mov esi, dword [eax]
mov eax, dword [0x40daf4]
mov dword [ebx + 4], esi
test eax, eax
jne 0x4016e2
mov ecx, 0xbf336bcc
call fcn.00403ea0
mov edx, 0x44a2d105
mov ecx, eax
call fcn.00403e00
mov dword [0x40daf4], eax
call eax
mov edi, eax
mov eax, dword [0x40e6a8]
test eax, eax
jne 0x40170a
mov ecx, 0xbf336bcc
call fcn.00403ea0
mov edx, 0xa4fe6fa9
mov ecx, eax
call fcn.00403e00
mov dword [0x40e6a8], eax
push esi
push 8
push edi
call eax
mov esi, eax
mov dword [ebx], esi
test esi, esi
je 0x401747
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
push dword [ebx + 4]
lea edx, [edx - 4]
lea ecx, [ecx + 4]
push esi
call fcn.00405760
xor ecx, ecx
add esp, 8
cmp ecx, eax
sbb edi, edi
neg edi
mov dword [esp + 0x1c], edi
jne 0x401747
mov ecx, dword [ebx]
call fcn.00404180
mov ecx, dword [esp + 0x14]
mov eax, 0x3836fc0f
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
jmp 0x4012d8
cmp eax, 0x37c1ce39
je 0x4017fd
cmp eax, 0x3836fc0f
je 0x4017e6
cmp eax, 0x3b7838f0
jne 0x401325
mov ebx, dword [esp + 0x20]
lea edi, [esp + 0x160]
mov eax, 0xaaaaaaab
mul ebx
shr edx, 2
lea eax, [edx + edx*2]
add eax, eax
sub ebx, eax
inc ebx
je 0x4017d3
mov ebp, 0x2f
mov edi, edi
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x20]
and esi, 0xf
mov ecx, edi
add esi, 4
push eax
mov edx, esi
call fcn.00404e10
lea edi, [edi + esi*2]
add esp, 4
mov word [edi], bp
add edi, 2
dec ebx
jne 0x4017a0
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
xor eax, eax
mov word [edi], ax
mov eax, 0x11b0201f
mov edi, dword [esp + 0x28]
jmp 0x4012d1
mov ecx, dword [esp + 0x3c]
call fcn.00404180
mov ecx, dword [esp + 0x14]
mov eax, 0x37c1ce39
jmp 0x4012d8
mov eax, dword [0x40daf4]
test eax, eax
jne 0x401821
mov ecx, 0xbf336bcc
call fcn.00403ea0
mov edx, 0x44a2d105
mov ecx, eax
call fcn.00403e00
mov dword [0x40daf4], eax
call eax
mov esi, eax
mov eax, dword [0x40e288]
test eax, eax
jne 0x401849
mov ecx, 0xbf336bcc
call fcn.00403ea0
mov edx, 0x6b1eaa78
mov ecx, eax
call fcn.00403e00
mov dword [0x40e288], eax
push dword [esp + 0x2c]
push 0
push esi
call eax
mov ecx, dword [esp + 0x14]
mov eax, 0x30f79bc1
mov esi, dword [esp + 0x18]
jmp 0x4012d8
mov ecx, ebp
call fcn.00404180
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb50
ret