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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6fc6ce84
add esp, 0xffffff80
mov edx, dword [esp + 0x9c]
test edx, edx
sete bl
mov ebp, dword [esp + 0x98]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and ebx, esi
test bl, bl
je 0x6fc6c56f
xor eax, eax
jmp 0x6fc6c576
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx]
lea ecx, [ebx - 0x3c]
neg ecx
cmp ecx, 0x20
sbb ebx, ebx
lea esi, [ecx - 0x20]
mov dword [esp + 0x60], esi
cmp esi, 0x20
sbb edi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x5c], esi
cmp esi, 0x20
sbb esi, esi
shl ebp, cl
shl edx, cl
and ebp, ebx
mov dword [esp + 0x58], ebp
mov ecx, dword [esp + 0x60]
mov ebp, dword [esp + 0x98]
shl ebp, cl
and ebp, edi
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x98]
shr edi, cl
and edi, esi
and edx, ebx
or edx, edi
or edx, ebp
mov ebx, dword [esp + 0x58]
jmp 0x6fc6c5e6
shl edx, 1
mov ebp, ebx
shr ebx, 0x1f
or edx, ebx
shl ebp, 1
dec eax
mov ebx, ebp
test edx, edx
xchg ebp, ebx
setne bl
xchg ebp, ebx
test ebx, ebx
xchg esi, ebx
setne bl
xchg esi, ebx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6fc6c616
test edx, 0x10000000
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x6fc6c5d8
mov ebp, dword [esp + 0x90]
cmp ebp, 0xf
jae 0x6fc6c79c
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], edx
shl ebp, 2
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x60], edi
lea ecx, [ebp - 0x20]
mov dword [esp + 0x5c], ecx
neg ecx
cmp ecx, 0x20
sbb esi, esi
mov edi, dword [esp + 0x5c]
cmp edi, 0x20
sbb edi, edi
mov dword [esp + 0x58], edi
lea edi, [ebp - 0x3c]
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0x4c], edi
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0x48], edx
lea edx, [edi - 0x20]
mov dword [esp + 0x44], edx
neg edx
mov dword [esp + 0x40], edx
cmp edx, 0x20
sbb edx, edx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x44]
cmp edx, 0x20
sbb edx, edx
mov dword [esp + 0x38], edx
shr ebx, cl
and ebx, esi
mov ecx, ebp
mov esi, dword [esp + 0x50]
shl esi, cl
mov edx, dword [esp + 0x60]
and esi, edx
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
shl edi, cl
mov ecx, edx
mov edx, dword [esp + 0x58]
and edx, edi
or esi, ebx
or esi, edx
and esi, 0xfffffff
cmp esi, 0x8000000
sete dl
mov byte [esp + 0x23], dl
mov ebx, ecx
mov ecx, ebp
mov edi, dword [esp + 0x54]
mov ebp, edi
shl edi, cl
and edi, ebx
mov ecx, dword [esp + 0x4c]
shr ebp, cl
mov ebx, dword [esp + 0x48]
and ebp, ebx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
shl edx, cl
mov ebx, dword [esp + 0x3c]
and edx, ebx
or edx, ebp
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x50]
shr ebx, cl
mov ebp, dword [esp + 0x38]
and ebx, ebp
or edx, ebx
mov ebx, edx
and edx, 1
or edx, edi
test edx, edx
seta dl
cmp esi, 0x8000000
xchg esi, ebx
seta bl
xchg esi, ebx
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
shr ebp, cl
mov edi, dword [esp + 0x48]
and ebp, edi
movzx edi, byte [esp + 0x23]
and edi, edx
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x6fc6c745
add ebx, 1
adc ebp, 0
mov edx, ecx
mov ecx, dword [esp + 0x44]
mov esi, ebx
shl ebx, cl
mov edi, dword [esp + 0x38]
and ebx, edi
mov ecx, dword [esp + 0x40]
mov edi, esi
shr esi, cl
mov ecx, edi
mov edi, dword [esp + 0x3c]
and esi, edi
mov edi, ecx
mov ecx, edx
shl ebp, cl
mov edx, dword [esp + 0x48]
and ebp, edx
or esi, ebp
or esi, ebx
shl edi, cl
and edi, edx
test esi, 0x20000000
je 0x6fc6c78f
shr edi, 1
mov ecx, esi
shl esi, 0x1f
or edi, esi
shr ecx, 1
inc eax
jmp 0x6fc6c791
mov ecx, esi
mov ebp, dword [esp + 0x90]
mov ebx, edi
mov edx, ecx
movzx ecx, byte [esp + 0x94]
cmp cl, 0x58
jne 0x6fc6c7b1
lea esi, [0x6fe7efbd]
jmp 0x6fc6c7b7
lea esi, [0x6fe7efcd]
mov dword [esp + 0x74], esi
mov dword [esp + 0x60], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x5c], edx
movzx edi, byte [esp + 0x95]
xchg edi, eax
test al, al
xchg edi, eax
je 0x6fc6c862
mov edi, dword [esp + 0x88]
lea esi, [edi + 1]
mov ebp, dword [esp + 0x8c]
cmp ebp, esi
jb 0x6fc6c803
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x6c]
jmp 0x6fc6c858
lea eax, [0x6fe51840]
mov dword [esp], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.6fc4af30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [ecx + 1]
movzx ecx, byte [esp + 0x94]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x88]
mov dword [esp + 0x7c], eax
mov ebp, edx
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x7c]
mov byte [ebx + edi], 0x2d
jmp 0x6fc6c877
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
lea edi, [esi + 3]
cmp ebp, edi
jae 0x6fc6c8c3
mov dword [esp + 0x30], esi
lea eax, [0x6fe51840]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.6fc4af30
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edi, [eax + 3]
mov eax, dword [esp + 0x34]
movzx ecx, byte [esp + 0x94]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x30], edi
mov byte [ebx + esi], 0x30
mov byte [ebx + esi + 1], cl
shr edx, 0x1c
and edx, 1
add edx, 0x30
mov byte [ebx + esi + 2], dl
mov edx, dword [esp + 0x5c]
shl edx, 4
mov esi, dword [esp + 0x60]
shr esi, 0x1c
or esi, edx
mov dword [esp + 0x5c], esi
mov edx, dword [esp + 0x60]
shl edx, 4
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0x90]
test ecx, ecx
jge 0x6fc6c975
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
test edx, edx
setne dl
or edx, esi
test dl, dl
je 0x6fc6c96b
lea ecx, [edi + 1]
cmp ebp, ecx
jae 0x6fc6c956
lea eax, [0x6fe51840]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.6fc4af30
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
mov byte [ebx + edi], 0x2e
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
jmp 0x6fc6cdf1
test ecx, ecx
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
jle 0x6fc6c9d9
lea ecx, [edi + 1]
cmp ebp, ecx
jae 0x6fc6c9bb
lea eax, [0x6fe51840]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.6fc4af30
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x30]
mov byte [ebx + edi], 0x2e
mov edi, dword [esp + 0x90]
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x64]
jmp 0x6fc6cd4a
nop
movzx ecx, byte [esp + 0x94]
mov edx, ecx
or ecx, 0x20
cmp dl, cl
jne 0x6fc6c9f2
mov ecx, 0x70
jmp 0x6fc6c9f7
mov ecx, 0x50
lea edx, [edi + 1]
cmp ebp, edx
jae 0x6fc6ca40
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], cl
lea eax, [0x6fe51840]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.6fc4af30
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x34]
movzx ecx, byte [esp + 0x20]
mov edi, dword [esp + 0x30]
mov byte [ebx + edi], cl
test eax, eax
jge 0x6fc6ca50
neg eax
mov ecx, 0x2d
jmp 0x6fc6ca55
mov ecx, 0x2b
mov dword [esp + 0x34], eax
lea esi, [edx + 1]
cmp ebp, esi
jae 0x6fc6caa2
mov dword [esp + 0x30], edx
mov byte [esp + 0x20], cl
lea eax, [0x6fe51840]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.6fc4af30
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x34]
movzx ecx, byte [esp + 0x20]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x30], esi
mov byte [ebx + edx], cl
cmp eax, 0x64
jge 0x6fc6cb26
lea ecx, [esi + 2]
mov edx, eax
mov eax, 0xcccccccd
mov edi, edx
imul edx
add edx, edi
sar edx, 3
mov eax, edi
sar edi, 0x1f
sub edx, edi
lea edi, [edx + edx*4]
shl edi, 1
sub eax, edi
cmp ebp, ecx
jae 0x6fc6cb14
mov dword [esp + 0x34], edx
mov dword [esp + 0x2c], eax
lea eax, [0x6fe51840]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.6fc4af30
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 2]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
add edx, 0x30
mov byte [ebx + esi], dl
add eax, 0x30
mov byte [ebx + esi + 1], al
jmp 0x6fc6ccfd
mov dword [esp + 0x78], ebx
cmp eax, 0x3e8
jge 0x6fc6cc03
lea ecx, [esi + 3]
mov edx, eax
mov eax, 0xcccccccd
mov edi, edx
imul edx
add edx, edi
mov dword [esp + 0x2c], edx
sar edx, 3
mov dword [esp + 0x28], edx
mov eax, 0xcccccccd
imul edx
mov eax, esi
mov esi, dword [esp + 0x28]
add edx, esi
sar edx, 3
mov ebx, dword [esp + 0x2c]
sar ebx, 0x1f
sub edx, ebx
lea edx, [edx + edx*4]
shl edx, 1
mov ebx, esi
sub esi, edx
lea edx, [ebx + ebx*4]
shl edx, 1
mov ebx, edi
sub edi, edx
cmp ebp, ecx
jb 0x6fc6cb87
mov edx, dword [esp + 0x78]
jmp 0x6fc6cbd2
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edi
lea edx, [0x6fe51840]
mov dword [esp], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.6fc4af30
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 3]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov edx, ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x7c], edx
mov eax, 0x51eb851f
imul ebx
sar edx, 5
add edx, 0x30
mov eax, edi
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x7c]
mov byte [ebx + edi], dl
lea edx, [esi + 0x30]
mov byte [ebx + edi + 1], dl
lea edx, [eax + 0x30]
mov byte [ebx + edi + 2], dl
jmp 0x6fc6ccfd
mov ecx, eax
mov eax, 0xcccccccd
imul ecx
add edx, ecx
mov edi, edx
sar edx, 3
mov dword [esp + 0x2c], edx
lea ebx, [edx + edx*4]
shl ebx, 1
sub ecx, ebx
mov dword [esp + 0x28], ecx
lea ebx, [esi + 4]
mov eax, 0x51eb851f
mov ecx, dword [esp + 0x34]
imul ecx
sar edx, 5
mov eax, esi
movzx esi, dl
imul esi, esi, 0x19a
shr esi, 0xc
lea esi, [esi + esi*4]
shl esi, 1
sub edx, esi
mov byte [esp + 0x22], dl
mov esi, eax
mov eax, 0xcccccccd
mov edx, dword [esp + 0x2c]
imul edx
mov eax, esi
mov esi, dword [esp + 0x2c]
add edx, esi
sar edx, 3
sar edi, 0x1f
sub edx, edi
lea edx, [edx + edx*4]
shl edx, 1
sub esi, edx
mov dword [esp + 0x2c], esi
cmp ebp, ebx
jb 0x6fc6cc7e
mov edx, dword [esp + 0x78]
jmp 0x6fc6ccbf
lea ecx, [0x6fe51840]
mov dword [esp], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.6fc4af30
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
add eax, 4
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x2c]
mov edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x30]
mov edi, eax
mov eax, ecx
mov esi, 0x4189374c
mov ecx, edx
imul esi
sar edx, 8
add edx, 0x30
mov byte [ecx + edi], dl
movzx edx, byte [esp + 0x22]
add edx, 0x30
mov byte [ecx + edi + 1], dl
mov edx, dword [esp + 0x2c]
add edx, 0x30
mov byte [ecx + edi + 2], dl
mov edx, dword [esp + 0x28]
add edx, 0x30
mov byte [ecx + edi + 3], dl
mov eax, ecx
mov ecx, ebx
mov ebx, eax
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ebp
sub esp, 0xffffff80
ret
xchg esi, eax
mov byte [ebx + ecx], al
xchg esi, eax
mov ecx, dword [esp + 0x24]
inc ecx
mov esi, dword [esp + 0x5c]
shl esi, 4
mov eax, dword [esp + 0x60]
shr eax, 0x1c
or esi, eax
mov eax, dword [esp + 0x60]
shl eax, 4
mov dword [esp + 0x24], ecx
mov edx, eax
mov ecx, edi
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x90]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x24]
cmp edi, edx
jle 0x6fc6cdbc
mov dword [esp + 0x5c], esi
lea edi, [ecx + 1]
shr esi, 0x1c
and esi, 0xf
mov edx, dword [esp + 0x74]
movzx esi, byte [edx + esi]
cmp ebp, edi
jae 0x6fc6cd16
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov dword [esp + 0x2c], ecx
lea eax, [0x6fe51840]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.6fc4af30
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edi, [eax + 1]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x74]
movzx esi, byte [esp + 0x21]
jmp 0x6fc6cd16
mov edi, ecx
jmp 0x6fc6c9d9
mov eax, dword [esp + 0x7c]
xchg esi, ebx
mov byte [eax + ecx], bl
xchg esi, ebx
shl ebx, 4
mov esi, dword [esp + 0x60]
mov ecx, esi
shr esi, 0x1c
or esi, ebx
shl ecx, 4
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x7c]
mov ebx, edx
mov edx, ecx
mov ecx, ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x60], edx
test esi, esi
setne bl
test edx, edx
setne dl
or ebx, edx
test bl, bl
je 0x6fc6ce79
lea edx, [ecx + 1]
mov ebx, esi
shr esi, 0x1c
and esi, 0xf
movzx esi, byte [edi + esi]
cmp ebp, edx
jae 0x6fc6cdc3
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x2c], ecx
lea eax, [0x6fe51840]
mov dword [esp], eax
mov ebx, dword [esp + 0x7c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.6fc4af30
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
movzx esi, byte [esp + 0x21]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x5c]
jmp 0x6fc6cdc3
mov edi, ecx
mov ebx, dword [esp + 0x7c]
jmp 0x6fc6c9d9
call fcn.6fc60ad0
jmp fcn.6fc6c530