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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4c3cf3
add esp, 0xffffff80
lea eax, [0x4f6ac0]
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.004c41f0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
jmp 0x4c3749
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call fcn.004c41f0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test al, al
je 0x4c37ad
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 0x4c3773
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
jmp 0x4c37cb
test eax, eax
je 0x4c372d
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 0x4c380f
nop
mov ecx, dword [esp + 0x54]
mov edx, eax
mov ebx, ecx
jmp 0x4c386e
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 0x4c37e9
movzx edx, byte [ecx]
cmp dl, 0x20
je 0x4c37bc
cmp dl, 9
je 0x4c37bc
cmp dl, 0xa
je 0x4c37bc
cmp dl, 0xd
je 0x4c37bc
jmp 0x4c37e9
dec eax
test eax, eax
je 0x4c372d
movzx edx, byte [ecx + eax - 1]
cmp dl, 0x20
je 0x4c37e8
cmp dl, 9
je 0x4c37e8
cmp dl, 0xa
je 0x4c37e8
cmp dl, 0xd
je 0x4c37e8
jmp 0x4c3779
lea eax, [0x4f0f80]
mov dword [esp], eax
call fcn.0040aa30
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x10
lea ecx, [0x507993]
mov dword [eax], ecx
lea ecx, [0x5385b4]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x14], ecx
mov ecx, dword [0x62b220]
test ecx, ecx
jne 0x4c384c
mov dword [edx + 0x18], eax
jmp 0x4c3854
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 0x4c3894
movzx ebp, byte [ecx]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4c385f
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4c385f
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4c385f
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4c385f
jmp 0x4c3894
dec eax
test eax, eax
je 0x4c38b9
movzx ebp, byte [ecx + eax - 1]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4c3893
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4c3893
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4c3893
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4c3893
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 0x4c38ea
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x64]
jmp 0x4c3b53
test esi, esi
je 0x4c372d
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 0x4c3937
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 0x4c3c9b
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
test eax, eax
je 0x4c39f1
cmp byte [ecx], 0x5b
je 0x4c395b
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4c39f7
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 0x4c3c3c
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.004c3d00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x4c3b97
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 0x4c39f7
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 0x4c3a4f
mov dword [esp + 0x58], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebp
call fcn.0040b4e0
mov eax, dword [0x62b220]
mov ecx, dword [esp]
test eax, eax
jne 0x4c3a31
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x1c], ecx
jmp 0x4c3a3f
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, [0x4eec40]
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 0x4c3afe
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, [0x4f7b80]
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 [0x62b220]
test edx, edx
jne 0x4c3af3
mov dword [edi], eax
jmp 0x4c3af8
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 [0x62b220]
test eax, eax
jne 0x4c3b21
lea esi, [esp + 0x6c]
call fcn.0045d9ee
jmp 0x4c38da
lea eax, [0x4f7b80]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.0040f140
jmp 0x4c38da
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 0x4c3b71
movzx ebx, byte [edx]
cmp bl, 0x20
je 0x4c3b40
cmp bl, 9
je 0x4c3b40
cmp bl, 0xa
je 0x4c3b40
cmp bl, 0xd
je 0x4c3b40
jmp 0x4c3b71
dec esi
test esi, esi
je 0x4c372d
movzx ebx, byte [edx + esi - 1]
cmp bl, 0x20
je 0x4c3b70
cmp bl, 9
je 0x4c3b70
cmp bl, 0xa
je 0x4c3b70
cmp bl, 0xd
je 0x4c3b70
jmp 0x4c38ef
mov dword [esp], 0
lea eax, [0x508381]
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, [0x4f0f80]
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 [0x62b220]
test ecx, ecx
jne 0x4c3c00
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
jmp 0x4c3c0d
mov edi, eax
mov eax, dword [esp + 0x4c]
call fcn.0045d410
mov eax, edi
lea ecx, [0x5385b4]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x14], ecx
mov ecx, dword [0x62b220]
test ecx, ecx
jne 0x4c3c29
mov dword [edx + 0x18], eax
jmp 0x4c3c31
lea edi, [edx + 0x18]
call fcn.0045d410
mov dword [esp + 0x88], edx
sub esp, 0xffffff80
ret
lea eax, [0x4f0f80]
mov dword [esp], eax
call fcn.0040aa30
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x50b87b]
mov dword [eax], ecx
lea ecx, [0x5385b4]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x14], ecx
mov ecx, dword [0x62b220]
test ecx, ecx
jne 0x4c3c79
mov dword [edx + 0x18], eax
jmp 0x4c3c81
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 0x4c3cc1
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4c3c8c
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4c3c8c
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4c3c8c
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4c3c8c
jmp 0x4c3cc1
dec edx
test edx, edx
je 0x4c3ce6
movzx ebp, byte [edx + ebx - 1]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4c3cc0
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4c3cc0
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4c3cc0
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4c3cc0
mov ecx, ebx
mov ebp, eax
mov eax, edx
mov edx, ebp
jmp 0x4c393f
call fcn.0045c000
jmp fcn.004c36e0