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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x514909
sub esp, 0x68
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x1b4], 0
mov ebx, dword [0x7e73a0]
test ebx, ebx
jne 0x51464d
mov dword [ecx + 0x1b0], 0
jmp 0x51465a
lea edi, [ecx + 0x1b0]
xor eax, eax
call fcn.004518b0
mov ebx, dword [esp + 0x74]
mov dword [ecx + 0x1bc], ebx
mov ebp, dword [esp + 0x78]
mov dword [ecx + 0x1c0], ebp
mov eax, ebp
mov ebp, dword [0x7e73a0]
test ebp, ebp
jne 0x514686
mov ebp, dword [esp + 0x70]
mov dword [ecx + 0x1b8], ebp
jmp 0x51469d
lea edi, [ecx + 0x1b8]
mov edx, eax
mov eax, dword [esp + 0x70]
call fcn.004518b0
mov eax, edx
mov ebp, dword [esp + 0x70]
lea esi, [ecx + 0x1b0]
mov dword [esp + 0x48], esi
xor edx, edx
jmp 0x5146cf
lea ebx, [eax + esi*8]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov dword [ebx], ebp
mov dword [ebx + 4], esi
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x48]
cmp ebx, edx
jle 0x514877
mov dword [esp + 0x20], edx
lea edi, [esp + 0x54]
call fcn.00451f8e
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x190]
mov dword [esp + 0x50], ecx
mov ebx, dword [ecx]
lea edi, [esp]
lea esi, [esp + 0x54]
call fcn.00451f8e
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x50]
call ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
movzx eax, byte [esp + 0x32]
test al, al
jne 0x514750
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebp
movzx ebx, byte [esp + 0x2d]
test bl, 8
sete bl
jmp 0x514752
xor ebx, ebx
test bl, bl
je 0x51477f
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 0x184]
test ebp, ebp
jle 0x514783
mov dword [esp], ebx
call fcn.00514160
movzx eax, byte [esp + 4]
test al, al
je 0x51486b
mov ebx, dword [esp + 0x6c]
jmp 0x514783
mov ebx, dword [esp + 0x6c]
movzx eax, byte [ebx + 0x180]
cmp eax, 0x80
ja 0x5148fe
lea ebp, [eax - 0x80]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov ecx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
lea ebp, [ebx + eax + 0x100]
mov eax, ebx
movzx ebx, byte [esp + 0x41]
mov edx, ebp
mov ebp, dword [esp + 0x20]
mov esi, ebx
add ebx, ebp
mov edi, ebp
mov ebp, dword [esp + 0x78]
cmp ebp, ebx
jb 0x5148f5
cmp edi, ebx
ja 0x5148ec
sub ebp, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
mov ebx, dword [esp + 0x70]
add ebp, ebx
cmp esi, ecx
jl 0x5147f2
mov esi, ecx
cmp edx, ebp
je 0x51481a
mov dword [esp + 0x24], esi
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004521a0
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x40]
mov ecx, ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebx
lea ebx, [esi + edi]
mov ebp, dword [eax + 0x184]
mov edx, ebx
movzx ebx, byte [esp + 0x3a]
test bl, bl
ja 0x5148a9
inc dword [eax + 0x184]
movzx ebx, byte [eax + 0x180]
mov esi, ebp
lea ebp, [ebx + 4]
xchg ebp, ebx
mov byte [eax + 0x180], bl
xchg ebp, ebx
mov byte [esp + 0x38], bl
cmp esi, 0x20
jb 0x5146ab
jmp 0x514883
mov dword [esp + 0x7c], 0xffffffff
add esp, 0x68
ret
mov dword [esp + 0x7c], 0
add esp, 0x68
ret
mov eax, esi
mov ecx, 0x20
call fcn.00451930
lea ebx, [eax + ebp*8]
mov ebp, dword [esp + 0x4c]
mov ecx, dword [ebp]
mov ebp, dword [ebp + 4]
mov dword [ebx], ecx
mov dword [ebx + 4], ebp
mov ecx, dword [esp + 0x70]
mov ebx, esi
mov ebp, edi
test ebp, ebp
jle 0x514840
mov esi, ebx
lea ebx, [ebp - 1]
cmp ebx, 0x20
jae 0x5148e0
mov edi, ebx
lea ebx, [eax + ebp*8 - 8]
mov dword [esp + 0x4c], ebx
lea ebx, [eax + ebp*8 - 6]
xchg esi, eax
cmp byte [ebx], al
xchg esi, eax
jbe 0x514840
cmp ebp, 0x20
jb 0x51488f
mov eax, ebp
mov ecx, 0x20
call fcn.00451930
mov eax, ebx
mov ecx, 0x20
call fcn.00451930
mov eax, edi
mov ecx, ebx
call fcn.00451990
mov ecx, ebx
mov edx, ebp
call fcn.00451970
mov ecx, pe_nt_image_headers32
call fcn.00451990
nop
call fcn.00450480
jmp fcn.00514610