Function at 0x4f6650
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 0x4f70e9
sub esp, 0x8c
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
call fcn.004f7820
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x94]
cmp eax, ecx
ja 0x4f70e3
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 0x4f6f65
movzx ecx, byte [ecx + esi]
cmp cl, 0x5c
jne 0x4f6f5a
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.0045a8e7
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 0x4f6f53
test ecx, ecx
je 0x4f6eca
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jae 0x4f70d5
mov byte [edi + eax], 0x5c
inc dword [esp + 0x7c]
mov eax, 1
mov ecx, eax
jmp 0x4f6751
mov eax, edi
cmp ebp, eax
jle 0x4f6d22
jbe 0x4f70ce
movzx edi, byte [ebx + eax]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
jne 0x4f676f
lea edi, [eax + 1]
jmp 0x4f674f
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
je 0x4f676a
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4f6d1b
mov edx, esi
lea esi, [eax + 1]
cmp ebp, esi
jne 0x4f6790
mov edi, esi
mov esi, edx
jmp 0x4f674f
jbe 0x4f70c5
movzx ebx, byte [eax + ebx + 1]
cmp bl, 0x5c
jne 0x4f67a9
mov ebx, dword [esp + 0x90]
jmp 0x4f678a
cmp bl, 0x2f
jne 0x4f67b7
mov ebx, dword [esp + 0x90]
jmp 0x4f678a
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4f6d0d
lea ebx, [eax + 1]
cmp ebp, ebx
jbe 0x4f70bc
mov ebx, dword [esp + 0x90]
lea esi, [eax + ebx + 1]
cmp byte [esi], 0x2e
jne 0x4f6d06
lea esi, [eax + 2]
cmp ebp, esi
jne 0x4f6ac3
mov edi, dword [esp + 0x7c]
cmp edi, ecx
jle 0x4f6859
dec edi
mov dword [esp + 0x7c], edi
jmp 0x4f6809
lea edi, [eax - 1]
mov dword [esp + 0x7c], edi
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jle 0x4f6833
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
test edi, edi
je 0x4f6843
cmp eax, ebx
jae 0x4f70ac
movzx ebx, byte [edi + eax]
cmp bl, 0x5c
je 0x4f6833
cmp bl, 0x2f
jne 0x4f67fb
mov ebx, dword [esp + 0x90]
mov edi, esi
mov esi, edx
jmp 0x4f674f
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp eax, ebx
jae 0x4f70a5
movzx ebx, byte [edi + eax]
jmp 0x4f6829
test dl, dl
jne 0x4f6833
mov dword [esp + 0x3c], esi
test edi, edi
jle 0x4f6abc
mov eax, ebx
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x4f6a21
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp edi, ecx
jae 0x4f7095
mov byte [ebx + edi], 0x5c
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x4f6983
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp edi, ecx
jae 0x4f707e
mov byte [ebx + edi], 0x2e
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x4f68e8
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp ecx, edi
jbe 0x4f7067
mov byte [ebx + edi], 0x2e
inc dword [esp + 0x7c]
mov ecx, dword [esp + 0x7c]
jmp 0x4f6833
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ebx, ecx
jge 0x4f690c
jae 0x4f7077
add edi, ebx
cmp byte [edi], 0x2e
jne 0x4f690c
inc ebx
mov dword [esp + 0x7c], ebx
jmp 0x4f68df
mov dword [esp + 0x38], ecx
lea eax, [0x51b4a0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00442650
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 0x4f706e
cmp ecx, ebp
jle 0x4f697f
cmp edx, eax
je 0x4f6966
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aff0
mov eax, dword [esp + 0x90]
movzx edx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x4f68c3
mov ebp, ecx
jmp 0x4f6952
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ecx, ebx
jle 0x4f69aa
jbe 0x4f708e
add edi, ebx
cmp byte [edi], 0x2e
jne 0x4f69aa
inc ebx
mov dword [esp + 0x7c], ebx
jmp 0x4f68bb
mov dword [esp + 0x38], ecx
lea eax, [0x51b4a0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00442650
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 0x4f7085
cmp ecx, ebp
jle 0x4f6a1d
cmp edx, eax
je 0x4f6a04
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aff0
mov eax, dword [esp + 0x90]
movzx edx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x4f689f
mov ebp, ecx
jmp 0x4f69f0
mov ebx, dword [esp + 0x6c]
mov ecx, ebp
mov ebp, dword [esp + 0x68]
cmp edi, ebx
jge 0x4f6a45
add ebp, edi
cmp byte [ebp], 0x5c
jne 0x4f6a45
lea ebx, [edi + 1]
mov dword [esp + 0x7c], ebx
mov ebp, ecx
jmp 0x4f6893
mov dword [esp + 0x38], ebx
lea eax, [0x51b4a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00442650
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 0x4f709c
cmp ebp, ecx
jge 0x4f6ab8
cmp eax, edx
je 0x4f6a9f
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aff0
mov eax, dword [esp + 0x90]
movzx edx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp 0x4f6877
mov ebp, ecx
jmp 0x4f6a8b
mov eax, ebx
jmp 0x4f6893
jbe 0x4f70b3
movzx edi, byte [eax + ebx + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4f67ec
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
je 0x4f67ec
test dl, dl
mov dword [esp + 0x30], ecx
je 0x4f6cef
cmp dword [esp + 0x7c], 1
je 0x4f6ced
mov esi, dword [esp + 0x70]
test esi, esi
je 0x4f6c45
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x7c]
cmp esi, ebx
jbe 0x4f704c
mov byte [edi + ebx], 0x5c
inc dword [esp + 0x7c]
mov ebx, dword [esp + 0x90]
jmp 0x4f6b38
inc eax
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x90]
cmp ebp, eax
jle 0x4f6c3c
jbe 0x4f7045
movzx esi, byte [eax + ebx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x4f6c3c
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
je 0x4f6c3c
mov edi, dword [esp + 0x70]
test edi, edi
je 0x4f6b87
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
cmp ebp, edi
jae 0x4f702a
xchg esi, eax
mov byte [ebx + ebp], al
xchg esi, eax
inc dword [esp + 0x7c]
jmp 0x4f6b2c
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 0x4f6bbc
jae 0x4f703c
add ebp, edi
xchg esi, eax
cmp byte [ebp], al
xchg esi, eax
jne 0x4f6bbc
lea ebx, [edi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4f6b2c
mov dword [esp + 0x38], ebx
lea eax, [0x51b4a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00442650
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 0x4f7033
cmp ebp, ecx
jge 0x4f6c38
cmp eax, edx
je 0x4f6c16
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aff0
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 0x4f6b68
mov ebp, ecx
jmp 0x4f6c02
mov esi, edx
mov edi, eax
jmp 0x4f674f
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
cmp edi, esi
jle 0x4f6c72
jbe 0x4f705e
add ebx, esi
cmp byte [ebx], 0x5c
jne 0x4f6c72
lea ebx, [esi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4f6b23
mov dword [esp + 0x38], edi
lea eax, [0x51b4a0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00442650
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 0x4f7055
cmp ecx, ebp
jle 0x4f6ce9
cmp edx, eax
je 0x4f6ccc
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aff0
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 0x4f6b07
mov ebp, ecx
jmp 0x4f6cb8
test dl, dl
jne 0x4f6b23
mov esi, dword [esp + 0x7c]
test esi, esi
jne 0x4f6afb
jmp 0x4f6b23
test dl, dl
jmp 0x4f6ae6
test dl, dl
mov ebx, dword [esp + 0x90]
jmp 0x4f6ae6
mov edx, esi
jmp 0x4f67bc
mov ebx, dword [esp + 0x7c]
test ebx, ebx
jne 0x4f6d52
mov ebp, dword [esp + 0x70]
test ebp, ebp
je 0x4f6e43
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp ecx, eax
jbe 0x4f701c
mov byte [ebx + eax], 0x2e
inc dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
test eax, eax
je 0x4f6e21
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
cmp ebx, ecx
jb 0x4f7010
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
jb 0x4f7009
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.00445ca0
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.00445b20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5347dc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5347ec]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004b4ab0
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 0x4f6dcb
jmp 0x4f7017
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
cmp eax, ebx
jle 0x4f6e63
add ebp, ebx
cmp byte [ebp], 0x2e
jne 0x4f6e63
lea eax, [ebx + 1]
mov dword [esp + 0x7c], eax
jmp 0x4f6d52
mov dword [esp + 0x40], eax
lea ecx, [0x51b4a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00442650
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 0x4f7021
cmp ecx, ebp
jle 0x4f6ec6
cmp edx, eax
je 0x4f6d36
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aff0
jmp 0x4f6d36
mov ebp, ecx
jmp 0x4f6ea9
mov edi, dword [esp + 0x68]
test ebp, ebp
jle 0x4f6ee4
cmp byte [edi], 0x5c
jne 0x4f6ee4
mov dword [esp + 0x7c], 1
jmp 0x4f6746
lea eax, [0x51b4a0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00442650
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 0x4f70da
cmp ecx, ebp
jle 0x4f6f4f
cmp eax, edx
je 0x4f6f3a
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045aff0
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x40]
movzx esi, byte [esp + 0x26]
jmp 0x4f672a
mov ebp, ecx
jmp 0x4f6f26
xor eax, eax
jmp 0x4f674b
cmp cl, 0x2f
sete cl
jmp 0x4f66d0
cmp eax, 1
jle 0x4f6f70
cmp byte [esi + 1], 0x3a
jne 0x4f6fb3
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], edx
lea eax, [0x5347db]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.00445b20
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, [0x5347dc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5347ec]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004b4ab0
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.0045a740
mov edx, ebx
call fcn.0045a720
call fcn.0045a720
call fcn.0045a700
mov ecx, ebp
mov edx, ebx
call fcn.0045a720
mov eax, ebp
mov ecx, edi
call fcn.0045a700
mov ecx, ebp
mov edx, ebx
call fcn.0045a720
mov eax, edi
mov ecx, ebx
call fcn.0045a700
mov ecx, ebp
call fcn.0045a700
mov eax, ebx
mov ecx, esi
call fcn.0045a700
mov ecx, ebp
mov edx, ebx
call fcn.0045a720
mov eax, esi
mov ecx, edi
call fcn.0045a700
mov eax, edi
call fcn.0045a700
mov ecx, ebp
mov edx, ebx
call fcn.0045a720
mov eax, ebx
call fcn.0045a700
mov eax, edi
call fcn.0045a700
mov ecx, ebp
mov edx, ebx
call fcn.0045a720
mov eax, ebx
call fcn.0045a700
mov eax, edi
call fcn.0045a700
mov ecx, ebp
mov edx, ebx
call fcn.0045a720
mov ecx, ebx
call fcn.0045a700
mov ecx, ebx
call fcn.0045a700
mov eax, esi
mov ecx, ebp
call fcn.0045a700
mov eax, ebx
mov ecx, ebp
call fcn.0045a700
mov eax, esi
mov ecx, ebp
call fcn.0045a700
mov ecx, ebp
call fcn.0045a700
call fcn.0045a700
mov ecx, ebp
mov edx, ebx
call fcn.0045a720
call fcn.0045a760
nop
call fcn.00459120
jmp fcn.004f6650