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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4c3d93
add esp, 0xffffff80
lea eax, [0x4f5aa0]
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.004c4290
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
jmp 0x4c37e9
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call fcn.004c4290
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test al, al
je 0x4c384d
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 0x4c3813
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
jmp 0x4c386b
test eax, eax
je 0x4c37cd
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 0x4c38af
nop
mov ecx, dword [esp + 0x54]
mov edx, eax
mov ebx, ecx
jmp 0x4c390e
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 0x4c3889
movzx edx, byte [ecx]
cmp dl, 0x20
je 0x4c385c
cmp dl, 9
je 0x4c385c
cmp dl, 0xa
je 0x4c385c
cmp dl, 0xd
je 0x4c385c
jmp 0x4c3889
dec eax
test eax, eax
je 0x4c37cd
movzx edx, byte [ecx + eax - 1]
cmp dl, 0x20
je 0x4c3888
cmp dl, 9
je 0x4c3888
cmp dl, 0xa
je 0x4c3888
cmp dl, 0xd
je 0x4c3888
jmp 0x4c3819
lea eax, [0x4efee0]
mov dword [esp], eax
call fcn.0040aa30
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x10
lea ecx, [0x506865]
mov dword [eax], ecx
lea ecx, [0x5373e4]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x14], ecx
mov ecx, dword [0x62f5a0]
test ecx, ecx
jne 0x4c38ec
mov dword [edx + 0x18], eax
jmp 0x4c38f4
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 0x4c3934
movzx ebp, byte [ecx]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4c38ff
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4c38ff
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4c38ff
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4c38ff
jmp 0x4c3934
dec eax
test eax, eax
je 0x4c3959
movzx ebp, byte [ecx + eax - 1]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4c3933
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4c3933
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4c3933
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4c3933
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 0x4c398a
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x64]
jmp 0x4c3bf3
test esi, esi
je 0x4c37cd
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 0x4c39d7
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 0x4c3d3b
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
test eax, eax
je 0x4c3a91
cmp byte [ecx], 0x5b
je 0x4c39fb
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4c3a97
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 0x4c3cdc
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.004c3da0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x4c3c37
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 0x4c3a97
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 0x4c3aef
mov dword [esp + 0x58], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebp
call fcn.0040b4e0
mov eax, dword [0x62f5a0]
mov ecx, dword [esp]
test eax, eax
jne 0x4c3ad1
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x1c], ecx
jmp 0x4c3adf
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, [0x4edc00]
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 0x4c3b9e
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, [0x4f6b60]
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 [0x62f5a0]
test edx, edx
jne 0x4c3b93
mov dword [edi], eax
jmp 0x4c3b98
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 [0x62f5a0]
test eax, eax
jne 0x4c3bc1
lea esi, [esp + 0x6c]
call fcn.0045d9ee
jmp 0x4c397a
lea eax, [0x4f6b60]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.0040f140
jmp 0x4c397a
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 0x4c3c11
movzx ebx, byte [edx]
cmp bl, 0x20
je 0x4c3be0
cmp bl, 9
je 0x4c3be0
cmp bl, 0xa
je 0x4c3be0
cmp bl, 0xd
je 0x4c3be0
jmp 0x4c3c11
dec esi
test esi, esi
je 0x4c37cd
movzx ebx, byte [edx + esi - 1]
cmp bl, 0x20
je 0x4c3c10
cmp bl, 9
je 0x4c3c10
cmp bl, 0xa
je 0x4c3c10
cmp bl, 0xd
je 0x4c3c10
jmp 0x4c398f
mov dword [esp], 0
lea eax, [0x507242]
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, [0x4efee0]
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 [0x62f5a0]
test ecx, ecx
jne 0x4c3ca0
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
jmp 0x4c3cad
mov edi, eax
mov eax, dword [esp + 0x4c]
call fcn.0045d410
mov eax, edi
lea ecx, [0x5373e4]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x14], ecx
mov ecx, dword [0x62f5a0]
test ecx, ecx
jne 0x4c3cc9
mov dword [edx + 0x18], eax
jmp 0x4c3cd1
lea edi, [edx + 0x18]
call fcn.0045d410
mov dword [esp + 0x88], edx
sub esp, 0xffffff80
ret
lea eax, [0x4efee0]
mov dword [esp], eax
call fcn.0040aa30
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x50a70f]
mov dword [eax], ecx
lea ecx, [0x5373e4]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x14], ecx
mov ecx, dword [0x62f5a0]
test ecx, ecx
jne 0x4c3d19
mov dword [edx + 0x18], eax
jmp 0x4c3d21
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 0x4c3d61
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4c3d2c
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4c3d2c
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4c3d2c
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4c3d2c
jmp 0x4c3d61
dec edx
test edx, edx
je 0x4c3d86
movzx ebp, byte [edx + ebx - 1]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4c3d60
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4c3d60
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4c3d60
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4c3d60
mov ecx, ebx
mov ebp, eax
mov eax, edx
mov edx, ebp
jmp 0x4c39df
call fcn.0045c000
jmp fcn.004c3780