Function at 0x4c0a90
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 0x4c14c5
sub esp, 0x8c
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
call fcn.004c1c20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x94]
cmp ecx, eax
jb 0x4c14bf
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 0x4c0c18
movzx ecx, byte [esi + ecx]
cmp cl, 0x5c
jne 0x4c0b0e
mov ecx, 1
jmp 0x4c0b14
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.0045f677
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 0x4c0c0f
test ecx, ecx
jne 0x4c0bec
mov edi, dword [esp + 0x68]
test ebp, ebp
je 0x4c0b85
cmp byte [edi], 0x5c
jne 0x4c0b85
mov dword [esp + 0x7c], 1
jmp 0x4c0c08
lea eax, [0x547680]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00447590
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 0x4c14b6
cmp ebp, ecx
jl 0x4c0bc9
mov ebp, ecx
cmp edx, eax
je 0x4c0be1
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fd70
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 0x4c14b1
mov byte [edi + eax], 0x5c
inc dword [esp + 0x7c]
mov eax, 1
jmp 0x4c0c11
xor eax, eax
mov ecx, eax
jmp 0x4c0cbe
cmp eax, 1
jle 0x4c0c79
cmp byte [esi + 1], 0x3a
je 0x4c0c79
nop
mov dword [esp], esi
mov dword [esp + 4], edx
lea eax, [0x55c271]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x55c29c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004bcda0
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, [0x55c270]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0044cea0
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 0x4c10e4
jae 0x4c14aa
movzx edi, byte [eax + ebx]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4c0cde
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x4c0ce3
lea edi, [eax + 1]
jmp 0x4c0cbc
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4c0fe5
mov edx, esi
lea esi, [eax + 1]
cmp ebp, esi
je 0x4c0d16
jbe 0x4c14a1
movzx ebx, byte [eax + ebx + 1]
cmp bl, 0x5c
jne 0x4c0d0d
mov ebx, dword [esp + 0x64]
jmp 0x4c0d16
cmp bl, 0x2f
jne 0x4c0d1c
mov ebx, dword [esp + 0x64]
mov edi, esi
mov esi, edx
jmp 0x4c0cbc
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4c0fdd
cmp ebp, esi
jbe 0x4c1498
mov ebx, dword [esp + 0x64]
lea esi, [eax + ebx + 1]
cmp byte [esi], 0x2e
jne 0x4c0fd9
lea esi, [eax + 2]
cmp ebp, esi
je 0x4c0d64
jbe 0x4c148f
movzx edi, byte [eax + ebx + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4c0d64
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x4c0fd5
mov edi, dword [esp + 0x7c]
cmp ecx, edi
jge 0x4c0d76
dec edi
mov dword [esp + 0x7c], edi
jmp 0x4c1434
test dl, dl
je 0x4c0d85
mov eax, ebx
mov ebx, ecx
mov ecx, ebp
jmp 0x4c13d4
mov dword [esp + 0x3c], esi
test edi, edi
jle 0x4c0e4e
mov eax, ebx
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x4c0e2e
mov ebx, dword [esp + 0x6c]
mov ecx, ebp
mov ebp, dword [esp + 0x68]
cmp ebx, edi
jle 0x4c0dc1
add ebp, edi
cmp byte [ebp], 0x5c
jne 0x4c0dc1
lea ebx, [edi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4c0e52
mov dword [esp + 0x38], ebx
lea eax, [0x547680]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00447590
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 0x4c1420
cmp ebp, ecx
jl 0x4c0e09
mov ebp, ecx
cmp edx, eax
je 0x4c0e1d
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fd70
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 0x4c1419
mov byte [ebx + edi], 0x5c
inc dword [esp + 0x7c]
mov ecx, ebp
jmp 0x4c0e52
mov eax, ebx
mov ecx, ebp
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x4c0ef2
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebx, ebp
jge 0x4c0e85
jae 0x4c1410
add edi, ebx
cmp byte [edi], 0x2e
jne 0x4c0e85
inc ebx
mov dword [esp + 0x7c], ebx
jmp 0x4c0f0f
mov dword [esp + 0x38], ebp
lea eax, [0x547680]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00447590
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 0x4c1407
cmp ebp, ecx
jl 0x4c0ecd
mov ebp, ecx
cmp edx, eax
je 0x4c0ee1
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fd70
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 0x4c13fe
mov byte [ebp + edi], 0x2e
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x4c0faf
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebp, ebx
jle 0x4c0f42
jbe 0x4c13f5
add edi, ebx
cmp byte [edi], 0x2e
jne 0x4c0f42
inc ebx
mov dword [esp + 0x7c], ebx
jmp 0x4c0fcc
mov dword [esp + 0x38], ebp
lea eax, [0x547680]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00447590
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 0x4c13ec
cmp ebp, ecx
jl 0x4c0f8a
mov ebp, ecx
cmp edx, eax
je 0x4c0f9e
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fd70
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 0x4c13e3
mov byte [ebp + edi], 0x2e
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x7c]
jmp 0x4c13d4
test dl, dl
jmp 0x4c0feb
test dl, dl
jmp 0x4c0feb
test dl, dl
mov ebx, dword [esp + 0x64]
jmp 0x4c0feb
xchg esi, eax
test al, al
xchg esi, eax
mov edx, esi
mov dword [esp + 0x30], ecx
je 0x4c1000
cmp dword [esp + 0x7c], 1
jne 0x4c100c
test dl, dl
jne 0x4c12a1
mov esi, dword [esp + 0x7c]
test esi, esi
je 0x4c12a1
mov esi, dword [esp + 0x70]
test esi, esi
jne 0x4c10b6
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
cmp esi, edi
jge 0x4c1045
jae 0x4c13cb
add ebx, esi
cmp byte [ebx], 0x5c
jne 0x4c1045
lea ebx, [esi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4c10d2
mov dword [esp + 0x38], edi
lea eax, [0x547680]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00447590
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 0x4c13c2
cmp ebp, ecx
jl 0x4c108d
mov ebp, ecx
cmp edx, eax
je 0x4c10a1
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fd70
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 0x4c13b9
mov byte [edi + ebx], 0x5c
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x64]
jmp 0x4c12a1
mov esi, edx
mov edi, eax
jmp 0x4c0cbc
mov ebx, dword [esp + 0x7c]
test ebx, ebx
jne 0x4c118d
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x4c1171
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
cmp eax, ebx
jle 0x4c1115
add ebp, ebx
cmp byte [ebp], 0x2e
jne 0x4c1115
lea eax, [ebx + 1]
mov dword [esp + 0x7c], eax
jmp 0x4c118d
mov dword [esp + 0x40], eax
lea ecx, [0x547680]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00447590
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 0x4c128f
cmp ebp, ecx
jl 0x4c115d
mov ebp, ecx
cmp edx, eax
je 0x4c1171
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fd70
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jae 0x4c128a
mov byte [ebx + eax], 0x2e
inc dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
test eax, eax
je 0x4c1204
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
cmp ecx, ebx
ja 0x4c1283
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4c127c
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.0044d150
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.0044cea0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4c1221
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x7c]
cmp edx, ecx
jb 0x4c1277
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x55c271]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x55c29c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004bcda0
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.0045f4f0
mov ecx, ebx
call fcn.0045f510
mov edx, ebx
call fcn.0045f4f0
call fcn.0045f4d0
mov ecx, ebp
mov edx, ebx
call fcn.0045f4f0
inc eax
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x64]
cmp eax, ebp
jge 0x4c10db
jae 0x4c13b2
movzx esi, byte [eax + ebx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x4c10db
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
je 0x4c10db
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x4c1379
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 0x4c1307
jbe 0x4c13a9
add ebp, edi
xchg esi, eax
cmp byte [ebp], al
xchg esi, eax
jne 0x4c1307
lea ebx, [edi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4c1298
mov dword [esp + 0x38], ebx
lea eax, [0x547680]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00447590
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 0x4c13a0
cmp ebp, ecx
jl 0x4c134b
mov ebp, ecx
cmp edx, eax
je 0x4c135f
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fd70
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 0x4c1397
xchg esi, eax
mov byte [ebx + ebp], al
xchg esi, eax
inc dword [esp + 0x7c]
jmp 0x4c1298
mov eax, ebp
mov ecx, edi
call fcn.0045f4d0
mov ecx, ebp
mov edx, ebx
call fcn.0045f4f0
mov eax, edi
mov ecx, ebx
call fcn.0045f4d0
mov ecx, ebp
call fcn.0045f4d0
mov eax, ebx
mov ecx, esi
call fcn.0045f4d0
mov ecx, ebp
mov edx, ebx
call fcn.0045f4f0
mov eax, esi
mov ecx, edi
call fcn.0045f4d0
mov ebp, ecx
mov edi, esi
mov ecx, ebx
mov ebx, eax
mov esi, edx
jmp 0x4c0cbc
mov eax, edi
mov ecx, ebx
call fcn.0045f4d0
mov ecx, ebp
mov edx, ebx
call fcn.0045f4f0
mov eax, ebx
mov ecx, ebp
call fcn.0045f4d0
mov eax, edi
mov ecx, ebx
call fcn.0045f4d0
mov ecx, ebp
mov edx, ebx
call fcn.0045f4f0
mov eax, ebx
mov ecx, ebp
call fcn.0045f4d0
mov eax, edi
call fcn.0045f4d0
mov ecx, ebp
mov edx, ebx
call fcn.0045f4f0
lea edi, [eax - 1]
mov dword [esp + 0x7c], edi
mov ebx, dword [esp + 0x64]
mov eax, dword [esp + 0x7c]
cmp ecx, eax
jge 0x4c1476
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
test edi, edi
je 0x4c1452
cmp ebx, eax
jbe 0x4c1488
movzx ebx, byte [edi + eax]
jmp 0x4c1462
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebx, eax
jbe 0x4c1481
movzx ebx, byte [edi + eax]
cmp bl, 0x5c
je 0x4c1472
cmp bl, 0x2f
jne 0x4c1429
mov ebx, dword [esp + 0x64]
jmp 0x4c1476
mov ebx, dword [esp + 0x64]
mov eax, ebx
mov ebx, ecx
mov ecx, ebp
jmp 0x4c13d4
mov ecx, ebx
call fcn.0045f4d0
mov ecx, ebx
call fcn.0045f4d0
mov eax, esi
mov ecx, ebp
call fcn.0045f4d0
mov eax, esi
mov ecx, ebp
call fcn.0045f4d0
mov eax, esi
mov ecx, ebp
call fcn.0045f4d0
mov ecx, ebp
call fcn.0045f4d0
call fcn.0045f4d0
mov ecx, ebp
mov edx, ebx
call fcn.0045f4f0
call fcn.0045f530
nop
call fcn.0045e080
jmp fcn.004c0a90