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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4f9e66
add esp, 0xffffff80
lea eax, [0x5f24c0]
mov dword [esp], eax
call fcn.0040bd40
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
call fcn.004fa3c0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
jmp 0x4f9829
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call fcn.004fa3c0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test al, al
je 0x4f98a5
mov dword [esp + 0x54], ecx
mov dword [esp + 0x30], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov byte [esp + 8], 0x23
call fcn.00402ac0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xffffffff
je 0x4f985c
mov edx, dword [esp + 0x30]
cmp edx, ecx
jae 0x4f9860
jmp 0x4f9e60
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x54]
jmp 0x4f98c3
test ecx, ecx
je 0x4f980d
mov dword [esp + 0x30], ecx
mov dword [esp + 0x54], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov byte [esp + 8], 0x3a
call fcn.00402ac0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xffffffff
je 0x4f9907
mov edx, dword [esp + 0x30]
cmp edx, ecx
jb 0x4f9e5b
mov eax, dword [esp + 0x54]
mov ebx, ecx
mov ebp, eax
jmp 0x4f9966
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x88], eax
sub esp, 0xffffff80
ret
dec ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
add eax, ecx
mov ecx, edx
test ecx, ecx
je 0x4f98e1
movzx edx, byte [eax]
cmp dl, 0x20
je 0x4f98b4
cmp dl, 9
je 0x4f98b4
cmp dl, 0xa
je 0x4f98b4
cmp dl, 0xd
je 0x4f98b4
jmp 0x4f98e1
dec ecx
test ecx, ecx
je 0x4f980d
movzx edx, byte [eax + ecx - 1]
cmp dl, 0x20
je 0x4f98e0
cmp dl, 9
je 0x4f98e0
cmp dl, 0xa
je 0x4f98e0
cmp dl, 0xd
je 0x4f98e0
jmp 0x4f9866
lea eax, [0x5e8460]
mov dword [esp], eax
call fcn.0040bd40
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x10
lea ecx, [0x60f3af]
mov dword [eax], ecx
lea ecx, [0x661abc]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x14], ecx
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x4f9944
mov dword [edx + 0x18], eax
jmp 0x4f994c
lea edi, [edx + 0x18]
call fcn.00463730
mov dword [esp + 0x88], edx
sub esp, 0xffffff80
ret
dec ecx
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
add eax, ecx
mov ecx, esi
test ecx, ecx
je 0x4f998c
movzx esi, byte [eax]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x4f9957
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x4f9957
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x4f9957
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x4f9957
jmp 0x4f998c
dec ecx
test ecx, ecx
je 0x4f99b1
movzx esi, byte [eax + ecx - 1]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x4f998b
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x4f998b
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x4f998b
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x4f998b
lea esi, [ebx + 1]
cmp edx, esi
jb 0x4f9e52
mov dword [esp + 0x20], ecx
mov dword [esp + 0x48], eax
sub edx, ebx
dec edx
mov ebx, edx
neg edx
sar edx, 0x1f
and esi, edx
lea edx, [ebp + esi]
jmp 0x4f99e6
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x64]
jmp 0x4f9c7f
test ebx, ebx
je 0x4f980d
mov dword [esp + 0x50], edx
mov dword [esp + 0x28], ebx
mov dword [esp], edx
mov dword [esp + 4], ebx
mov byte [esp + 8], 0x20
call fcn.00402ac0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xffffffff
je 0x4f9a44
mov edx, dword [esp + 0x28]
cmp edx, ecx
jb 0x4f9e4d
lea eax, [ecx + 1]
cmp edx, eax
jb 0x4f9e46
sub edx, ecx
dec edx
mov ebx, edx
neg edx
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x50]
lea ebp, [edx + eax]
jmp 0x4f9def
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
test eax, eax
je 0x4f9b21
cmp byte [ecx], 0x5b
je 0x4f9a68
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4f9b27
mov dword [esp + 0x44], eax
mov dword [esp + 0x68], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov byte [esp + 8], 0x5d
call fcn.00402ac0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xffffffff
je 0x4f9d78
mov edx, dword [esp + 0x44]
cmp edx, ecx
jb 0x4f9ddb
cmp ecx, 1
jb 0x4f9dcf
mov dword [esp + 0x3c], ecx
lea eax, [ecx - 1]
mov dword [esp + 0x40], eax
mov edx, eax
neg eax
sar eax, 0x1f
and eax, 1
mov ebx, dword [esp + 0x68]
add eax, ebx
mov dword [esp + 0x64], eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004f9e70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x4f9cd3
mov ebp, dword [esp + 0x3c]
lea eax, [ebp + 1]
mov esi, dword [esp + 0x44]
cmp esi, eax
jb 0x4f9dc8
sub esi, ebp
lea ebp, [esi - 1]
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
mov ebp, dword [esp + 0x68]
add ebp, eax
mov eax, esi
mov esi, ecx
mov ecx, ebp
mov ebp, ebx
mov ebx, edx
mov edx, dword [esp + 0x2c]
jmp 0x4f9b27
xor ebx, ebx
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
jne 0x4f9b7f
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], esi
mov dword [esp + 0x38], ebp
call fcn.0040c820
mov eax, dword [0x7c78f0]
mov ecx, dword [esp]
test eax, eax
jne 0x4f9b61
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x1c], ecx
jmp 0x4f9b6f
mov edx, dword [esp + 0x5c]
lea edi, [edx + 0x1c]
mov eax, ecx
call fcn.00463730
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x58]
lea edi, [esp + 0x6c]
xor eax, eax
call fcn.0046395b
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebp
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 0x1c]
lea ebx, [0x5e33a0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov ebp, dword [esp + 0x20]
mov dword [esp + 0xc], ebp
call fcn.0040fde0
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
inc ebp
cmp ebx, ebp
jae 0x4f9c2e
mov dword [esp + 0x60], ecx
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f3c80]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x60]
mov dword [edi + 8], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x4f9c23
mov dword [edi], eax
jmp 0x4f9c28
call fcn.00463730
mov ebp, ecx
mov edx, eax
mov ecx, edi
mov dword [ecx + 4], ebp
lea eax, [ebp + ebp*4]
lea edi, [edx + eax*4 - 0x14]
mov eax, dword [0x7c78f0]
test eax, eax
jne 0x4f9c51
lea esi, [esp + 0x6c]
call fcn.00463e3e
jmp 0x4f99d6
lea eax, [0x5f3c80]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.00410860
jmp 0x4f99d6
dec ebx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add edx, ebx
mov ebx, ebp
test ebx, ebx
je 0x4f9ca5
movzx ebp, byte [edx]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4f9c70
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4f9c70
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4f9c70
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4f9c70
jmp 0x4f9ca5
dec ebx
test ebx, ebx
je 0x4f980d
movzx ebp, byte [ebx + edx - 1]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x4f9ca4
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x4f9ca4
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x4f9ca4
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x4f9ca4
jmp 0x4f99eb
mov dword [esp], 0
lea eax, [0x6100b4]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x12
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
call fcn.0044dc10
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
lea edx, [0x5e8460]
mov dword [esp], edx
call fcn.0040bd40
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x4f9d3c
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
jmp 0x4f9d49
mov edi, eax
mov eax, dword [esp + 0x4c]
call fcn.00463730
mov eax, edi
lea ecx, [0x661abc]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x14], ecx
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x4f9d65
mov dword [edx + 0x18], eax
jmp 0x4f9d6d
lea edi, [edx + 0x18]
call fcn.00463730
mov dword [esp + 0x88], edx
sub esp, 0xffffff80
ret
lea eax, [0x5e8460]
mov dword [esp], eax
call fcn.0040bd40
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x61465d]
mov dword [eax], ecx
lea ecx, [0x661abc]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x14], ecx
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x4f9db5
mov dword [edx + 0x18], eax
jmp 0x4f9dbd
lea edi, [edx + 0x18]
call fcn.00463730
mov dword [esp + 0x88], edx
sub esp, 0xffffff80
ret
mov ecx, esi
call fcn.00463810
mov eax, 1
xor ecx, ecx
call fcn.00463810
call fcn.004637d0
dec ebx
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add ebp, ebx
mov ebx, esi
test ebx, ebx
je 0x4f9e16
movzx esi, byte [ebp]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x4f9de0
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x4f9de0
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x4f9de0
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x4f9de0
jmp 0x4f9e16
dec ebx
test ebx, ebx
je 0x4f9e3b
movzx esi, byte [ebp + ebx - 1]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x4f9e15
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x4f9e15
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x4f9e15
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x4f9e15
mov eax, ebx
mov edx, ecx
mov ecx, ebp
jmp 0x4f9a4c
mov ecx, edx
call fcn.00463810
call fcn.004637d0
mov eax, esi
mov ecx, edx
call fcn.00463810
call fcn.004637d0
call fcn.004637d0
nop
call fcn.00462320
jmp fcn.004f97c0