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

Disassembly:
sub esp, 0x12c
push ebx
xor ebx, ebx
push ebp
push esi
mov esi, eax
push edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], ebx
cmp esi, ebx
jne 0x415a8f
mov ecx, 0x4174c0
xor eax, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], 0x417510
mov dword [esp + 0x40], 0x417640
mov dword [esp + 0x44], 0x417670
mov dword [esp + 0x48], 0x4176a0
mov dword [esp + 0x4c], 0x4176c0
mov dword [esp + 0x50], 0x417720
mov dword [esp + 0x54], 0x417760
mov dword [esp + 0x58], eax
jmp 0x415aa2
mov ecx, 0xd
lea edi, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x38]
push 5
push 0x559626
push eax
cmp ecx, ebx
je 0x415ab2
call ecx
jmp 0x415ab6
call dword [esp + 0x68]
add esp, 0xc
mov dword [esp + 0x6c], eax
cmp eax, ebx
je 0x415e7b
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x3c]
push edx
mov ecx, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x12c], ebx
call fcn.004156f0
mov ebp, eax
add esp, 8
cmp ebp, ebx
jne 0x415e6a
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x6c]
cmp eax, ebx
je 0x415b12
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ebx
push ecx
mov ecx, dword [esp + 0x60]
push edx
push edi
push ecx
call eax
add esp, 0x14
jmp 0x415b33
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp eax, eax
jne 0x415b37
cmp ecx, dword [esp + 0x1c]
jne 0x415b37
push ebx
mov edx, eax
mov eax, dword [esp + 0x5c]
push edx
push edi
push eax
call dword [esp + 0x78]
add esp, 0x10
cmp eax, ebx
je 0x415b3a
or ebp, 0xffffffff
lea ecx, [esp + 0x24]
push ecx
lea esi, [esp + 0x3c]
call fcn.00415330
add esp, 4
test eax, eax
je 0x415b52
or ebp, 0xffffffff
lea edx, [esp + 0x14]
push edx
lea esi, [esp + 0x3c]
call fcn.00415280
add esp, 4
test eax, eax
je 0x415b6a
or ebp, 0xffffffff
movzx eax, word [esp + 0x14]
lea ecx, [esp + 0x14]
push ecx
lea esi, [esp + 0x3c]
mov dword [esp + 0xb4], eax
call fcn.00415280
add esp, 4
test eax, eax
je 0x415b8e
or ebp, 0xffffffff
movzx edx, word [esp + 0x14]
lea eax, [esp + 0x14]
push eax
lea esi, [esp + 0x3c]
mov dword [esp + 0x84], edx
call fcn.00415280
add esp, 4
test eax, eax
je 0x415bb2
or ebp, 0xffffffff
movzx eax, word [esp + 0x14]
cdq
lea ecx, [esp + 0x14]
mov ebx, eax
push ecx
lea esi, [esp + 0x3c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], edx
call fcn.00415280
add esp, 4
test eax, eax
je 0x415bdd
or ebp, 0xffffffff
movzx eax, word [esp + 0x14]
cdq
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
cmp eax, ebx
jne 0x415bf5
cmp edx, dword [esp + 0x7c]
je 0x415bfa
mov ebp, 0xffffff99
lea edx, [esp + 0x24]
push edx
lea esi, [esp + 0x3c]
call fcn.00415330
add esp, 4
test eax, eax
je 0x415c12
or ebp, 0xffffffff
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x24]
xor ebx, ebx
push ecx
lea esi, [esp + 0x3c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ebx
call fcn.00415330
add esp, 4
test eax, eax
je 0x415c3e
or ebp, 0xffffffff
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x84]
push eax
lea esi, [esp + 0x3c]
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], ebx
call fcn.00415280
add esp, 4
test eax, eax
jne 0x415e6a
cmp ebp, ebx
jne 0x415e6a
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x78]
mov ebx, esi
call fcn.00415920
add esp, 0xc
test eax, eax
jne 0x415e0c
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x6c]
push ecx
mov dword [esp + 0x1c], eax
push eax
xor edx, edx
mov esi, edi
lea eax, [esp + 0x40]
mov ebx, ecx
mov dword [esp + 0x12c], 1
call fcn.00417420
add esp, 8
test eax, eax
je 0x415ccf
or ebp, 0xffffffff
lea ecx, [esp + 0x24]
push ecx
lea esi, [esp + 0x3c]
call fcn.00415330
add esp, 4
test eax, eax
je 0x415ce7
or ebp, 0xffffffff
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x3c]
call fcn.00415460
add esp, 4
test eax, eax
je 0x415cff
or ebp, 0xffffffff
lea eax, [esp + 0x14]
push eax
lea esi, [esp + 0x3c]
call fcn.00415280
add esp, 4
test eax, eax
je 0x415d17
or ebp, 0xffffffff
lea ecx, [esp + 0x14]
push ecx
lea esi, [esp + 0x3c]
call fcn.00415280
add esp, 4
test eax, eax
je 0x415d2f
or ebp, 0xffffffff
lea edx, [esp + 0xb0]
push edx
lea esi, [esp + 0x3c]
call fcn.00415330
add esp, 4
test eax, eax
je 0x415d4a
or ebp, 0xffffffff
mov edi, dword [esp + 0x6c]
lea eax, [esp + 0x80]
push eax
lea esi, [esp + 0x3c]
call fcn.00415330
add esp, 4
test eax, eax
je 0x415d69
or ebp, 0xffffffff
mov edi, dword [esp + 0x6c]
lea ecx, [esp + 0x78]
push ecx
lea eax, [esp + 0x3c]
call fcn.00415460
add esp, 4
test eax, eax
je 0x415d85
or ebp, 0xffffffff
mov edi, dword [esp + 0x6c]
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x3c]
call fcn.00415460
add esp, 4
test eax, eax
je 0x415da1
or ebp, 0xffffffff
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x78]
jne 0x415db5
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x7c]
je 0x415dba
mov ebp, 0xffffff99
lea edx, [esp + 0xb8]
push edx
lea eax, [esp + 0x3c]
call fcn.00415460
add esp, 4
test eax, eax
je 0x415dd5
or ebp, 0xffffffff
mov edi, dword [esp + 0x6c]
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x3c]
call fcn.00415460
add esp, 4
test eax, eax
jne 0x415e6a
test ebp, ebp
jne 0x415e6a
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xbc]
mov ebp, dword [esp + 0xb8]
jmp 0x415e51
cmp dword [esp + 0x78], 0xffff
jne 0x415e1d
cmp dword [esp + 0x7c], 0
je 0x415e6a
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0xbc]
cmp ebp, 0xffff
jne 0x415e37
test edi, edi
je 0x415e6a
mov esi, dword [esp + 0xc0]
cmp esi, 0xffffffff
jne 0x415e4d
cmp dword [esp + 0xc4], 0
je 0x415e6a
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc4]
mov ecx, esi
add ecx, ebp
adc eax, edi
cmp ebx, eax
ja 0x415e88
jb 0x415e6a
cmp dword [esp + 0x18], ecx
jae 0x415e88
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x58]
push ecx
push edx
call dword [esp + 0x58]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x12c
ret
cmp dword [esp + 0x80], 0
jne 0x415ebe
mov eax, dword [esp + 0x38]
push 5
push 0x559626
test eax, eax
je 0x415eaa
mov ecx, dword [esp + 0x60]
push ecx
call eax
jmp 0x415eb3
mov edx, dword [esp + 0x60]
push edx
call dword [esp + 0x68]
add esp, 0xc
test eax, eax
je 0x415ebe
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
sub ecx, esi
mov edx, ebx
sbb edx, dword [esp + 0xc4]
sub ecx, ebp
sbb edx, edi
push 0x100
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x124], 0
call sub.MSVCR90.dll_malloc
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x415f1f
mov ecx, 0x40
lea esi, [esp + 0x38]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
call fcn.00417160
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x12c
ret
xor ecx, ecx
sub esp, 0x34
cmp eax, ecx
je 0x415f92
mov edx, dword [eax]
mov dword [esp + 0x24], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 8]
mov dword [esp + 8], edx
mov edx, dword [eax + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x2c], eax
lea eax, [esp]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], edx
call 0x415a10
add esp, 0x34
ret
xor eax, eax
add esp, 0x34
jmp 0x415a10