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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc]
cmp eax, dword [ecx + 8]
jbe 0x4c73f5
sub esp, 0x8c
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
call fcn.004c7640
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x94]
cmp ecx, eax
jb 0x4c73ef
mov ebx, ecx
sub ecx, eax
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov esi, dword [esp + 0x90]
mov edx, ebx
lea ebx, [esi + ecx]
test ebp, ebp
je 0x4c6b48
movzx ecx, byte [esi + ecx]
cmp cl, 0x5c
jne 0x4c6a3e
mov ecx, 1
jmp 0x4c6a44
cmp cl, 0x2f
sete cl
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x64], ebx
mov byte [esp + 0x26], cl
lea edi, [esp + 0x68]
xor eax, eax
call fcn.0045a177
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], edx
mov esi, dword [esp + 0x28]
mov dword [esp + 0x88], esi
movzx esi, byte [esp + 0x26]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4c6b3f
test ecx, ecx
jne 0x4c6b1c
mov edi, dword [esp + 0x68]
test ebp, ebp
jle 0x4c6ab5
cmp byte [edi], 0x5c
jne 0x4c6ab5
mov dword [esp + 0x7c], 1
jmp 0x4c6b38
lea eax, [0x4d7300]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00443dd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x4c73e6
cmp ebp, ecx
jl 0x4c6af9
mov ebp, ecx
cmp edx, eax
je 0x4c6b11
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045a880
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x64]
mov ebp, ecx
movzx esi, byte [esp + 0x26]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp ecx, eax
jbe 0x4c73e1
mov byte [edi + eax], 0x5c
inc dword [esp + 0x7c]
mov eax, 1
jmp 0x4c6b41
xor eax, eax
mov ecx, eax
jmp 0x4c6bee
cmp eax, 1
jle 0x4c6ba9
cmp byte [esi + 1], 0x3a
je 0x4c6ba9
nop
mov dword [esp], esi
mov dword [esp + 4], edx
lea eax, [0x4e650d]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4e651d]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004aee50
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x8c
ret
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], edx
lea eax, [0x4e650c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.004471d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x8c
ret
mov eax, edi
cmp eax, ebp
jge 0x4c7014
jae 0x4c73da
movzx edi, byte [eax + ebx]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4c6c0e
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x4c6c13
lea edi, [eax + 1]
jmp 0x4c6bec
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4c6f15
mov edx, esi
lea esi, [eax + 1]
cmp ebp, esi
je 0x4c6c46
jbe 0x4c73d1
movzx ebx, byte [eax + ebx + 1]
cmp bl, 0x5c
jne 0x4c6c3d
mov ebx, dword [esp + 0x64]
jmp 0x4c6c46
cmp bl, 0x2f
jne 0x4c6c4c
mov ebx, dword [esp + 0x64]
mov edi, esi
mov esi, edx
jmp 0x4c6bec
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4c6f0d
cmp ebp, esi
jbe 0x4c73c8
mov ebx, dword [esp + 0x64]
lea esi, [eax + ebx + 1]
cmp byte [esi], 0x2e
jne 0x4c6f09
lea esi, [eax + 2]
cmp ebp, esi
je 0x4c6c94
jbe 0x4c73bf
movzx edi, byte [eax + ebx + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4c6c94
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x4c6f05
mov edi, dword [esp + 0x7c]
cmp ecx, edi
jge 0x4c6ca6
dec edi
mov dword [esp + 0x7c], edi
jmp 0x4c7364
test dl, dl
je 0x4c6cb5
mov eax, ebx
mov ebx, ecx
mov ecx, ebp
jmp 0x4c7304
mov dword [esp + 0x3c], esi
test edi, edi
jle 0x4c6d7e
mov eax, ebx
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x4c6d5e
mov ebx, dword [esp + 0x6c]
mov ecx, ebp
mov ebp, dword [esp + 0x68]
cmp ebx, edi
jle 0x4c6cf1
add ebp, edi
cmp byte [ebp], 0x5c
jne 0x4c6cf1
lea ebx, [edi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4c6d82
mov dword [esp + 0x38], ebx
lea eax, [0x4d7300]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00443dd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x4c7350
cmp ebp, ecx
jl 0x4c6d39
mov ebp, ecx
cmp edx, eax
je 0x4c6d4d
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045a880
mov eax, dword [esp + 0x64]
movzx edx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp ecx, edi
jbe 0x4c7349
mov byte [ebx + edi], 0x5c
inc dword [esp + 0x7c]
mov ecx, ebp
jmp 0x4c6d82
mov eax, ebx
mov ecx, ebp
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x4c6e22
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebx, ebp
jge 0x4c6db5
jae 0x4c7340
add edi, ebx
cmp byte [edi], 0x2e
jne 0x4c6db5
inc ebx
mov dword [esp + 0x7c], ebx
jmp 0x4c6e3f
mov dword [esp + 0x38], ebp
lea eax, [0x4d7300]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00443dd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x4c7337
cmp ebp, ecx
jl 0x4c6dfd
mov ebp, ecx
cmp edx, eax
je 0x4c6e11
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045a880
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x40]
movzx edx, byte [esp + 0x26]
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp ebx, edi
jbe 0x4c732e
mov byte [ebp + edi], 0x2e
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x4c6edf
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebp, ebx
jle 0x4c6e72
jbe 0x4c7325
add edi, ebx
cmp byte [edi], 0x2e
jne 0x4c6e72
inc ebx
mov dword [esp + 0x7c], ebx
jmp 0x4c6efc
mov dword [esp + 0x38], ebp
lea eax, [0x4d7300]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00443dd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x4c731c
cmp ebp, ecx
jl 0x4c6eba
mov ebp, ecx
cmp edx, eax
je 0x4c6ece
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045a880
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x40]
movzx edx, byte [esp + 0x26]
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp edi, ebx
jae 0x4c7313
mov byte [ebp + edi], 0x2e
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x7c]
jmp 0x4c7304
test dl, dl
jmp 0x4c6f1b
test dl, dl
jmp 0x4c6f1b
test dl, dl
mov ebx, dword [esp + 0x64]
jmp 0x4c6f1b
xchg esi, eax
test al, al
xchg esi, eax
mov edx, esi
mov dword [esp + 0x30], ecx
je 0x4c6f30
cmp dword [esp + 0x7c], 1
jne 0x4c6f3c
test dl, dl
jne 0x4c71d1
mov esi, dword [esp + 0x7c]
test esi, esi
je 0x4c71d1
mov esi, dword [esp + 0x70]
test esi, esi
jne 0x4c6fe6
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
cmp esi, edi
jge 0x4c6f75
jae 0x4c72fb
add ebx, esi
cmp byte [ebx], 0x5c
jne 0x4c6f75
lea ebx, [esi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4c7002
mov dword [esp + 0x38], edi
lea eax, [0x4d7300]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00443dd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x4c72f2
cmp ebp, ecx
jl 0x4c6fbd
mov ebp, ecx
cmp edx, eax
je 0x4c6fd1
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045a880
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
movzx edx, byte [esp + 0x26]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x7c]
cmp ebx, esi
jae 0x4c72e9
mov byte [edi + ebx], 0x5c
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x64]
jmp 0x4c71d1
mov esi, edx
mov edi, eax
jmp 0x4c6bec
mov ebx, dword [esp + 0x7c]
test ebx, ebx
jne 0x4c70bd
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x4c70a1
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
cmp eax, ebx
jle 0x4c7045
add ebp, ebx
cmp byte [ebp], 0x2e
jne 0x4c7045
lea eax, [ebx + 1]
mov dword [esp + 0x7c], eax
jmp 0x4c70bd
mov dword [esp + 0x40], eax
lea ecx, [0x4d7300]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00443dd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x4c71bf
cmp ebp, ecx
jl 0x4c708d
mov ebp, ecx
cmp edx, eax
je 0x4c70a1
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045a880
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jae 0x4c71ba
mov byte [ebx + eax], 0x2e
inc dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
test eax, eax
je 0x4c7134
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
cmp ecx, ebx
ja 0x4c71b3
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4c71ac
mov dword [esp + 0x64], ebp
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00447480
mov dword [esp], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
call fcn.004471d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4c7151
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x7c]
cmp edx, ecx
jb 0x4c71a7
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x4e650d]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4e651d]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004aee50
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x8c
ret
call fcn.0045a050
mov ecx, ebx
call fcn.0045a070
mov edx, ebx
call fcn.0045a050
call fcn.0045a030
mov ecx, ebp
mov edx, ebx
call fcn.0045a050
inc eax
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x64]
cmp eax, ebp
jge 0x4c700b
jae 0x4c72e2
movzx esi, byte [eax + ebx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x4c700b
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
je 0x4c700b
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x4c72a9
mov dword [esp + 0x34], eax
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
cmp ebx, edi
jle 0x4c7237
jbe 0x4c72d9
add ebp, edi
xchg esi, eax
cmp byte [ebp], al
xchg esi, eax
jne 0x4c7237
lea ebx, [edi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4c71c8
mov dword [esp + 0x38], ebx
lea eax, [0x4d7300]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00443dd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x4c72d0
cmp ebp, ecx
jl 0x4c727b
mov ebp, ecx
cmp edx, eax
je 0x4c728f
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045a880
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
movzx edx, byte [esp + 0x26]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x40]
movzx esi, byte [esp + 0x27]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
cmp edi, ebp
jbe 0x4c72c7
xchg esi, eax
mov byte [ebx + ebp], al
xchg esi, eax
inc dword [esp + 0x7c]
jmp 0x4c71c8
mov eax, ebp
mov ecx, edi
call fcn.0045a030
mov ecx, ebp
mov edx, ebx
call fcn.0045a050
mov eax, edi
mov ecx, ebx
call fcn.0045a030
mov ecx, ebp
call fcn.0045a030
mov eax, ebx
mov ecx, esi
call fcn.0045a030
mov ecx, ebp
mov edx, ebx
call fcn.0045a050
mov eax, esi
mov ecx, edi
call fcn.0045a030
mov ebp, ecx
mov edi, esi
mov ecx, ebx
mov ebx, eax
mov esi, edx
jmp 0x4c6bec
mov eax, edi
mov ecx, ebx
call fcn.0045a030
mov ecx, ebp
mov edx, ebx
call fcn.0045a050
mov eax, ebx
mov ecx, ebp
call fcn.0045a030
mov eax, edi
mov ecx, ebx
call fcn.0045a030
mov ecx, ebp
mov edx, ebx
call fcn.0045a050
mov eax, ebx
mov ecx, ebp
call fcn.0045a030
mov eax, edi
call fcn.0045a030
mov ecx, ebp
mov edx, ebx
call fcn.0045a050
lea edi, [eax - 1]
mov dword [esp + 0x7c], edi
mov ebx, dword [esp + 0x64]
mov eax, dword [esp + 0x7c]
cmp ecx, eax
jge 0x4c73a6
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
test edi, edi
je 0x4c7382
cmp ebx, eax
jbe 0x4c73b8
movzx ebx, byte [edi + eax]
jmp 0x4c7392
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebx, eax
jbe 0x4c73b1
movzx ebx, byte [edi + eax]
cmp bl, 0x5c
je 0x4c73a2
cmp bl, 0x2f
jne 0x4c7359
mov ebx, dword [esp + 0x64]
jmp 0x4c73a6
mov ebx, dword [esp + 0x64]
mov eax, ebx
mov ebx, ecx
mov ecx, ebp
jmp 0x4c7304
mov ecx, ebx
call fcn.0045a030
mov ecx, ebx
call fcn.0045a030
mov eax, esi
mov ecx, ebp
call fcn.0045a030
mov eax, esi
mov ecx, ebp
call fcn.0045a030
mov eax, esi
mov ecx, ebp
call fcn.0045a030
mov ecx, ebp
call fcn.0045a030
call fcn.0045a030
mov ecx, ebp
mov edx, ebx
call fcn.0045a050
call fcn.0045a090
nop
call fcn.00458b70
jmp fcn.004c69c0