Function at 0x4cac80
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 0x4cb719
sub esp, 0x8c
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
call fcn.004cb850
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x94]
cmp eax, ecx
ja 0x4cb713
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, [ecx + esi]
test ebp, ebp
je 0x4cb595
movzx ecx, byte [ecx + esi]
cmp cl, 0x5c
jne 0x4cb58a
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.0045e497
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 0x4cb583
test ecx, ecx
je 0x4cb4fa
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jae 0x4cb705
mov byte [edi + eax], 0x5c
inc dword [esp + 0x7c]
mov eax, 1
mov ecx, eax
jmp 0x4cad81
mov eax, edi
cmp ebp, eax
jle 0x4cb352
jbe 0x4cb6fe
movzx edi, byte [ebx + eax]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
jne 0x4cad9f
lea edi, [eax + 1]
jmp 0x4cad7f
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
je 0x4cad9a
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4cb34b
mov edx, esi
lea esi, [eax + 1]
cmp ebp, esi
jne 0x4cadc0
mov edi, esi
mov esi, edx
jmp 0x4cad7f
jbe 0x4cb6f5
movzx ebx, byte [eax + ebx + 1]
cmp bl, 0x5c
jne 0x4cadd9
mov ebx, dword [esp + 0x90]
jmp 0x4cadba
cmp bl, 0x2f
jne 0x4cade7
mov ebx, dword [esp + 0x90]
jmp 0x4cadba
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4cb33d
lea ebx, [eax + 1]
cmp ebp, ebx
jbe 0x4cb6ec
mov ebx, dword [esp + 0x90]
lea esi, [eax + ebx + 1]
cmp byte [esi], 0x2e
jne 0x4cb336
lea esi, [eax + 2]
cmp ebp, esi
jne 0x4cb0f3
mov edi, dword [esp + 0x7c]
cmp edi, ecx
jle 0x4cae89
dec edi
mov dword [esp + 0x7c], edi
jmp 0x4cae39
lea edi, [eax - 1]
mov dword [esp + 0x7c], edi
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jle 0x4cae63
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
test edi, edi
je 0x4cae73
cmp eax, ebx
jae 0x4cb6dc
movzx ebx, byte [edi + eax]
cmp bl, 0x5c
je 0x4cae63
cmp bl, 0x2f
jne 0x4cae2b
mov ebx, dword [esp + 0x90]
mov edi, esi
mov esi, edx
jmp 0x4cad7f
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp eax, ebx
jae 0x4cb6d5
movzx ebx, byte [edi + eax]
jmp 0x4cae59
test dl, dl
jne 0x4cae63
mov dword [esp + 0x3c], esi
test edi, edi
jle 0x4cb0ec
mov eax, ebx
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x4cb051
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp edi, ecx
jae 0x4cb6c5
mov byte [ebx + edi], 0x5c
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x4cafb3
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp edi, ecx
jae 0x4cb6ae
mov byte [ebx + edi], 0x2e
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x4caf18
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp ecx, edi
jbe 0x4cb697
mov byte [ebx + edi], 0x2e
inc dword [esp + 0x7c]
mov ecx, dword [esp + 0x7c]
jmp 0x4cae63
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebx, ecx
jge 0x4caf3c
jae 0x4cb6a7
add edi, ebx
cmp byte [edi], 0x2e
jne 0x4caf3c
inc ebx
mov dword [esp + 0x7c], ebx
jmp 0x4caf0f
mov dword [esp + 0x38], ecx
lea eax, [0x5a5da0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004451f0
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 0x4cb69e
cmp ecx, ebp
jle 0x4cafaf
cmp edx, eax
je 0x4caf96
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045eba0
mov eax, dword [esp + 0x90]
movzx edx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x4caef3
mov ebp, ecx
jmp 0x4caf82
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ecx, ebx
jle 0x4cafda
jbe 0x4cb6be
add edi, ebx
cmp byte [edi], 0x2e
jne 0x4cafda
inc ebx
mov dword [esp + 0x7c], ebx
jmp 0x4caeeb
mov dword [esp + 0x38], ecx
lea eax, [0x5a5da0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004451f0
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 0x4cb6b5
cmp ecx, ebp
jle 0x4cb04d
cmp edx, eax
je 0x4cb034
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045eba0
mov eax, dword [esp + 0x90]
movzx edx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x4caecf
mov ebp, ecx
jmp 0x4cb020
mov ebx, dword [esp + 0x6c]
mov ecx, ebp
mov ebp, dword [esp + 0x68]
cmp edi, ebx
jge 0x4cb075
add ebp, edi
cmp byte [ebp], 0x5c
jne 0x4cb075
lea ebx, [edi + 1]
mov dword [esp + 0x7c], ebx
mov ebp, ecx
jmp 0x4caec3
mov dword [esp + 0x38], ebx
lea eax, [0x5a5da0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.004451f0
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 0x4cb6cc
cmp ebp, ecx
jge 0x4cb0e8
cmp eax, edx
je 0x4cb0cf
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045eba0
mov eax, dword [esp + 0x90]
movzx edx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x4caea7
mov ebp, ecx
jmp 0x4cb0bb
mov eax, ebx
jmp 0x4caec3
jbe 0x4cb6e3
movzx edi, byte [eax + ebx + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4cae1c
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
je 0x4cae1c
test dl, dl
mov dword [esp + 0x30], ecx
je 0x4cb31f
cmp dword [esp + 0x7c], 1
je 0x4cb31d
mov esi, dword [esp + 0x70]
test esi, esi
je 0x4cb275
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x7c]
cmp esi, ebx
jbe 0x4cb67c
mov byte [edi + ebx], 0x5c
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x90]
jmp 0x4cb168
inc eax
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x90]
cmp ebp, eax
jle 0x4cb26c
jbe 0x4cb675
movzx esi, byte [eax + ebx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x4cb26c
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
je 0x4cb26c
mov edi, dword [esp + 0x70]
test edi, edi
je 0x4cb1b7
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
cmp ebp, edi
jae 0x4cb65a
xchg esi, eax
mov byte [ebx + ebp], al
xchg esi, eax
inc dword [esp + 0x7c]
jmp 0x4cb15c
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 0x4cb1ec
jae 0x4cb66c
add ebp, edi
xchg esi, eax
cmp byte [ebp], al
xchg esi, eax
jne 0x4cb1ec
lea ebx, [edi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4cb15c
mov dword [esp + 0x38], ebx
lea eax, [0x5a5da0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.004451f0
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 0x4cb663
cmp ebp, ecx
jge 0x4cb268
cmp eax, edx
je 0x4cb246
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045eba0
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 0x4cb198
mov ebp, ecx
jmp 0x4cb232
mov esi, edx
mov edi, eax
jmp 0x4cad7f
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
cmp edi, esi
jle 0x4cb2a2
jbe 0x4cb68e
add ebx, esi
cmp byte [ebx], 0x5c
jne 0x4cb2a2
lea ebx, [esi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4cb153
mov dword [esp + 0x38], edi
lea eax, [0x5a5da0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.004451f0
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 0x4cb685
cmp ecx, ebp
jle 0x4cb319
cmp edx, eax
je 0x4cb2fc
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045eba0
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 0x4cb137
mov ebp, ecx
jmp 0x4cb2e8
test dl, dl
jne 0x4cb153
mov esi, dword [esp + 0x7c]
test esi, esi
jne 0x4cb12b
jmp 0x4cb153
test dl, dl
jmp 0x4cb116
test dl, dl
mov ebx, dword [esp + 0x90]
jmp 0x4cb116
mov edx, esi
jmp 0x4cadec
mov ebx, dword [esp + 0x7c]
test ebx, ebx
jne 0x4cb382
mov ebp, dword [esp + 0x70]
test ebp, ebp
je 0x4cb473
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp ecx, eax
jbe 0x4cb64c
mov byte [ebx + eax], 0x2e
inc dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
test eax, eax
je 0x4cb451
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
cmp ebx, ecx
jb 0x4cb640
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
jb 0x4cb639
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.00448840
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.004486c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5cfd1d]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5cfd2d]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004c4de0
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 0x4cb3fb
jmp 0x4cb647
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
cmp eax, ebx
jle 0x4cb493
add ebp, ebx
cmp byte [ebp], 0x2e
jne 0x4cb493
lea eax, [ebx + 1]
mov dword [esp + 0x7c], eax
jmp 0x4cb382
mov dword [esp + 0x40], eax
lea ecx, [0x5a5da0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.004451f0
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 0x4cb651
cmp ecx, ebp
jle 0x4cb4f6
cmp edx, eax
je 0x4cb366
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045eba0
jmp 0x4cb366
mov ebp, ecx
jmp 0x4cb4d9
mov edi, dword [esp + 0x68]
test ebp, ebp
jle 0x4cb514
cmp byte [edi], 0x5c
jne 0x4cb514
mov dword [esp + 0x7c], 1
jmp 0x4cad76
lea eax, [0x5a5da0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.004451f0
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 0x4cb70a
cmp ecx, ebp
jle 0x4cb57f
cmp eax, edx
je 0x4cb56a
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045eba0
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x40]
movzx esi, byte [esp + 0x26]
jmp 0x4cad5a
mov ebp, ecx
jmp 0x4cb556
xor eax, eax
jmp 0x4cad7b
cmp cl, 0x2f
sete cl
jmp 0x4cad00
cmp eax, 1
jle 0x4cb5a0
cmp byte [esi + 1], 0x3a
jne 0x4cb5e3
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], edx
lea eax, [0x5cfd1c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.004486c0
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, [0x5cfd1d]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5cfd2d]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004c4de0
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.0045e2e0
mov edx, ebx
call fcn.0045e2c0
call fcn.0045e2c0
call fcn.0045e2a0
mov ecx, ebp
mov edx, ebx
call fcn.0045e2c0
mov eax, ebp
mov ecx, edi
call fcn.0045e2a0
mov ecx, ebp
mov edx, ebx
call fcn.0045e2c0
mov eax, edi
mov ecx, ebx
call fcn.0045e2a0
mov ecx, ebp
call fcn.0045e2a0
mov eax, ebx
mov ecx, esi
call fcn.0045e2a0
mov ecx, ebp
mov edx, ebx
call fcn.0045e2c0
mov eax, esi
mov ecx, edi
call fcn.0045e2a0
mov eax, edi
call fcn.0045e2a0
mov ecx, ebp
mov edx, ebx
call fcn.0045e2c0
mov eax, ebx
call fcn.0045e2a0
mov eax, edi
call fcn.0045e2a0
mov ecx, ebp
mov edx, ebx
call fcn.0045e2c0
mov eax, ebx
call fcn.0045e2a0
mov eax, edi
call fcn.0045e2a0
mov ecx, ebp
mov edx, ebx
call fcn.0045e2c0
mov ecx, ebx
call fcn.0045e2a0
mov ecx, ebx
call fcn.0045e2a0
mov eax, esi
mov ecx, ebp
call fcn.0045e2a0
mov eax, ebx
mov ecx, ebp
call fcn.0045e2a0
mov eax, esi
mov ecx, ebp
call fcn.0045e2a0
mov ecx, ebp
call fcn.0045e2a0
call fcn.0045e2a0
mov ecx, ebp
mov edx, ebx
call fcn.0045e2c0
call fcn.0045e300
nop
call fcn.0045ccc0
jmp fcn.004cac80