Function at 0x4c15f0
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 0x4c208d
sub esp, 0x8c
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
call fcn.004c2380
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x94]
cmp eax, ecx
ja 0x4c2087
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 0x4c1f09
movzx ecx, byte [esi + ecx]
cmp cl, 0x5c
jne 0x4c1efe
mov ecx, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x90], ebx
mov byte [esp + 0x26], cl
lea edi, [esp + 0x68]
xor eax, eax
call fcn.0045a357
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 0x4c1ef7
test ecx, ecx
je 0x4c1e6e
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jae 0x4c2079
mov byte [edi + eax], 0x5c
inc dword [esp + 0x7c]
mov eax, 1
mov ecx, eax
jmp 0x4c16f1
mov eax, edi
cmp ebp, eax
jle 0x4c1cc6
jbe 0x4c2072
movzx edi, byte [eax + ebx]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
jne 0x4c170f
lea edi, [eax + 1]
jmp 0x4c16ef
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
je 0x4c170a
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4c1cbf
mov edx, esi
lea esi, [eax + 1]
cmp ebp, esi
jne 0x4c1730
mov edi, esi
mov esi, edx
jmp 0x4c16ef
jbe 0x4c2069
movzx ebx, byte [eax + ebx + 1]
cmp bl, 0x5c
jne 0x4c1749
mov ebx, dword [esp + 0x90]
jmp 0x4c172a
cmp bl, 0x2f
jne 0x4c1757
mov ebx, dword [esp + 0x90]
jmp 0x4c172a
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4c1cb1
lea ebx, [eax + 1]
cmp ebp, ebx
jbe 0x4c2060
mov ebx, dword [esp + 0x90]
lea esi, [eax + ebx + 1]
cmp byte [esi], 0x2e
jne 0x4c1caa
lea esi, [eax + 2]
cmp ebp, esi
jne 0x4c1a63
mov edi, dword [esp + 0x7c]
cmp edi, ecx
jle 0x4c17f9
dec edi
mov dword [esp + 0x7c], edi
jmp 0x4c17a9
lea edi, [eax - 1]
mov dword [esp + 0x7c], edi
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jle 0x4c17d3
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
test edi, edi
je 0x4c17e3
cmp eax, ebx
jae 0x4c2050
movzx ebx, byte [edi + eax]
cmp bl, 0x5c
je 0x4c17d3
cmp bl, 0x2f
jne 0x4c179b
mov ebx, dword [esp + 0x90]
mov edi, esi
mov esi, edx
jmp 0x4c16ef
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp eax, ebx
jae 0x4c2049
movzx ebx, byte [edi + eax]
jmp 0x4c17c9
test dl, dl
jne 0x4c17d3
mov dword [esp + 0x3c], esi
test edi, edi
jle 0x4c1a5c
mov eax, ebx
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x4c19c1
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp ecx, edi
jbe 0x4c2039
mov byte [ebx + edi], 0x5c
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x4c1923
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp edi, ecx
jae 0x4c2022
mov byte [ebx + edi], 0x2e
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x4c1888
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp ecx, edi
jbe 0x4c200b
mov byte [ebx + edi], 0x2e
inc dword [esp + 0x7c]
mov ecx, dword [esp + 0x7c]
jmp 0x4c17d3
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ecx, ebx
jle 0x4c18ac
jbe 0x4c201b
add edi, ebx
cmp byte [edi], 0x2e
jne 0x4c18ac
inc ebx
mov dword [esp + 0x7c], ebx
jmp 0x4c187f
mov dword [esp + 0x38], ecx
lea eax, [0x550e80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00441b50
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 0x4c2012
cmp ecx, ebp
jle 0x4c191f
cmp eax, edx
je 0x4c1906
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aa60
mov eax, dword [esp + 0x90]
movzx edx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x4c1863
mov ebp, ecx
jmp 0x4c18f2
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebx, ecx
jge 0x4c194a
jae 0x4c2032
add edi, ebx
cmp byte [edi], 0x2e
jne 0x4c194a
inc ebx
mov dword [esp + 0x7c], ebx
jmp 0x4c185b
mov dword [esp + 0x38], ecx
lea eax, [0x550e80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00441b50
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 0x4c2029
cmp ebp, ecx
jge 0x4c19bd
cmp eax, edx
je 0x4c19a4
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aa60
mov eax, dword [esp + 0x90]
movzx edx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x4c183f
mov ebp, ecx
jmp 0x4c1990
mov ebx, dword [esp + 0x6c]
mov ecx, ebp
mov ebp, dword [esp + 0x68]
cmp edi, ebx
jge 0x4c19e5
add ebp, edi
cmp byte [ebp], 0x5c
jne 0x4c19e5
lea ebx, [edi + 1]
mov dword [esp + 0x7c], ebx
mov ebp, ecx
jmp 0x4c1833
mov dword [esp + 0x38], ebx
lea eax, [0x550e80]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00441b50
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 0x4c2040
cmp ecx, ebp
jle 0x4c1a58
cmp eax, edx
je 0x4c1a3f
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aa60
mov eax, dword [esp + 0x90]
movzx edx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x4c1817
mov ebp, ecx
jmp 0x4c1a2b
mov eax, ebx
jmp 0x4c1833
jbe 0x4c2057
movzx edi, byte [eax + ebx + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4c178c
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
je 0x4c178c
test dl, dl
mov dword [esp + 0x30], ecx
je 0x4c1c93
cmp dword [esp + 0x7c], 1
je 0x4c1c91
mov esi, dword [esp + 0x70]
test esi, esi
je 0x4c1be9
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x7c]
cmp ebx, esi
jae 0x4c1ff0
mov byte [edi + ebx], 0x5c
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x90]
jmp 0x4c1adc
inc eax
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x90]
mov ebx, edi
mov ebp, esi
cmp ebp, eax
jle 0x4c1be0
jbe 0x4c1fe9
movzx esi, byte [eax + ebx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x4c1be0
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
je 0x4c1be0
mov edi, dword [esp + 0x70]
test edi, edi
je 0x4c1b2b
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
cmp edi, ebp
jbe 0x4c1fce
xchg esi, eax
mov byte [ebx + ebp], al
xchg esi, eax
inc dword [esp + 0x7c]
jmp 0x4c1acc
mov dword [esp + 0x2c], 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 edi, ebx
jge 0x4c1b60
jae 0x4c1fe0
add ebp, edi
xchg esi, eax
cmp byte [ebp], al
xchg esi, eax
jne 0x4c1b60
lea ebx, [edi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4c1acc
mov dword [esp + 0x38], ebx
lea eax, [0x550e80]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00441b50
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 0x4c1fd7
cmp ecx, ebp
jle 0x4c1bdc
cmp edx, eax
je 0x4c1bba
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aa60
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
movzx edx, byte [esp + 0x26]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x40]
movzx esi, byte [esp + 0x27]
jmp 0x4c1b0c
mov ebp, ecx
jmp 0x4c1ba6
mov esi, edx
mov edi, eax
jmp 0x4c16ef
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
cmp esi, edi
jge 0x4c1c16
jae 0x4c2002
add ebx, esi
cmp byte [ebx], 0x5c
jne 0x4c1c16
lea ebx, [esi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4c1ac3
mov dword [esp + 0x38], edi
lea eax, [0x550e80]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00441b50
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 0x4c1ff9
cmp ebp, ecx
jge 0x4c1c8d
cmp eax, edx
je 0x4c1c70
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aa60
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
movzx edx, byte [esp + 0x26]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x40]
jmp 0x4c1aa7
mov ebp, ecx
jmp 0x4c1c5c
test dl, dl
jne 0x4c1ac3
mov esi, dword [esp + 0x7c]
test esi, esi
jne 0x4c1a9b
jmp 0x4c1ac3
test dl, dl
jmp 0x4c1a86
test dl, dl
mov ebx, dword [esp + 0x90]
jmp 0x4c1a86
mov edx, esi
jmp 0x4c175c
mov ebx, dword [esp + 0x7c]
test ebx, ebx
jne 0x4c1cf6
mov ebp, dword [esp + 0x70]
test ebp, ebp
je 0x4c1de7
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp ecx, eax
jbe 0x4c1fc0
mov byte [ebx + eax], 0x2e
inc dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
test eax, eax
je 0x4c1dc5
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
cmp ebx, ecx
jb 0x4c1fb4
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
jb 0x4c1fad
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.00445140
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.00444fc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x57665f]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x576676]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004bcd50
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 edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x7c]
cmp edx, ecx
jae 0x4c1d6f
jmp 0x4c1fbb
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
cmp eax, ebx
jle 0x4c1e07
add ebp, ebx
cmp byte [ebp], 0x2e
jne 0x4c1e07
lea eax, [ebx + 1]
mov dword [esp + 0x7c], eax
jmp 0x4c1cf6
mov dword [esp + 0x40], eax
lea ecx, [0x550e80]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00441b50
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 0x4c1fc5
cmp ecx, ebp
jle 0x4c1e6a
cmp edx, eax
je 0x4c1cda
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aa60
jmp 0x4c1cda
mov ebp, ecx
jmp 0x4c1e4d
mov edi, dword [esp + 0x68]
test ebp, ebp
jle 0x4c1e88
cmp byte [edi], 0x5c
jne 0x4c1e88
mov dword [esp + 0x7c], 1
jmp 0x4c16e6
lea eax, [0x550e80]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00441b50
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 0x4c207e
cmp ecx, ebp
jle 0x4c1ef3
cmp eax, edx
je 0x4c1ede
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aa60
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x40]
movzx esi, byte [esp + 0x26]
jmp 0x4c16ca
mov ebp, ecx
jmp 0x4c1eca
xor eax, eax
jmp 0x4c16eb
cmp cl, 0x2f
sete cl
jmp 0x4c1670
cmp eax, 1
jle 0x4c1f14
cmp byte [esi + 1], 0x3a
jne 0x4c1f57
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], edx
lea eax, [0x57665e]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.00444fc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x8c
ret
nop
mov dword [esp], esi
mov dword [esp + 4], edx
lea eax, [0x57665f]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x576676]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004bcd50
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 ecx, ebx
call fcn.0045a1b0
mov edx, ebx
call fcn.0045a190
call fcn.0045a190
call fcn.0045a170
mov ecx, ebp
mov edx, ebx
call fcn.0045a190
mov eax, ebp
mov ecx, edi
call fcn.0045a170
mov ecx, ebp
mov edx, ebx
call fcn.0045a190
mov eax, edi
mov ecx, ebx
call fcn.0045a170
mov ecx, ebp
call fcn.0045a170
mov eax, ebx
mov ecx, esi
call fcn.0045a170
mov ecx, ebp
mov edx, ebx
call fcn.0045a190
mov eax, esi
mov ecx, edi
call fcn.0045a170
mov eax, edi
call fcn.0045a170
mov ecx, ebp
mov edx, ebx
call fcn.0045a190
mov eax, ebx
call fcn.0045a170
mov eax, edi
call fcn.0045a170
mov ecx, ebp
mov edx, ebx
call fcn.0045a190
mov eax, ebx
call fcn.0045a170
mov eax, edi
call fcn.0045a170
mov ecx, ebp
mov edx, ebx
call fcn.0045a190
mov ecx, ebx
call fcn.0045a170
mov ecx, ebx
call fcn.0045a170
mov eax, esi
mov ecx, ebp
call fcn.0045a170
mov eax, ebx
mov ecx, ebp
call fcn.0045a170
mov eax, esi
mov ecx, ebp
call fcn.0045a170
mov ecx, ebp
call fcn.0045a170
call fcn.0045a170
mov ecx, ebp
mov edx, ebx
call fcn.0045a190
call fcn.0045a1d0
nop
call fcn.00458ba0
jmp fcn.004c15f0