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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4c58b3
add esp, 0xffffff80
lea eax, [0x4fbe00]
mov dword [esp], eax
call fcn.0040aa30
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
call fcn.004c5db0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
jmp 0x4c5309
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call fcn.004c5db0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test al, al
je 0x4c536d
mov dword [esp + 0x30], edx
mov dword [esp + 0x54], ecx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov byte [esp + 8], 0x23
call fcn.004026b0
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
jne 0x4c5333
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
jmp 0x4c538b
test eax, eax
je 0x4c52ed
mov dword [esp + 0x30], eax
mov dword [esp + 0x54], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov byte [esp + 8], 0x3a
call fcn.004026b0
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x4c53cf
nop
mov ecx, dword [esp + 0x54]
mov edx, eax
mov ebx, ecx
jmp 0x4c542e
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x88], eax
sub esp, 0xffffff80
ret
dec eax
mov edx, eax
neg eax
sar eax, 0x1f
and eax, 1
add ecx, eax
mov eax, edx
test eax, eax
je 0x4c53a9
movzx edx, byte [ecx]
cmp dl, 0x20
je 0x4c537c
cmp dl, 9
je 0x4c537c
cmp dl, 0xa
je 0x4c537c
cmp dl, 0xd
je 0x4c537c
jmp 0x4c53a9
dec eax
test eax, eax
je 0x4c52ed
movzx edx, byte [ecx + eax - 1]
cmp dl, 0x20
je 0x4c53a8
cmp dl, 9
je 0x4c53a8
cmp dl, 0xa
je 0x4c53a8
cmp dl, 0xd
je 0x4c53a8
jmp 0x4c5339
lea eax, [0x4f5e40]
mov dword [esp], eax
call fcn.0040aa30
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x10
lea ecx, [0x50d45b]
mov dword [eax], ecx
lea ecx, [0x53ea6c]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x14], ecx
mov ecx, dword [0x638500]
test ecx, ecx
jne 0x4c540c
mov dword [edx + 0x18], eax
jmp 0x4c5414
lea edi, [edx + 0x18]
call fcn.0045d410
mov dword [esp + 0x88], edx
sub esp, 0xffffff80
ret
dec eax
mov ebp, eax
neg eax
sar eax, 0x1f
and eax, 1
add ecx, eax
mov eax, ebp
test eax, eax
je 0x4c5454
movzx ebp, byte [ecx]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4c541f
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4c541f
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4c541f
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4c541f
jmp 0x4c5454
dec eax
test eax, eax
je 0x4c5479
movzx ebp, byte [ecx + eax - 1]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4c5453
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4c5453
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4c5453
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4c5453
mov dword [esp + 0x20], eax
mov dword [esp + 0x48], ecx
mov ebp, dword [esp + 0x30]
sub ebp, edx
dec ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
inc edx
and edx, ebp
add edx, ebx
jmp 0x4c54aa
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x64]
jmp 0x4c5713
test esi, esi
je 0x4c52ed
mov dword [esp + 0x28], esi
mov dword [esp + 0x50], edx
mov dword [esp], edx
mov dword [esp + 4], esi
mov byte [esp + 8], 0x20
call fcn.004026b0
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x4c54f7
mov ecx, dword [esp + 0x28]
sub ecx, eax
dec ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
lea ebx, [eax + 1]
and ebx, ecx
mov ecx, dword [esp + 0x50]
add ebx, ecx
jmp 0x4c585b
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
test eax, eax
je 0x4c55b1
cmp byte [ecx], 0x5b
je 0x4c551b
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4c55b7
mov dword [esp + 0x44], eax
mov dword [esp + 0x68], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov byte [esp + 8], 0x5d
call fcn.004026b0
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x4c57fc
mov dword [esp + 0x3c], eax
lea ecx, [eax - 1]
mov dword [esp + 0x40], ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
mov ebx, dword [esp + 0x68]
add ecx, ebx
mov dword [esp + 0x64], ecx
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.004c58c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x4c5757
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x3c]
sub ebp, esi
lea eax, [ebp - 1]
mov ebp, eax
neg eax
sar eax, 0x1f
inc esi
and esi, eax
mov eax, ebp
mov ebp, dword [esp + 0x68]
add ebp, esi
mov esi, ecx
mov ecx, ebp
mov ebp, ebx
mov ebx, edx
mov edx, dword [esp + 0x2c]
jmp 0x4c55b7
xor ebx, ebx
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x64], ecx
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
jne 0x4c560f
mov dword [esp + 0x58], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebp
call fcn.0040b4e0
mov eax, dword [0x638500]
mov ecx, dword [esp]
test eax, eax
jne 0x4c55f1
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x1c], ecx
jmp 0x4c55ff
mov edx, dword [esp + 0x5c]
lea edi, [edx + 0x1c]
mov eax, ecx
call fcn.0045d410
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x58]
lea edi, [esp + 0x6c]
xor eax, eax
call fcn.0045d50b
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebp
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 0x1c]
lea ebx, [0x4f3640]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov ebp, dword [esp + 0x20]
mov dword [esp + 0xc], ebp
call fcn.0040e710
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
inc ebp
cmp ebx, ebp
jae 0x4c56be
mov dword [esp + 0x60], ecx
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x4fcf40]
mov dword [esp + 0x10], eax
call fcn.00446290
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x60]
mov dword [edi + 8], edx
mov edx, dword [0x638500]
test edx, edx
jne 0x4c56b3
mov dword [edi], eax
jmp 0x4c56b8
call fcn.0045d410
mov ebp, ecx
mov edx, eax
mov ecx, edi
mov dword [ecx + 4], ebp
lea eax, [ebp + ebp*4]
lea edi, [edx + eax*4 - 0x14]
mov eax, dword [0x638500]
test eax, eax
jne 0x4c56e1
lea esi, [esp + 0x6c]
call fcn.0045d9ee
jmp 0x4c549a
lea eax, [0x4fcf40]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.0040f140
jmp 0x4c549a
dec esi
mov ebx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add edx, esi
mov esi, ebx
test esi, esi
je 0x4c5731
movzx ebx, byte [edx]
cmp bl, 0x20
je 0x4c5700
cmp bl, 9
je 0x4c5700
cmp bl, 0xa
je 0x4c5700
cmp bl, 0xd
je 0x4c5700
jmp 0x4c5731
dec esi
test esi, esi
je 0x4c52ed
movzx ebx, byte [edx + esi - 1]
cmp bl, 0x20
je 0x4c5730
cmp bl, 9
je 0x4c5730
cmp bl, 0xa
je 0x4c5730
cmp bl, 0xd
je 0x4c5730
jmp 0x4c54af
mov dword [esp], 0
lea eax, [0x50de4a]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x12
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
call fcn.004499d0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
lea edx, [0x4f5e40]
mov dword [esp], edx
call fcn.0040aa30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
mov ecx, dword [0x638500]
test ecx, ecx
jne 0x4c57c0
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
jmp 0x4c57cd
mov edi, eax
mov eax, dword [esp + 0x4c]
call fcn.0045d410
mov eax, edi
lea ecx, [0x53ea6c]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x14], ecx
mov ecx, dword [0x638500]
test ecx, ecx
jne 0x4c57e9
mov dword [edx + 0x18], eax
jmp 0x4c57f1
lea edi, [edx + 0x18]
call fcn.0045d410
mov dword [esp + 0x88], edx
sub esp, 0xffffff80
ret
lea eax, [0x4f5e40]
mov dword [esp], eax
call fcn.0040aa30
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x51139a]
mov dword [eax], ecx
lea ecx, [0x53ea6c]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x14], ecx
mov ecx, dword [0x638500]
test ecx, ecx
jne 0x4c5839
mov dword [edx + 0x18], eax
jmp 0x4c5841
lea edi, [edx + 0x18]
call fcn.0045d410
mov dword [esp + 0x88], edx
sub esp, 0xffffff80
ret
dec edx
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, 1
add ebx, edx
mov edx, ebp
test edx, edx
je 0x4c5881
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4c584c
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4c584c
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4c584c
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4c584c
jmp 0x4c5881
dec edx
test edx, edx
je 0x4c58a6
movzx ebp, byte [edx + ebx - 1]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4c5880
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4c5880
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4c5880
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4c5880
mov ecx, ebx
mov ebp, eax
mov eax, edx
mov edx, ebp
jmp 0x4c54ff
call fcn.0045c000
jmp fcn.004c52a0