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

Disassembly:
mov ecx, dword [0x59df44]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x30]
cmp eax, dword [ecx + 8]
jbe 0x4a92f3
sub esp, 0xb0
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
call fcn.004a9580
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xb8]
cmp ecx, eax
jb 0x4a92ed
mov edx, ecx
sub ecx, eax
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebp, dword [esp + 0xb4]
lea esi, [ebp + ecx]
test ebx, ebx
je 0x4a8a4e
mov dword [esp + 0x28], eax
movzx ecx, byte [ebp + ecx]
cmp cl, 0x5c
jne 0x4a8920
mov ecx, 1
jmp 0x4a8926
cmp cl, 0x2f
sete cl
mov dword [esp + 0x40], ebx
mov dword [esp + 0x64], esi
mov byte [esp + 0x26], cl
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.00465be7
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], ebx
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa8], edx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xac], ecx
lea edi, [esp + 0x68]
mov eax, esi
lea esi, [esp + 0x8c]
call fcn.004660a6
movzx ecx, byte [esp + 0x26]
test cl, cl
je 0x4a8a45
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4a8a22
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jle 0x4a89b9
jbe 0x4a92e4
mov esi, dword [esp + 0x68]
add esi, edx
cmp byte [esi], 0x5c
jne 0x4a89b9
inc edx
mov dword [esp + 0x7c], edx
jmp 0x4a8a3e
mov dword [esp + 0x3c], ebp
lea eax, [0x4bb840]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044c530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
jb 0x4a92dd
cmp ebx, ecx
jl 0x4a89fd
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4a8a15
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004662e0
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
cmp edx, ebp
jbe 0x4a92d4
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x5c
inc dword [esp + 0x7c]
mov edx, 1
jmp 0x4a8a47
xor edx, edx
mov ebp, edx
jmp 0x4a8b08
cmp eax, 1
jle 0x4a8ac5
movzx eax, byte [ebp]
cmp al, 0x5c
je 0x4a8a61
cmp al, 0x2f
jne 0x4a8ac5
movzx eax, byte [ebp + 1]
cmp al, 0x5c
je 0x4a8a6f
cmp al, 0x2f
jne 0x4a8ac5
nop
mov dword [esp], ebp
mov dword [esp + 4], edx
lea eax, [0x4cd021]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4cd019]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004a7c70
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
lea eax, [0x4cd016]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0044ffa0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
cmp edx, ebx
jge 0x4a8f13
jae 0x4a92cb
movzx esi, byte [eax + edx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x4a8b28
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
jne 0x4a8b2b
inc edx
jmp 0x4a8b08
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x4a8e17
lea edi, [edx + 1]
cmp ebx, edi
je 0x4a8b5c
jbe 0x4a92c2
movzx eax, byte [edx + eax + 1]
cmp al, 0x5c
jne 0x4a8b53
mov eax, dword [esp + 0x64]
jmp 0x4a8b5c
cmp al, 0x2f
jne 0x4a8b60
mov eax, dword [esp + 0x64]
mov edx, edi
jmp 0x4a8b08
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x4a8e0f
cmp ebx, edi
jbe 0x4a92b9
mov esi, dword [esp + 0x64]
lea edi, [edx + esi + 1]
cmp byte [edi], 0x2e
jne 0x4a8e0b
lea eax, [edx + 2]
cmp ebx, eax
je 0x4a8ba8
jbe 0x4a92b2
movzx edi, byte [edx + esi + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4a8ba8
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x4a8e07
mov edx, dword [esp + 0x7c]
cmp ebp, edx
jge 0x4a8bba
dec edx
mov dword [esp + 0x7c], edx
jmp 0x4a9258
test cl, cl
jne 0x4a91ff
mov dword [esp + 0x38], eax
test edx, edx
jle 0x4a8c86
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x4a8c6a
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jle 0x4a8bfd
jbe 0x4a924a
mov edi, dword [esp + 0x68]
add edi, edx
cmp byte [edi], 0x5c
jne 0x4a8bfd
inc edx
mov dword [esp + 0x7c], edx
jmp 0x4a8c86
mov dword [esp + 0x3c], ebp
lea eax, [0x4bb840]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044c530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
jb 0x4a9243
cmp ebx, ecx
jl 0x4a8c41
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4a8c59
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004662e0
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
cmp edx, ebp
jbe 0x4a923a
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x5c
inc dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4a8d26
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jle 0x4a8cb9
jbe 0x4a9231
mov edi, dword [esp + 0x68]
add edi, edx
cmp byte [edi], 0x2e
jne 0x4a8cb9
inc edx
mov dword [esp + 0x7c], edx
jmp 0x4a8d42
mov dword [esp + 0x3c], ebp
lea eax, [0x4bb840]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044c530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4a922a
cmp ebx, ecx
jl 0x4a8cfd
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4a8d15
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004662e0
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
cmp edx, ebp
jbe 0x4a9221
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x2e
inc dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4a8de2
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
cmp edx, ebp
jge 0x4a8d75
jae 0x4a9218
mov edi, dword [esp + 0x68]
add edi, edx
cmp byte [edi], 0x2e
jne 0x4a8d75
inc edx
mov dword [esp + 0x7c], edx
jmp 0x4a8dfe
mov dword [esp + 0x3c], ebp
lea eax, [0x4bb840]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044c530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4a9211
cmp ebx, ecx
jl 0x4a8db9
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4a8dd1
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004662e0
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
cmp ebp, edx
jae 0x4a9208
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x2e
inc dword [esp + 0x7c]
mov ebp, dword [esp + 0x7c]
jmp 0x4a91ff
test cl, cl
jmp 0x4a8e1b
test cl, cl
jmp 0x4a8e1b
test cl, cl
mov esi, dword [esp + 0x64]
jmp 0x4a8e1b
test cl, cl
mov esi, eax
mov dword [esp + 0x30], ebp
je 0x4a8e30
cmp dword [esp + 0x7c], 1
jne 0x4a8e3c
test cl, cl
jne 0x4a90dd
mov edi, dword [esp + 0x7c]
test edi, edi
je 0x4a90dd
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x4a8eeb
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
cmp eax, edi
jge 0x4a8e7a
jae 0x4a91f8
mov ecx, dword [esp + 0x68]
add ecx, eax
cmp byte [ecx], 0x5c
jne 0x4a8e7a
lea edi, [eax + 1]
mov dword [esp + 0x7c], edi
movzx ecx, byte [esp + 0x26]
jmp 0x4a90dd
mov dword [esp + 0x3c], edi
lea eax, [0x4bb840]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.0044c530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4a91f1
cmp ebx, ecx
jl 0x4a8ebe
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4a8ed6
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004662e0
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
cmp eax, edi
jae 0x4a91ea
mov edi, dword [esp + 0x70]
mov byte [edi + eax], 0x5c
inc dword [esp + 0x7c]
jmp 0x4a90dd
mov eax, esi
jmp 0x4a8b08
mov eax, dword [esp + 0x7c]
test eax, eax
jne 0x4a8fbf
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4a8fa3
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jge 0x4a8f47
jae 0x4a90d2
mov edx, dword [esp + 0x68]
add edx, eax
cmp byte [edx], 0x2e
jne 0x4a8f47
inc eax
mov dword [esp + 0x7c], eax
jmp 0x4a8fbf
mov dword [esp + 0x40], ecx
lea eax, [0x4bb840]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044c530
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 + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4a90cb
cmp ebx, ecx
jl 0x4a8f8b
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4a8fa3
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004662e0
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jae 0x4a90c6
mov ecx, dword [esp + 0x70]
mov byte [ecx + eax], 0x2e
inc dword [esp + 0x7c]
lea eax, [esp + 0x68]
mov dword [esp], eax
call fcn.004a9f30
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4a9042
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
cmp ecx, edx
ja 0x4a90c1
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4a90ba
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x64], ecx
lea edx, [esp + 0x44]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00450240
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.0044ffa0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4a905f
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x7c]
cmp edx, ecx
jb 0x4a90b5
mov eax, dword [esp + 0x80]
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x4cd021]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4cd019]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004a7c70
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
call fcn.00465ab0
mov ecx, ebx
call fcn.00465ad0
call fcn.00465ab0
call fcn.00465a90
mov ecx, ebx
call fcn.00465ab0
call fcn.00465a90
inc edx
movzx ecx, byte [esp + 0x26]
cmp edx, ebx
jge 0x4a8f0c
movzx edi, byte [edx + esi]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4a8f0c
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
je 0x4a8f0c
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x4a91b3
mov dword [esp + 0x34], edx
xchg edi, eax
mov byte [esp + 0x27], al
xchg edi, eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jge 0x4a9141
jae 0x4a91e5
mov ebp, dword [esp + 0x68]
add ebp, eax
xchg edi, eax
cmp byte [ebp], al
xchg edi, eax
jne 0x4a9141
lea ebp, [eax + 1]
mov dword [esp + 0x7c], ebp
mov ebp, dword [esp + 0x30]
jmp 0x4a90d7
mov dword [esp + 0x3c], ecx
lea eax, [0x4bb840]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044c530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4a91de
cmp ebx, ecx
jl 0x4a9181
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4a9199
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004662e0
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x64]
movzx edi, byte [esp + 0x27]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
cmp ecx, eax
jae 0x4a91d3
mov eax, dword [esp + 0x70]
xchg edi, ebx
mov byte [eax + ecx], bl
xchg edi, ebx
inc dword [esp + 0x7c]
jmp 0x4a90d7
mov edx, eax
mov eax, ecx
mov ecx, edx
call fcn.00465a90
mov ecx, ebx
call fcn.00465ab0
call fcn.00465a90
mov ecx, edi
call fcn.00465a90
mov ecx, ebx
call fcn.00465ab0
mov ecx, edi
call fcn.00465a90
mov edx, eax
mov eax, esi
jmp 0x4a8b08
mov eax, ebp
mov ecx, edx
call fcn.00465a90
mov ecx, ebx
call fcn.00465ab0
mov eax, edx
mov ecx, ebp
call fcn.00465a90
mov eax, ebp
mov ecx, edx
call fcn.00465a90
mov ecx, ebx
call fcn.00465ab0
mov eax, edx
mov ecx, ebp
call fcn.00465a90
mov eax, ebp
mov ecx, edx
call fcn.00465a90
mov ecx, ebx
call fcn.00465ab0
mov eax, edx
mov ecx, ebp
call fcn.00465a90
dec edx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x7c]
cmp ebp, edx
jge 0x4a91ff
mov edi, dword [esp + 0x70]
test edi, edi
je 0x4a927b
mov ecx, dword [esp + 0x74]
cmp ecx, edx
jbe 0x4a92ab
movzx edi, byte [edi + edx]
movzx ecx, byte [esp + 0x26]
jmp 0x4a928b
mov edi, dword [esp + 0x6c]
cmp edi, edx
jbe 0x4a92a2
mov edi, dword [esp + 0x68]
movzx edi, byte [edi + edx]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4a91ff
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x4a9253
jmp 0x4a91ff
mov eax, edx
mov ecx, edi
call fcn.00465a90
mov eax, edx
call fcn.00465a90
mov ecx, ebx
call fcn.00465a90
mov eax, edi
mov ecx, ebx
call fcn.00465a90
mov eax, edi
mov ecx, ebx
call fcn.00465a90
mov eax, edx
mov ecx, ebx
call fcn.00465a90
mov eax, ebp
mov ecx, edx
call fcn.00465a90
mov ecx, ebx
call fcn.00465ab0
mov eax, edx
mov ecx, ebp
call fcn.00465a90
call fcn.00465af0
nop
call fcn.00464630
jmp fcn.004a88a0