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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xd0]
cmp eax, dword [ecx + 8]
jbe 0x45a5cd
sub esp, 0x150
mov eax, dword [0x8c8f6c]
xor ebx, ebx
cmp eax, ebx
jne 0x45a016
add esp, 0x150
ret
xor ebx, ebx
mov dword [esp + 0xa8], ebx
mov byte [esp + 0xac], bl
mov byte [esp + 0xad], bl
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
lea edi, [esp + 0xc4]
xor eax, eax
call fcn.0046379d
mov dword [esp], 0x70ed40
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea ebx, [esp + 0xa8]
mov dword [esp + 0xc], ebx
lea ebx, [esp + 0xc4]
mov dword [esp + 0x10], ebx
call fcn.00412cf0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x38], ebx
xor ebx, ebx
lea ebx, [esp + 0x20]
cmp ebx, 0
je 0x45a5c6
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x6c], ebx
mov esi, 0x8c8ec0
mov dword [esp + 0x48], esi
xor ebp, ebp
cmp esi, ebp
je 0x45a10d
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov eax, ebx
inc ebx
cmp ebx, edx
ja 0x45a586
mov dword [esp + 0x70], ebx
mov ebx, ecx
mov ebp, eax
imul ebp, ebp, 4
add ebx, ebp
cmp byte [0x8f7eb8], 0
jne 0x45a571
mov dword [ebx], esi
mov esi, dword [esi + 0xac]
mov dword [esp + 0x48], esi
xor ebp, ebp
cmp esi, ebp
jne 0x45a0ca
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x70]
dec eax
mov ecx, dword [esp + 0x74]
cmp eax, ecx
ja 0x45a56a
mov ebp, dword [esp + 0x6c]
mov edx, ecx
mov ecx, ebp
mov ebx, edi
dec ebx
mov ebp, dword [esp + 0x70]
cmp ebx, ebp
jae 0x45a563
mov ebp, dword [esp + 0x6c]
shl ebx, 2
add ebp, ebx
mov ebx, dword [ebp]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0x70]
cmp ebx, 0
jle 0x45a41c
mov ebx, dword [esp + 0x44]
cmp ebx, 0
je 0x45a55c
mov edx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x70]
mov ebp, dword [ebx + 0x74]
mov dword [esp + 0xa4], ebp
xor ecx, ecx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x9c], edx
mov eax, edx
mov ebp, dword [esp + 0x30]
cmp ecx, ebp
jge 0x45a24e
mov dword [esp + 0x58], eax
mov eax, dword [eax]
mov dword [esp + 0x34], ecx
mov ebx, dword [esp + 0x44]
mov ebp, dword [ebx + 0xa8]
xor ebx, ebx
cmp ebp, ebx
jne 0x45a533
mov ebx, dword [esp + 0x44]
mov ebp, dword [ebx + 0x64]
add ebp, eax
mov eax, ebp
mov dword [esp], 0x70ed40
mov ebx, dword [esp + 0x38]
mov dword [esp + 4], ebx
mov dword [esp + 0x40], eax
mov ebp, dword [eax + 8]
mov dword [esp + 8], ebp
call fcn.00415e80
mov ebx, dword [esp + 0xc]
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
mov edi, dword [ebx + 8]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x68], edi
mov dword [esp + 0x98], edi
xor ecx, ecx
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], eax
cmp ecx, esi
jge 0x45a477
mov edx, dword [eax]
mov ebp, dword [esp + 0x40]
cmp edx, ebp
jne 0x45a46b
mov eax, dword [esp + 0x58]
add eax, 4
mov ecx, dword [esp + 0x34]
inc ecx
mov ebp, dword [esp + 0x30]
cmp ecx, ebp
jl 0x45a1a1
mov ebx, dword [esp + 0x70]
dec ebx
mov ebp, dword [esp + 0x70]
cmp ebx, ebp
jae 0x45a464
mov ebp, dword [esp + 0x6c]
shl ebx, 2
add ebp, ebx
mov eax, dword [ebp]
mov dword [esp + 0x4c], eax
mov eax, dword [eax + 0x70]
mov dword [esp], 0x70e280
cdq
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.00412cf0
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x14]
cmp esi, 0
je 0x45a45d
cmp byte [0x8f7eb8], 0
jne 0x45a442
mov dword [esi + 0xa8], eax
cmp esi, 0
je 0x45a43b
mov edx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov ebp, dword [esi + 0x74]
mov dword [esp + 0xa4], ebp
xor ecx, ecx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x9c], edx
mov eax, edx
mov ebp, dword [esp + 0x34]
cmp ecx, ebp
jge 0x45a3ee
mov dword [esp + 0x58], eax
mov eax, dword [eax]
mov dword [esp + 0x30], ecx
mov ebp, dword [esi + 0x64]
mov dword [esp + 0x20], eax
add ebp, eax
mov dword [esp], 0x70ed40
mov ebx, dword [esp + 0x38]
mov dword [esp + 4], ebx
mov dword [esp + 0x3c], ebp
mov ebp, dword [ebp + 8]
mov dword [esp + 8], ebp
call fcn.00415e80
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0xc]
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov ebp, dword [ebx + 8]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebp
mov dword [esp + 0x80], ebp
xor ecx, ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x78], edx
mov eax, edx
mov ebp, dword [esp + 0x24]
cmp ecx, ebp
jge 0x45a39c
mov dword [esp + 0x54], eax
mov ebp, dword [eax]
mov dword [esp + 0x28], ecx
mov dword [esp], esi
mov dword [esp + 0x50], ebp
mov dword [esp + 4], ebp
call fcn.0045a5e0
mov esi, dword [esp + 0x3c]
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x45a42a
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x5c], esi
mov dword [esp], 0x70e280
mov ebx, dword [esp + 0x4c]
mov ebp, dword [ebx + 0xa8]
mov dword [esp + 4], ebp
lea ebx, [esp + 0x2c]
mov dword [esp + 8], ebx
lea ebx, [esp + 0x5c]
mov dword [esp + 0xc], ebx
call fcn.00413900
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x58]
add eax, 4
mov ecx, dword [esp + 0x30]
inc ecx
mov ebp, dword [esp + 0x34]
cmp ecx, ebp
jl 0x45a2f6
mov eax, dword [esp + 0x70]
dec eax
mov ecx, dword [esp + 0x74]
cmp eax, ecx
ja 0x45a423
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x44], esi
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov ebx, dword [esp + 0x70]
cmp ebx, 0
jg 0x45a162
add esp, 0x150
ret
call fcn.004359e0
ud2
mov eax, dword [esp + 0x54]
add eax, 4
mov ecx, dword [esp + 0x28]
inc ecx
jmp 0x45a364
mov dword [esi], eax
jmp 0x45a2c4
lea esi, [esi + 0xa8]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0041b160
mov esi, dword [esp + 0x4c]
jmp 0x45a2bb
mov dword [esi], eax
jmp 0x45a2a8
call fcn.00435970
ud2
add eax, 4
inc ecx
cmp ecx, esi
jl 0x45a228
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov ecx, edi
mov eax, ebx
inc ebx
cmp ebx, edi
ja 0x45a506
mov ebx, eax
inc ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x84], edx
mov ebx, edx
mov ebp, eax
imul ebp, ebp, 4
add ebx, ebp
mov ebp, dword [esp + 0x40]
cmp byte [0x8f7eb8], 0
jne 0x45a4f8
mov dword [ebx], ebp
mov dword [esp], 0x70ed40
mov ebx, dword [esp + 0x38]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 8], ebx
cmp dword [esp + 8], 0
je 0x45a4f0
add dword [esp + 8], 8
lea ebx, [esp + 0x84]
mov dword [esp + 0xc], ebx
call fcn.00413900
jmp 0x45a236
mov dword [0], eax
jmp 0x45a4d6
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0041b160
jmp 0x45a4b8
mov dword [esp], 0x73dba0
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00449ae0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x45a488
mov dword [esp], 0x70e280
mov ebx, dword [esp + 0x44]
mov ebp, dword [ebx + 0xa8]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00415e80
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx]
jmp 0x45a1ca
mov dword [ebx], eax
jmp 0x45a16f
call fcn.00435970
ud2
call fcn.004359e0
ud2
mov dword [esp], ebx
mov dword [esp + 4], esi
call fcn.0041b160
mov esi, dword [esp + 0x48]
jmp 0x45a0fd
mov dword [esp], 0x6f0040
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.00449ae0
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, ebx
inc ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edx
mov dword [esp + 0x6c], ecx
jmp 0x45a0e5
mov dword [ebx], eax
jmp 0x45a0a7
call fcn.004616d0
jmp fcn.00459fe0