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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x60]
cmp eax, dword [ecx + 8]
jbe 0x6fd68aae
sub esp, 0xe0
mov eax, 0
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov byte [esp + 0x43], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x6fd68a89
call fcn.6fcab3a0
lea edi, [esp + 0xc4]
lea esi, [esp]
call fcn.6fc6267e
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xec]
mov dword [esp + 8], edx
lea edi, [esp + 0xc]
lea esi, [esp + 0xc4]
call fcn.6fc6267e
call fcn.6fd66a50
lea edi, [esp + 0xb0]
lea esi, [esp + 0x20]
call fcn.6fc6267e
lea edi, [esp + 0x9c]
lea esi, [esp + 0xb0]
call fcn.6fc6267e
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
test ecx, 0x80000000
je 0x6fd682a1
shl ecx, 1
mov edx, eax
shr eax, 0x1f
or ecx, eax
mov ebx, ecx
shl ecx, 1
mov ebp, edx
shl edx, 1
shr edx, 0x1f
or edx, ecx
mov ecx, edx
add edx, 0xd7b17f80
shr ebx, 0x1f
add ecx, 0xd7b17f80
adc ebx, 0xd
jmp 0x6fd682b1
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa8]
mov ebp, eax
test edx, edx
sete cl
test ebx, ebx
sete dl
and edx, ecx
test dl, dl
je 0x6fd682de
test ebp, 0x3fffffff
jne 0x6fd682de
xor eax, eax
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
jmp 0x6fd683bd
lea edi, [esp + 0xc4]
xor eax, eax
call fcn.6fc6219b
mov ecx, dword [esp + 0xe8]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
call edx
movzx ecx, byte [esp + 0x18]
mov byte [esp + 0x41], cl
lea edi, [esp + 0xc4]
lea esi, [esp + 4]
call fcn.6fc6267e
lea edi, [esp + 0x88]
lea esi, [esp + 0xc4]
call fcn.6fc6267e
movzx ecx, byte [esp + 0x41]
test cl, cl
je 0x6fd68364
lea edi, [esp]
lea esi, [esp + 0xb0]
call fcn.6fc6267e
lea edi, [esp + 0x14]
lea esi, [esp + 0x88]
call fcn.6fc6267e
call fcn.6fca9500
movzx eax, byte [esp + 0x28]
test al, al
je 0x6fd683ad
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
lea edi, [esp + 8]
lea esi, [esp + 0xb0]
call fcn.6fc6267e
call fcn.6fd5a940
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xdc], eax
mov byte [esp + 0x43], 1
mov eax, 1
jmp 0x6fd683bd
xor eax, eax
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [ebx + 0x3c]
test ebp, ebp
je 0x6fd684b3
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x42], al
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.6fd59d40
mov eax, dword [esp + 0x10]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x50], ebx
mov dword [esp + 0xd8], eax
movzx ebp, byte [esp + 0x42]
or ebp, 2
xchg ebp, eax
mov byte [esp + 0x42], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0x43], al
xchg ebp, eax
lea esi, [0x6fe608c0]
mov dword [esp], esi
call fcn.6fc0ba30
mov eax, dword [esp + 4]
lea ecx, [0x6fd68ac0]
mov dword [eax], ecx
mov ecx, dword [0x700a7770]
test ecx, ecx
jne 0x6fd68455
mov ecx, dword [esp + 0x5c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
jmp 0x6fd68471
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x5c]
call fcn.6fc61f00
lea edi, [ecx + 8]
mov eax, dword [esp + 0x70]
call fcn.6fc61f00
mov eax, ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x700a7770]
test ecx, ecx
jne 0x6fd6848e
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x10], ecx
jmp 0x6fd6849e
lea edi, [eax + 0x10]
mov ecx, eax
mov eax, dword [esp + 0x6c]
call fcn.6fc61f00
mov eax, ecx
mov dword [esp], eax
call fcn.6fc41bb0
movzx eax, byte [esp + 0x42]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x68], edx
mov dword [esp + 0x4c], ecx
mov byte [esp + 0x42], al
mov ebx, dword [ecx + 0x1c]
mov dword [esp], edx
lea ebp, [0x6fe53e20]
mov dword [esp + 4], ebp
lea esi, [0x700a7564]
mov dword [esp + 8], esi
call ebx
mov eax, dword [esp + 0x10]
lea ecx, [0x6fe454a0]
cmp dword [esp + 0xc], ecx
je 0x6fd684ed
xor eax, eax
test eax, eax
jne 0x6fd684fe
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x68]
jmp 0x6fd685bd
mov dword [esp + 0x80], eax
lea eax, [0x6fe65520]
mov dword [esp], eax
call fcn.6fc0ba30
mov edi, dword [esp + 4]
mov eax, dword [0x700a7770]
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
test eax, eax
jne 0x6fd68534
mov dword [edi], edx
mov dword [edi + 4], ecx
jmp 0x6fd6854b
mov eax, edx
call fcn.6fc61f00
lea edx, [edi + 4]
mov eax, ecx
mov ecx, edi
mov edi, edx
call fcn.6fc61f00
mov edi, ecx
mov ecx, dword [0x700a7770]
test ecx, ecx
jne 0x6fd68565
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
jmp 0x6fd6857f
lea ecx, [edi + 8]
xor eax, eax
mov edx, edi
mov edi, ecx
call fcn.6fc61f00
lea edi, [edx + 0xc]
xor eax, eax
call fcn.6fc61f00
mov edi, edx
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
lea edx, [0x6fe53e20]
mov dword [esp + 8], edx
lea edx, [0x700a7564]
mov dword [esp + 0xc], edx
lea edx, [0x6fe454a0]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edi
call fcn.6fd5b200
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xe4]
mov ebx, dword [eax + 0x38]
test ebx, ebx
jne 0x6fd685d1
mov ebx, dword [0x6fe30558]
mov ebp, dword [eax + 0x1c]
mov esi, dword [eax + 0x20]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x6fe7bf93]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 4
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0xf4]
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0xf8]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0xfc]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], esi
call fcn.6fd671f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
test edx, edx
je 0x6fd68762
mov dword [esp + 0x84], ebp
mov dword [esp + 0x64], ebx
lea eax, [0x6fe695c0]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x6fe7bf93]
mov dword [eax], ecx
mov ecx, dword [esp + 0xf4]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x700a7770]
test ecx, ecx
jne 0x6fd68699
mov ecx, dword [esp + 0xf0]
mov dword [eax + 8], ecx
jmp 0x6fd686ac
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0xf0]
call fcn.6fc61f00
mov eax, ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov ecx, dword [esp + 0x84]
mov dword [eax + 0x20], ecx
mov ecx, dword [0x700a7770]
test ecx, ecx
jne 0x6fd686e5
mov ecx, dword [esp + 0x64]
mov dword [eax + 0x24], ecx
jmp 0x6fd686f5
lea edi, [eax + 0x24]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6fc61f00
mov eax, ecx
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
lea ecx, [0x6fedeed8]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], eax
movzx eax, byte [esp + 0x42]
test al, 2
je 0x6fd68744
and eax, 0xfffffffd
mov byte [esp + 0x42], al
mov byte [esp + 0x43], al
mov edx, dword [esp + 0xd8]
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 0x42]
test al, 1
je 0x6fd6875b
and eax, 0xfffffffe
mov byte [esp + 0x43], al
mov edx, dword [esp + 0xdc]
mov eax, dword [edx]
call eax
add esp, 0xe0
ret
mov dword [esp + 0x7c], esi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], eax
lea eax, [0x6fe66920]
mov dword [esp], eax
call fcn.6fc0ba30
mov edi, dword [esp + 4]
mov dword [esp + 0x78], edi
mov eax, dword [0x700a7770]
test eax, eax
jne 0x6fd6879c
mov esi, dword [esp + 0xe4]
call fcn.6fc62606
jmp 0x6fd687b9
lea eax, [0x6fe6e780]
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 8], eax
call fcn.6fc10540
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x48], ecx
mov ebx, dword [0x700a7770]
test ebx, ebx
jne 0x6fd687dd
mov ebx, dword [esp + 0xf0]
mov dword [edx + 0x44], ebx
jmp 0x6fd687ee
lea edi, [edx + 0x44]
mov eax, dword [esp + 0xf0]
call fcn.6fc61f00
mov ebx, eax
mov ebp, dword [esp + 0xfc]
mov dword [edx + 0x50], ebp
mov ebp, dword [0x700a7770]
test ebp, ebp
jne 0x6fd6880e
mov eax, dword [esp + 0xf8]
mov dword [edx + 0x4c], eax
jmp 0x6fd6881d
lea edi, [edx + 0x4c]
mov eax, dword [esp + 0xf8]
call fcn.6fc61f00
mov eax, dword [esp + 0xe4]
mov ebp, dword [eax + 0x2c]
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setg bl
xchg esi, ebx
and ebp, 1
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x6fd68894
cmp ecx, 3
jne 0x6fd68894
cmp word [ebx], 0x6374
jne 0x6fd68894
cmp byte [ebx + 2], 0x70
jne 0x6fd68894
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
lea eax, [0x6fe949bc]
mov dword [esp + 0xc], eax
call fcn.6fd75140
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
jmp 0x6fd688a6
xor ebx, ebx
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
xor ebp, ebp
xor edx, edx
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov dword [esp], edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x68]
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebp
call fcn.6fd68b80
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
test edx, edx
je 0x6fd6895d
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebp
movzx eax, byte [esp + 0x42]
test al, 2
je 0x6fd6893f
and eax, 0xfffffffd
mov byte [esp + 0x42], al
mov byte [esp + 0x43], al
mov edx, dword [esp + 0xd8]
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 0x42]
test al, 1
je 0x6fd68956
and eax, 0xfffffffe
mov byte [esp + 0x43], al
mov edx, dword [esp + 0xdc]
mov eax, dword [edx]
call eax
add esp, 0xe0
ret
lea ebx, [0x6fee0330]
cmp eax, ebx
je 0x6fd6896c
mov esi, 0
jne 0x6fd68a22
mov ebx, dword [esp + 0xe4]
mov ebp, dword [ebx + 0x34]
test ebp, ebp
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, 1
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6fd68a22
mov dword [esp + 0x74], esi
mov dword [esp + 0x84], eax
mov dword [esp + 0x60], ecx
mov eax, dword [esi]
mov dword [esp], eax
mov byte [esp + 4], 1
call fcn.6fd7e5a0
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x30]
test ecx, ecx
sete dl
mov eax, dword [eax + 0x34]
test eax, eax
sete bl
and ebx, edx
test bl, bl
je 0x6fd689e0
mov eax, 3
mov ecx, 0x7e11d600
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x74]
mov edx, dword [edx]
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call fcn.6fd7fa10
mov edx, dword [0x6fe30570]
mov eax, dword [edx]
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
movzx eax, byte [esp + 0x42]
test al, 2
je 0x6fd68a6b
and eax, 0xfffffffd
mov byte [esp + 0x42], al
mov byte [esp + 0x43], al
mov edx, dword [esp + 0xd8]
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 0x42]
test al, 1
je 0x6fd68a82
and eax, 0xfffffffe
mov byte [esp + 0x43], al
mov edx, dword [esp + 0xdc]
mov eax, dword [edx]
call eax
add esp, 0xe0
ret
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fedeb40]
mov dword [esp + 4], eax
call fcn.6fc36660
nop
call fcn.6fc35ae0
add esp, 0xe0
ret
call fcn.6fc60ad0
jmp fcn.6fd68180