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

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a5864
sub esp, 0x7c
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], 0xffffffff
dec ebx
mov dword [esp + 0x1c], ebx
jmp 0x4a5451
cmp dword [esp + 0x1c], 0xffffffff
jge 0x4a545d
jmp 0x4a568d
cmp dword [esp + 0x1c], 0xffffffff
sete bl
mov byte [esp + 0x17], bl
je 0x4a546d
jmp 0x4a546f
jmp 0x4a5498
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x84]
cmp ecx, eax
ja 0x4a548a
jmp 0x4a585e
add ebx, eax
cmp byte [ebx], 0x2c
sete bl
mov byte [esp + 0x17], bl
jmp 0x4a5498
movzx ebx, byte [esp + 0x17]
test bl, bl
jne 0x4a54a6
jmp 0x4a565e
mov ebx, dword [esp + 0x20]
test ebx, ebx
jge 0x4a54b3
jmp 0x4a565c
mov ebx, dword [esp + 0x1c]
lea eax, [ebx + 1]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x84]
cmp edx, ecx
jae 0x4a54d9
jmp 0x4a5859
cmp ecx, eax
jae 0x4a54e2
jmp 0x4a5854
sub ecx, ebx
lea ebx, [ecx - 1]
mov esi, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
lea ebx, [ebp + eax]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], esi
mov ebx, dword [esp + 0x20]
lea eax, [ebx + 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x84]
cmp ecx, edx
jbe 0x4a5522
jmp 0x4a584f
cmp ecx, eax
jae 0x4a552b
jmp 0x4a584a
sub ecx, ebx
dec ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, ebp
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x80]
lea ebx, [0x5125c0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00410980
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
test al, al
jne 0x4a5597
jmp 0x4a559c
jmp 0x4a5836
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x80]
lea ebx, [0x5125c0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.0046ec20
mov eax, dword [esp + 0x10]
mov dword [esp + 0x50], eax
test byte [eax], al
mov byte [eax], 1
lea eax, [0x516a00]
mov dword [esp], eax
call fcn.0040dc80
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], eax
mov dword [eax + 4], 0
mov ecx, dword [0x5efdd0]
test ecx, ecx
je 0x4a55fb
jmp 0x4a55fd
jmp 0x4a560e
mov ebx, dword [eax]
call fcn.004757c0
mov dword [edi], ebx
mov ebx, dword [eax + 8]
mov dword [edi + 4], ebx
jmp 0x4a560e
mov dword [eax], 0
mov dword [eax + 8], 0
mov ebx, dword [esp + 0x4c]
test byte [ebx], al
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov dword [ebx + 4], esi
mov esi, dword [0x5efdd0]
test esi, esi
je 0x4a5638
jmp 0x4a563a
jmp 0x4a5648
call fcn.004757c0
mov dword [edi], ebp
mov esi, dword [ebx]
mov dword [edi + 4], esi
jmp 0x4a5648
mov dword [ebx], ebp
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x18], 0
jmp 0x4a56b3
jmp 0x4a56a1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x84]
cmp eax, ecx
jb 0x4a5676
jmp 0x4a569c
add ebx, eax
cmp byte [ebx], 0x3d
je 0x4a567f
jmp 0x4a5689
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x20], ebx
jmp 0x4a568b
jmp 0x4a568b
jmp 0x4a5691
add esp, 0x7c
ret
jmp 0x4a5693
dec dword [esp + 0x1c]
jmp 0x4a5451
call fcn.00475830
mov dword [esp + 0x20], 0xffffffff
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x24], ebx
jmp 0x4a5691
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x28], ebx
cmp dword [esp + 0x18], ebx
jl 0x4a56c6
jmp 0x4a57f2
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
cmp ecx, eax
ja 0x4a56db
jmp 0x4a5845
add ebx, eax
cmp byte [ebx], 0x23
je 0x4a56e7
jmp 0x4a57e7
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
cmp edx, ecx
jae 0x4a56fc
jmp 0x4a5840
jmp 0x4a56fe
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x30]
test byte [edx], al
mov dword [edx + 4], ecx
mov ebp, dword [0x5efdd0]
test ebp, ebp
je 0x4a571b
jmp 0x4a571d
jmp 0x4a572b
call fcn.004757c0
mov dword [edi], ebx
mov ebp, dword [edx]
mov dword [edi + 4], ebp
jmp 0x4a572b
mov dword [edx], ebx
mov edx, dword [esp + 0x18]
lea eax, [edx + 1]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
cmp ecx, eax
jae 0x4a5749
jmp 0x4a583b
sub ecx, edx
dec ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x60], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004a09b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x30]
test byte [eax], al
mov ecx, dword [0x5efdd0]
mov edx, dword [esp + 0x44]
test ecx, ecx
je 0x4a57d1
jmp 0x4a57d3
jmp 0x4a57e2
call fcn.004757c0
mov dword [edi], edx
mov ecx, dword [eax + 8]
mov dword [edi + 4], ecx
jmp 0x4a57e2
mov dword [eax + 8], edx
jmp 0x4a57f4
jmp 0x4a57e9
inc dword [esp + 0x18]
jmp 0x4a56b3
jmp 0x4a57f4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004a4d80
mov eax, dword [esp + 8]
mov dword [esp + 0x54], eax
test byte [eax], al
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
lea ecx, [0x53b260]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004a5920
jmp 0x4a5836
jmp 0x4a56a1
call fcn.00475890
call fcn.00475850
call fcn.00475830
call fcn.00475890
call fcn.00475850
call fcn.00475890
call fcn.00475850
call fcn.00475830
nop
call fcn.004743b0
jmp fcn.004a5420