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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6fc69840
sub esp, 0x60
mov edx, dword [esp + 0x68]
test edx, edx
je 0x6fc6930e
mov ebx, dword [esp + 0x6c]
lea ebp, [ebx - 2]
cmp ebp, 0x22
ja 0x6fc690a0
mov ebp, dword [esp + 0x64]
mov ecx, ebx
mov eax, edx
mov esi, ebp
jmp 0x6fc6912f
test ebx, ebx
jne 0x6fc692bf
mov ebp, dword [esp + 0x64]
cmp byte [ebp], 0x30
jne 0x6fc69126
cmp edx, 3
jl 0x6fc6910a
movzx esi, byte [ebp + 1]
or esi, 0x20
xchg esi, eax
cmp al, 0x62
xchg esi, eax
jne 0x6fc690d4
lea esi, [ebp + 2]
lea edi, [edx - 2]
mov ecx, 2
mov eax, edi
jmp 0x6fc6912f
cmp edx, 3
jl 0x6fc6910a
xchg esi, eax
cmp al, 0x6f
xchg esi, eax
jne 0x6fc690ef
lea esi, [ebp + 2]
lea edi, [edx - 2]
mov ecx, 8
mov eax, edi
jmp 0x6fc6912f
cmp edx, 3
jl 0x6fc6910a
xchg esi, eax
cmp al, 0x78
xchg esi, eax
jne 0x6fc6910a
lea esi, [ebp + 2]
lea edi, [edx - 2]
mov ecx, 0x10
mov eax, edi
jmp 0x6fc6912f
lea edi, [edx - 1]
mov eax, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
lea esi, [ebp + edi]
mov ecx, 8
jmp 0x6fc6912f
mov ecx, 0xa
mov eax, edx
mov esi, ebp
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x6fc6913e
mov edi, 0x20
jmp 0x6fc69147
cmp edi, 0x40
ja 0x6fc69274
mov dword [esp + 0x5c], esi
mov dword [esp + 0x40], ecx
cmp ecx, 0xa
jne 0x6fc69170
mov dword [esp + 0x54], eax
mov eax, 0x9999999a
mov dword [esp + 0x20], eax
mov eax, 0x19999999
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x54]
jmp 0x6fc691e9
cmp ecx, 0x10
jne 0x6fc6918e
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, 0x10000000
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
jmp 0x6fc691e9
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edi
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0xffffffff
mov eax, ecx
sar ecx, 0x1f
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
call fcn.6fc5cd80
mov eax, dword [esp + 0x10]
add eax, 1
mov ecx, dword [esp + 0x14]
adc ecx, 0
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
cmp edi, 0x20
sbb edx, edx
mov ecx, edi
mov ebp, 1
shl ebp, cl
and ebp, edx
mov edx, ebp
add ebp, 0xffffffff
mov dword [esp + 0x1c], ebp
add ecx, 0xffffffe0
mov edi, ecx
neg ecx
mov dword [esp + 0x34], ecx
cmp ecx, 0x20
sbb ebp, ebp
cmp edi, 0x20
sbb ebx, ebx
mov ecx, edi
mov esi, 1
shl esi, cl
and esi, ebx
mov ecx, dword [esp + 0x34]
mov ebx, 1
shr ebx, cl
and ebx, ebp
or ebx, esi
add edx, 0xffffffff
adc ebx, 0xffffffff
mov dword [esp + 0x30], ebx
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x44]
jmp 0x6fc693bb
lea eax, [0x6fe7ceac]
mov dword [esp], eax
mov dword [esp + 4], 9
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edi
call fcn.6fc68f20
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6fededc0]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
lea eax, [0x6fe7ceac]
mov dword [esp], eax
mov dword [esp + 4], 9
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.6fc68de0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6fededc0]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
lea eax, [0x6fe63240]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x6fe7ceac]
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov ecx, dword [0x700a7770]
test ecx, ecx
jne 0x6fc69349
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x6fc69359
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6fc61f00
mov eax, ecx
mov ecx, dword [0x700808cc]
mov edx, dword [0x700808c8]
mov dword [eax + 0x10], edx
mov edx, dword [0x700a7770]
test edx, edx
jne 0x6fc69377
mov dword [eax + 0x14], ecx
jmp 0x6fc69385
lea edi, [eax + 0x14]
mov edx, eax
mov eax, ecx
call fcn.6fc61f00
mov eax, edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6fededc0]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
inc ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
cmp eax, ebx
jle 0x6fc69757
movzx edi, byte [edx + ebx]
xchg edi, eax
cmp al, 0x5f
xchg edi, eax
jne 0x6fc693eb
test ebp, ebp
jne 0x6fc693eb
mov edi, dword [esp + 0x2c]
mov edi, 1
xchg edi, eax
mov byte [esp + 0x1b], al
xchg edi, eax
mov edi, dword [esp + 0x2c]
jmp 0x6fc693aa
lea ebp, [edi - 0x30]
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jbe 0x6fc69411
or edi, 0x20
xchg edi, eax
cmp al, 0x61
xchg edi, eax
jb 0x6fc696bb
xchg edi, eax
cmp al, 0x7a
xchg edi, eax
ja 0x6fc696bb
lea ebp, [edi - 0x57]
mov edi, dword [esp + 0x40]
xchg ebp, eax
xchg edi, ebx
cmp al, bl
xchg edi, ebx
xchg ebp, eax
jae 0x6fc6961f
xchg ebp, eax
mov byte [esp + 0x1a], al
xchg ebp, eax
mov edx, dword [esp + 0x2c]
cmp ecx, edx
setb bl
mov ebp, dword [esp + 0x28]
cmp esi, ebp
xchg esi, ebx
setbe bl
xchg esi, ebx
cmp ecx, edx
sete cl
and esi, ecx
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x6fc69583
mov ecx, eax
mov eax, ebp
mov ebx, edx
mul edi
movzx esi, byte [esp + 0x1a]
xchg esi, eax
movzx eax, al
xchg esi, eax
mov dword [esp + 0x34], esi
add esi, eax
imul ebx, edi
sar edi, 0x1f
imul ebp, edi
add edx, ebx
add edx, ebp
mov ebx, dword [esp + 0x34]
add ebx, eax
mov ebx, edx
adc edx, 0
cmp eax, esi
xchg ebp, ebx
seta bl
xchg ebp, ebx
cmp edx, ebx
sete bl
xchg edi, ebx
setb bl
xchg edi, ebx
and ebx, ebp
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x6fc694e7
mov ebx, dword [esp + 0x1c]
cmp esi, ebx
xchg ebp, ebx
seta bl
xchg ebp, ebx
mov edi, dword [esp + 0x30]
cmp edx, edi
xchg edi, ebx
sete bl
xchg edi, ebx
seta bl
and edi, ebp
or ebx, edi
test bl, bl
jne 0x6fc694e7
mov eax, ecx
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x6c]
mov edi, edx
mov dword [esp + 0x28], esi
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x20]
jmp 0x6fc693aa
lea eax, [0x6fe63240]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x6fe7ceac]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x700a7770]
test ecx, ecx
jne 0x6fc69522
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x6fc69532
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6fc61f00
mov eax, ecx
mov ecx, dword [0x700808c4]
mov edx, dword [0x700808c0]
mov dword [eax + 0x10], edx
mov edx, dword [0x700a7770]
test edx, edx
jne 0x6fc69550
mov dword [eax + 0x14], ecx
jmp 0x6fc6955e
lea edi, [eax + 0x14]
mov edx, eax
mov eax, ecx
call fcn.6fc61f00
mov eax, edx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x74], ecx
lea ecx, [0x6fededc0]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
lea eax, [0x6fe63240]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x6fe7ceac]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x700a7770]
test ecx, ecx
jne 0x6fc695be
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x6fc695ce
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6fc61f00
mov eax, ecx
mov ecx, dword [0x700808c4]
mov edx, dword [0x700808c0]
mov dword [eax + 0x10], edx
mov edx, dword [0x700a7770]
test edx, edx
jne 0x6fc695ec
mov dword [eax + 0x14], ecx
jmp 0x6fc695fa
lea edi, [eax + 0x14]
mov edx, eax
mov eax, ecx
call fcn.6fc61f00
mov eax, edx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x74], ecx
lea ecx, [0x6fededc0]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
lea eax, [0x6fe63240]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x6fe7ceac]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x700a7770]
test ecx, ecx
jne 0x6fc6965a
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x6fc6966a
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6fc61f00
mov eax, ecx
mov ecx, dword [0x700808cc]
mov edx, dword [0x700808c8]
mov dword [eax + 0x10], edx
mov edx, dword [0x700a7770]
test edx, edx
jne 0x6fc69688
mov dword [eax + 0x14], ecx
jmp 0x6fc69696
lea edi, [eax + 0x14]
mov edx, eax
mov eax, ecx
call fcn.6fc61f00
mov eax, edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6fededc0]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
lea eax, [0x6fe63240]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x6fe7ceac]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x700a7770]
test ecx, ecx
jne 0x6fc696f6
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x6fc69706
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6fc61f00
mov eax, ecx
mov ecx, dword [0x700808cc]
mov edx, dword [0x700808c8]
mov dword [eax + 0x10], edx
mov edx, dword [0x700a7770]
test edx, edx
jne 0x6fc69724
mov dword [eax + 0x14], ecx
jmp 0x6fc69732
lea edi, [eax + 0x14]
mov edx, eax
mov eax, ecx
call fcn.6fc61f00
mov eax, edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6fededc0]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
movzx eax, byte [esp + 0x1b]
test al, al
je 0x6fc6977d
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
call fcn.6fc69f90
movzx eax, byte [esp + 8]
test al, al
je 0x6fc697a4
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
add esp, 0x60
ret
lea eax, [0x6fe63240]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x6fe7ceac]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x700a7770]
test ecx, ecx
jne 0x6fc697df
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x6fc697ef
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6fc61f00
mov eax, ecx
mov ecx, dword [0x700808cc]
mov edx, dword [0x700808c8]
mov dword [eax + 0x10], edx
mov edx, dword [0x700a7770]
test edx, edx
jne 0x6fc6980d
mov dword [eax + 0x14], ecx
jmp 0x6fc6981b
lea edi, [eax + 0x14]
mov edx, eax
mov eax, ecx
call fcn.6fc61f00
mov eax, edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6fededc0]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
call fcn.6fc60ad0
jmp fcn.6fc69060