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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x6fa620
sub esp, 0x84
mov eax, dword [esp + 0x8c]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x90]
cmp ecx, edx
ja 0x6fa576
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov byte [ebx + eax], 0x22
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov ebp, dword [esp + 0x98]
mov dword [esp + 4], ebp
call fcn.006fa630
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x98]
cmp eax, ecx
ja 0x6fa61a
sub ecx, eax
mov dword [esp + 0x98], ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esp + 0x94]
add ecx, ebx
mov dword [esp + 0x80], ecx
mov ebp, dword [esp + 0x8c]
lea esi, [eax + ebp]
mov dword [esp + 0x4c], esi
mov edi, dword [esp + 0x90]
cmp edi, esi
jb 0x6fa527
mov dword [esp + 0x90], edi
mov ecx, dword [esp + 0x88]
lea edx, [ecx + ebp]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.004614f0
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x88]
jmp 0x6f9b1c
mov edx, edi
mov ebp, eax
mov eax, esi
mov dword [esp + 0x8c], ebx
test eax, eax
jle 0x6fa4cb
mov dword [esp + 0x48], edx
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00498740
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
cmp eax, 0xfffd
jne 0x6f9f39
cmp ecx, 1
jne 0x6f9f39
mov edx, dword [esp + 0x94]
movzx ebx, byte [edx]
mov dword [esp + 0x44], ebx
mov ebp, dword [esp + 0x8c]
lea esi, [ebp + 1]
mov edi, dword [esp + 0x48]
cmp edi, esi
jb 0x6f9eed
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x8c], esi
mov byte [eax + ebp], 0x5c
cmp ebx, 0xa
jg 0x6f9e32
cmp ebx, 9
jne 0x6f9c1f
lea ebx, [esi + 1]
cmp edi, ebx
jb 0x6f9bde
mov byte [eax + esi], 0x74
mov ebp, dword [esp + 0x98]
cmp ecx, ebp
ja 0x6fa5f9
sub ebp, ecx
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ecx, ebp
add ecx, edx
jmp 0x6f9b16
lea ecx, [0xaa98e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
call fcn.00447080
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x8c]
jmp 0x6f9bb5
cmp ebx, 0xa
jne 0x6f9c72
lea ebx, [esi + 1]
cmp edi, ebx
jb 0x6f9c31
mov byte [eax + esi], 0x6e
jmp 0x6f9bb9
lea ecx, [0xaa98e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
call fcn.00447080
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x8c]
jmp 0x6f9c2b
lea ebp, [esi + 1]
cmp edi, ebp
jb 0x6f9dea
mov byte [eax + esi], 0x78
cmp ebx, 0x10000
jb 0x6f9ddb
mov esi, ebx
shr ebx, 0x10
mov dword [esp + 0x70], eax
mov eax, 0x10
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x70]
cmp ebx, 0x100
jb 0x6f9dd2
shr ebx, 8
mov edx, dword [esp + 0x2c]
add edx, 8
cmp ebx, 0x100
jae 0x6fa60e
lea esi, [0x1083960]
movzx ebx, byte [ebx + esi]
lea esi, [ebx + edx - 1]
sar esi, 0x1f
shr esi, 0x1e
add edx, ebx
lea edx, [edx + esi - 1]
sar edx, 2
lea ebx, [edx + 1]
cmp ebx, 2
ja 0x6fa602
mov esi, ebp
sub ebp, ebx
add ebp, 2
mov dword [esp + 0x8c], ebp
dec edx
neg edx
mov dword [esp + 0x4c], edx
neg edx
sar edx, 0x1f
and edx, ebx
cmp edi, ebp
jb 0x6f9d97
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], edi
lea ecx, [eax + esi]
mov dword [esp], ecx
lea ecx, [0xb8e11a]
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], edx
call fcn.004614f0
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
sar eax, 0x1f
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x10
call fcn.004c5160
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x94]
jmp 0x6f9bb9
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], edx
lea ecx, [0xaa98e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00447080
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
jmp 0x6f9d12
mov edx, dword [esp + 0x2c]
jmp 0x6f9cb9
mov esi, ebx
xor esi, esi
mov dword [esp + 0x2c], esi
mov esi, ebx
jmp 0x6f9ca3
lea ecx, [0xaa98e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00447080
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x8c]
jmp 0x6f9c7d
cmp ebx, 0xd
jne 0x6f9e88
lea ebx, [esi + 1]
cmp edi, ebx
jb 0x6f9e47
mov byte [eax + esi], 0x72
jmp 0x6f9bb9
lea ecx, [0xaa98e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
call fcn.00447080
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x8c]
jmp 0x6f9e3e
cmp ebx, 0x22
jne 0x6f9ee3
lea ebp, [esi + 1]
cmp edi, ebp
jb 0x6f9e9e
mov byte [eax + esi], bl
mov ebx, ebp
jmp 0x6f9bb9
lea ecx, [0xaa98e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00447080
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x8c]
jmp 0x6f9e94
cmp ebx, 0x5c
je 0x6f9e8d
jmp 0x6f9c72
lea eax, [0xaa98e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
call fcn.00447080
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x8c]
jmp 0x6f9b95
cmp eax, 0x20
jge 0x6f9f4c
mov edx, dword [esp + 0x94]
mov ebx, eax
jmp 0x6f9b77
cmp eax, 0x22
je 0x6f9f3e
cmp eax, 0x5c
je 0x6f9f3e
cmp eax, 0x7f
je 0x6f9f3e
cmp eax, 0x80
jl 0x6fa4be
movzx edx, byte [esp + 0x9c]
test dl, dl
je 0x6fa396
mov dword [esp + 0x38], eax
mov ebx, dword [esp + 0x8c]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x48]
cmp esi, ebp
jb 0x6fa349
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x8c], ebp
mov byte [edi + ebx], 0x5c
cmp eax, 0xffff
jg 0x6fa18d
lea ebx, [ebp + 1]
cmp esi, ebx
jb 0x6fa144
mov byte [edi + ebp], 0x75
cmp eax, 0x100
jb 0x6fa135
mov ebp, eax
shr eax, 8
mov dword [esp + 0x68], eax
mov eax, 8
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x68]
cmp eax, 0x100
jae 0x6fa5ef
mov dword [esp + 0x88], edi
lea edx, [0x1083960]
movzx edx, byte [eax + edx]
mov ebp, dword [esp + 0x30]
lea edi, [ebp + edx - 1]
sar edi, 0x1f
shr edi, 0x1e
add edx, ebp
lea edx, [edx + edi - 1]
sar edx, 2
lea ebp, [edx + 1]
cmp ebp, 4
ja 0x6fa5e3
mov edi, ebx
sub ebx, ebp
add ebx, 4
mov dword [esp + 0x8c], ebx
add edx, 0xfffffffd
neg edx
mov dword [esp + 0x4c], edx
neg edx
sar edx, 0x1f
and edx, ebp
cmp esi, ebx
jb 0x6fa0f3
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x90], esi
mov dword [esp + 0x88], ebp
lea eax, [ebp + edi]
mov dword [esp], eax
lea eax, [0xb8f150]
lea ecx, [eax + edx]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
call fcn.004614f0
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
sar eax, 0x1f
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x10
call fcn.004c5160
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x98]
cmp ebx, ebp
ja 0x6fa5c4
sub ebp, ebx
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebx, ebp
mov ebp, dword [esp + 0x94]
add ebp, ebx
mov edi, edx
mov ebx, ecx
mov ecx, ebp
jmp 0x6f9b16
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], edx
lea eax, [0xaa98e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00447080
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
jmp 0x6fa046
mov ebp, eax
xor ebp, ebp
mov dword [esp + 0x30], ebp
mov ebp, eax
jmp 0x6f9fda
lea eax, [0xaa98e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00447080
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
movzx edx, byte [esp + 0x9c]
mov ebp, dword [esp + 0x8c]
jmp 0x6f9fb5
lea ebx, [ebp + 1]
cmp esi, ebx
jb 0x6fa300
mov byte [edi + ebp], 0x55
mov ebp, eax
shr eax, 0x10
cmp eax, 0x100
jb 0x6fa2ea
shr eax, 8
mov dword [esp + 0x58], eax
mov eax, 0x18
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x58]
cmp eax, 0x100
jae 0x6fa5d9
mov dword [esp + 0x88], edi
lea edx, [0x1083960]
movzx edx, byte [eax + edx]
mov ebp, dword [esp + 0x24]
lea edi, [ebp + edx - 1]
sar edi, 0x1f
shr edi, 0x1e
add edx, ebp
lea edx, [edx + edi - 1]
sar edx, 2
lea ebp, [edx + 1]
cmp ebp, 8
ja 0x6fa5cd
mov edi, ebx
sub ebx, ebp
add ebx, 8
mov dword [esp + 0x8c], ebx
add edx, 0xfffffff9
neg edx
mov dword [esp + 0x4c], edx
neg edx
sar edx, 0x1f
and edx, ebp
cmp esi, ebx
jb 0x6fa2a8
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x88], ebp
mov dword [esp + 0x90], esi
lea eax, [ebp + edi]
mov dword [esp], eax
lea eax, [0xb93192]
lea ecx, [eax + edx]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
call fcn.004614f0
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
sar eax, 0x1f
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x10
call fcn.004c5160
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
jmp 0x6fa0bd
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], edx
lea eax, [0xaa98e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00447080
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
jmp 0x6fa22c
mov dword [esp + 0x60], eax
mov eax, 0x10
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x60]
jmp 0x6fa1c0
lea eax, [0xaa98e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00447080
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
movzx edx, byte [esp + 0x9c]
mov ebp, dword [esp + 0x8c]
jmp 0x6fa198
lea eax, [0xaa98e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00447080
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
movzx edx, byte [esp + 0x9c]
mov ebx, dword [esp + 0x8c]
jmp 0x6f9f94
cmp eax, 0x9f
jle 0x6f9f76
mov ebx, dword [esp + 0x98]
cmp ecx, ebx
ja 0x6fa5bb
sub ebx, ecx
mov edx, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov ebp, dword [esp + 0x94]
add ebx, ebp
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.006fa630
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x28]
add eax, ecx
mov ecx, dword [esp + 0x98]
cmp ecx, eax
jb 0x6fa5b6
sub ecx, eax
mov dword [esp + 0x98], ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esp + 0x94]
add ecx, ebx
mov dword [esp + 0x78], ecx
mov ebp, dword [esp + 0x8c]
lea esi, [eax + ebp]
mov dword [esp + 0x4c], esi
mov edi, dword [esp + 0x48]
cmp edi, esi
jb 0x6fa472
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x90], edi
mov ecx, dword [esp + 0x88]
lea edx, [ecx + ebp]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.004614f0
mov esi, dword [esp + 0x98]
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x90]
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x88]
jmp 0x6f9b16
mov dword [esp + 0x40], eax
lea eax, [0xaa98e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
call fcn.00447080
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x40]
jmp 0x6fa42f
movzx edx, byte [esp + 0x9c]
jmp 0x6fa3a1
lea eax, [ebx + 1]
cmp edx, eax
jb 0x6fa4f3
mov byte [ebp + ebx], 0x22
mov dword [esp + 0xa0], ebp
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], edx
add esp, 0x84
ret
lea ecx, [0xaa98e0]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.00447080
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc eax
mov ebx, dword [esp + 0x8c]
jmp 0x6fa4d2
mov dword [esp + 0x34], eax
lea eax, [0xaa98e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
call fcn.00447080
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x34]
jmp 0x6f9ad3
lea ebx, [0xaa98e0]
mov dword [esp], ebx
mov ebp, dword [esp + 0x88]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00447080
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x8c]
jmp 0x6f9a50
call fcn.00460c20
mov eax, ecx
mov ecx, ebx
call fcn.00460c20
mov eax, ebx
mov ecx, ebp
call fcn.00460c20
mov eax, ebp
mov ecx, 8
call fcn.00460c20
mov ecx, 0x100
call fcn.00460bd0
mov eax, ebp
mov ecx, 4
call fcn.00460c20
mov ecx, 0x100
call fcn.00460bd0
mov eax, ecx
mov ecx, ebp
call fcn.00460c20
mov eax, ebx
mov ecx, 2
call fcn.00460c20
mov eax, ebx
mov ecx, 0x100
call fcn.00460bd0
call fcn.00460c20
nop
call fcn.0045f5f0
jmp fcn.006f9a10