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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov esi, esp
mov dword [esi + 0xa8], ebp
mov dword [esi], ecx
nop
mov dword [esi + 0xac], esp
mov dword [esi + 0xb8], 0xffffffff
lea eax, [esi + 0xb0]
mov dword [esi + 0xb4], 0x706d60
mov ecx, dword fs:[0]
mov dword [esi + 0xb0], ecx
mov dword fs:[0], eax
call fcn.007065c0
mov edx, dword [0xa1ad88]
mov ecx, dword [0xa1ad7c]
mov edi, 0xffff2cd7
sub edi, eax
mov dword [esi + 0x28], edi
sub ecx, edi
add ecx, edx
call dword [0xa0535c]
call ecx
mov ecx, dword [ebp + 8]
mov dword [esi + 8], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esi + 0xc], ecx
cmp dword [0xa580cc], 0
nop
mov dword [esi + 0x18], eax
jne 0x6fab6c
xor eax, 0xc5ca9628
push eax
call fcn.008ea17d
add esp, 4
mov dword [esi + 0xb8], 0
mov dword [esi + 4], eax
mov ecx, eax
call fcn.00667be0
nop
mov eax, dword [esi + 4]
mov dword [0xa580cc], eax
nop
mov eax, dword [esi + 0x18]
nop
mov edi, dword [0xa570b0]
mov ecx, dword [esi]
add edi, dword [ecx + 0x240]
mov ecx, edi
not ecx
mov edx, eax
xor edx, 0x3a356d2b
and edx, ecx
mov ecx, eax
xor ecx, edi
xor ecx, 0xc5ca92d4
or ecx, edx
cmp ecx, 0xffffffff
mov eax, dword [0xa580cc]
mov dword [esi + 0x38], eax
je 0x6fae3b
nop
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x7c]
test ecx, ecx
je 0x6fabb8
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov dword [esi + 0x20], ecx
mov eax, dword [esi + 0xc]
not eax
mov edi, dword [esi + 0x18]
lea ecx, [edi + edi]
xor ecx, 0xb9525a0
and ecx, eax
mov eax, edi
shl eax, 0x1d
mov edx, edi
xor edx, dword [esi + 8]
xor edx, eax
mov eax, edi
shr eax, 3
xor eax, dword [esi + 0xc]
xor eax, 0x6746ada5
or eax, ecx
mov ebx, edi
xor ebx, 0xc5ca92df
mov ecx, dword [esi + 8]
not ecx
xor edx, 0x3a356d20
and ecx, ebx
or ecx, edx
mov edx, edi
shr edx, 4
mov dword [esi + 0x10], edx
mov dword [esi + 4], edi
mov edx, edi
mov edi, dword [esi + 4]
shl edi, 0x1c
mov dword [esi + 0x24], ebx
xor edi, ebx
mov dword [esi + 4], edi
xor dword [esi + 0x10], 0xc5ca92d
not ecx
mov ebx, edx
shr ebx, 5
mov edi, edx
shl edi, 0x1b
xor edi, edx
xor edi, 0xba356d20
xor ebx, 0xf9d1ab69
add edi, ecx
not eax
adc ebx, eax
xor eax, eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
mov ecx, dword [esi + 0x10]
sbb ecx, dword [esi + 0xc]
cmovge ebx, eax
cmovge edi, eax
mov ecx, dword [esi]
mov eax, dword [ecx + 0x228]
mov dword [esi + 0xc], edi
add eax, edi
mov edx, dword [ecx + 0x22c]
mov edi, ecx
mov dword [esi + 0x10], ebx
adc edx, ebx
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx + 0x364]
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa4], edx
mov ebx, dword [edi + 0x14]
mov dword [esi + 0xb8], 0xffffffff
call dword [0xa0535c]
sub esp, 0x14
movq xmm0, qword [esi + 0xa0]
movq qword [esp + 4], xmm0
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call ecx
test eax, eax
je 0x6fb471
nop
mov eax, dword [ebp + 0x10]
mov ecx, dword [esi + 8]
add eax, ecx
mov ecx, dword [esi + 0x24]
add ecx, eax
mov eax, dword [esi + 0x18]
xor eax, 0x3a356d20
mov dword [esi + 0x1c], eax
and ecx, eax
sub ecx, dword [esi + 0xc]
mov dword [esi + 0x4c], 0x922380
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0
mov dword [esi + 0x58], 0
mov byte [esi + 0x5c], 1
pxor xmm0, xmm0
movdqu xmmword [esi + 0x60], xmm0
mov eax, 0
mov dword [esi + 0x24], ecx
je 0x6fad3a
nop
mov dword [esi + 0xb8], 1
push ecx
call fcn.008ea1c5
add esp, 4
nop
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x58], ecx
mov dword [esi + 0x54], ecx
nop
mov dword [esi + 0x50], eax
mov ebx, dword [esi + 0x54]
mov edi, dword [0xa57058]
mov edx, eax
mov ecx, edi
xor ecx, ebx
and edi, ebx
add edi, edi
xor ebx, ebx
add edi, ecx
mov dword [esi + 0x8c], 0
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + 0x35c]
cmovne ebx, edx
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
mov dword [esi + 4], eax
mov dword [esi + 0xb8], 0xffffffff
call dword [0xa0535c]
mov dword [esi + 0xb8], 2
lea eax, [esi + 0x8c]
push 0
push eax
push edi
push ebx
push dword [esi + 4]
call ecx
test eax, eax
je 0x6fb478
nop
mov eax, dword [esi]
test byte [eax + 0xc], 2
je 0x6fb4e3
nop
mov eax, dword [esi + 0x10]
or eax, dword [esi + 0xc]
je 0x6fb4a7
nop
test byte [0xa57014], 1
jne 0x6fb4a7
nop
mov eax, dword [esi + 0x18]
xor eax, 0x7bb037f3
mov ecx, dword [esi + 0x54]
add ecx, eax
add ecx, dword [0xa570b0]
xor edx, edx
cmp ecx, eax
je 0x6fadea
mov edx, dword [esi + 0x50]
mov dword [esi + 4], edx
mov eax, dword [0xa1ad80]
mov ecx, dword [0xa1ad70]
sub ecx, dword [esi + 0x28]
add ecx, eax
mov ebx, dword [esi]
lea eax, [ebx + 0x114]
mov dword [esi + 0x10], eax
mov edi, dword [esi + 0x18]
xor edi, 0xc5ca92c0
mov dword [esi + 0xb8], 0xffffffff
call dword [0xa0535c]
push edi
push dword [esi + 4]
push dword [esi + 0x10]
call ecx
add esp, 0xc
add edi, dword [esi + 4]
mov eax, dword [esi + 0x24]
add eax, dword [esi + 0x1c]
jmp 0x6fb4c7
and edi, 1
add edi, dword [0xa56ff4]
je 0x6fae67
nop
mov eax, dword [esi]
cmp dword [eax + 0xa0], 2
jb 0x6fae67
nop
mov eax, dword [esi]
mov ecx, dword [eax + 0x9c]
mov al, 1
cmp byte [ecx + 0x11], 0
jne 0x6fb542
mov ebx, dword [esi + 0x18]
mov ecx, ebx
shr ecx, 5
mov edi, ebx
shl edi, 0x1b
xor edi, ebx
xor edi, 0x45ca9d2f
xor ecx, 0x62e5496
add edi, dword [ebp + 0x10]
adc ecx, 0
mov eax, ebx
xor eax, edi
mov dword [esi + 4], eax
mov edx, ebx
shl edx, 0x1c
xor edx, ebx
mov dword [esi + 0x44], edx
xor edx, 0x156b4c26
and edx, edi
mov eax, ebx
xor eax, ecx
mov edi, ebx
shr edi, 4
xor edi, 0x46b7c811
and edi, ecx
xor eax, 0xf21f3ec
mov dword [esi + 0x10], eax
shld edi, edx, 1
xor dword [esi + 4], 0x156b4c26
add edx, edx
mov ecx, ebx
shr ecx, 1
mov eax, ebx
shl eax, 0x1f
xor eax, ebx
xor eax, 0xea94b3d9
xor ecx, 0x57f1d7ab
add eax, dword [esi + 8]
mov ebx, dword [esi + 0xc]
adc ecx, ebx
add eax, dword [esi + 4]
adc ecx, dword [esi + 0x10]
add eax, edx
adc ecx, edi
add eax, 1
adc ecx, 0
movd xmm1, ecx
movd xmm2, eax
punpckldq xmm2, xmm1
movd xmm3, dword [esi + 8]
movd xmm0, ebx
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm2
shufps xmm0, xmm1, 0
psrad xmm0, 0x1f
psrlq xmm0, 0x34
paddq xmm0, xmm3
movdqa xmm1, xmm0
psrlq xmm1, 0xc
psrad xmm0, 0xc
pshufd xmm2, xmm0, 0x55
movd edx, xmm2
movd edi, xmm1
pshufd xmm0, xmm0, 0xff
pshufd xmm1, xmm1, 0xee
movd eax, xmm1
mov dword [esi + 0xc], eax
cmp edi, eax
movd ecx, xmm0
mov eax, edx
mov dword [esi + 4], ecx
sbb eax, ecx
mov al, 1
jge 0x6fb542
mov dword [esi + 8], edx
mov edx, dword [esi + 0x18]
mov eax, edx
shr eax, 2
mov dword [esi + 0x10], eax
mov ecx, edx
shl ecx, 0x1e
xor ecx, edx
mov ebx, ecx
xor ebx, 0xa1bea930
mov dword [esi + 0x24], ebx
xor eax, 0xee1a3b28
mov dword [esi + 0x20], eax
mov eax, edx
shl eax, 4
xor eax, 0x7c3e4d63
mov dword [esi + 0x1c], eax
mov eax, edx
xor eax, 0x5e4156cf
mov dword [esi + 0x34], eax
mov ebx, edx
shr ebx, 3
mov eax, edx
shl eax, 0x1d
xor eax, edx
xor eax, 0xa41c6131
xor ebx, 0x175b7d8c
add eax, dword [esi + 0x34]
adc ebx, dword [esi + 0x1c]
xor ecx, 0x5be39ece
xor dword [esi + 0x10], 0xc16f749d
add eax, dword [esi + 0x24]
adc ebx, dword [esi + 0x20]
add eax, ecx
adc ebx, dword [esi + 0x10]
add eax, 3
mov dword [esi + 0x24], eax
adc ebx, 0
mov dword [esi + 0x10], ebx
mov eax, edx
xor eax, 0x5e6ee77e
mov ecx, edx
xor ecx, 0xa1911881
add ecx, eax
mov dword [esi + 0x80], ecx
mov eax, edx
xor eax, 0xc5ca92dc
mov dword [esi + 0x88], eax
mov eax, edx
xor eax, 0xc5ca92df
mov dword [esi + 0x84], eax
mov eax, edx
xor eax, 0x3a356d20
mov dword [esi + 0x7c], eax
mov eax, edx
xor eax, 0xc5ca92c0
mov dword [esi + 0x3c], eax
xor dword [esi + 0x44], 0xc5ca92dc
mov eax, edx
xor eax, 0xc5ca82d0
mov dword [esi + 0x70], eax
xor edx, 0xc5ca9d20
mov dword [esi + 0x18], edx
mov eax, dword [esi]
lea ecx, [eax + 0x114]
mov dword [esi + 0x48], ecx
add eax, 0xec
mov dword [esi + 0x78], eax
mov eax, edi
mov dword [esi + 0x1c], edi
mov eax, dword [esi + 8]
mov dword [esi + 0x34], eax
mov dword [esi + 0x20], edi
mov dword [esi + 0x40], eax
jmp 0x6fb0ba
lea ebx, [edx + ecx]
inc ebx
mov eax, dword [0xa1ad80]
mov ecx, dword [0xa1ad70]
sub ecx, dword [esi + 0x28]
add ecx, eax
call dword [0xa0535c]
push dword [esi + 0x3c]
push ebx
push dword [esi + 0x48]
call ecx
add esp, 0xc
nop
mov eax, dword [esi + 0x2c]
push eax
push dword [esi + 0x30]
push eax
push dword [esi + 0x78]
call fcn.00797940
add esp, 0x10
nop
cmp edi, dword [esi + 0xc]
mov eax, dword [esi + 8]
sbb eax, dword [esi + 4]
jge 0x6fb55a
nop
mov ecx, dword [esi]
mov eax, dword [ecx + 0x9c]
mov ecx, dword [ecx + 0xa0]
nop dword [eax]
cmp ecx, edi
mov ebx, 0
cmova ebx, edi
mov edx, ebx
shl edx, 4
add edx, ebx
cmp byte [eax + edx], 0
je 0x6fb100
add edi, dword [esi + 0x24]
mov edx, dword [esi + 8]
adc edx, dword [esi + 0x10]
cmp edi, dword [esi + 0xc]
mov dword [esi + 8], edx
sbb edx, dword [esi + 4]
jl 0x6fb0d0
mov ecx, dword [esi + 8]
jmp 0x6fb109
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 8]
mov dword [esi + 0x40], ecx
mov eax, edi
mov ebx, dword [esi + 0xc]
xor eax, ebx
mov dword [esi + 8], ecx
mov edx, dword [esi + 4]
xor ecx, edx
or ecx, eax
je 0x6fb55a
cmp edi, ebx
mov eax, dword [esi + 8]
mov ebx, eax
sbb eax, edx
jge 0x6fb180
nop dword [eax + eax]
mov ecx, edi
mov eax, dword [esi]
cmp dword [eax + 0xa0], edi
ja 0x6fb13e
xor ecx, ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x9c]
mov edx, ecx
shl edx, 4
add edx, ecx
cmp byte [eax + edx], 0
jne 0x6fb190
add eax, edx
mov byte [eax], 1
add edi, 1
mov eax, ebx
adc eax, 0
cmp edi, dword [esi + 0xc]
mov ebx, eax
sbb eax, dword [esi + 4]
jl 0x6fb130
mov edi, dword [esi + 0xc]
mov ecx, dword [esi + 4]
jmp 0x6fb19a
mov ecx, ebx
jmp 0x6fb19a
mov eax, edi
mov dword [esi + 0x1c], edi
mov ecx, ebx
mov dword [esi + 0x34], ebx
mov eax, edi
mov edx, dword [esi + 0xc]
xor eax, edx
mov dword [esi + 8], ecx
mov ebx, dword [esi + 4]
xor ecx, ebx
or ecx, eax
mov eax, dword [esi + 0x34]
cmove eax, ebx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x1c]
cmove eax, edx
mov edx, dword [esi + 0x40]
mov ecx, dword [esi + 0x88]
mov ebx, dword [esi + 0x20]
shld edx, ebx, cl
mov ebx, dword [esi + 0x20]
shl ebx, cl
test cl, 0x20
cmovne edx, ebx
mov dword [esi + 0x14], edx
mov edx, 0
cmovne ebx, edx
mov edx, eax
mov dword [esi + 0x1c], eax
sub edx, dword [esi + 0x20]
shl edx, cl
mov ecx, ebx
add ecx, edx
mov eax, dword [esi + 0x14]
adc eax, 0
mov dword [esi + 0x2c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
sub eax, ebx
cmp dword [esi + 0x30], ecx
mov ecx, 0
sbb ecx, dword [esi + 0x2c]
cmovge eax, edx
mov dword [esi + 0x30], eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x228]
mov dword [esi + 0x2c], ebx
add edx, ebx
mov eax, dword [esi + 0x14]
mov ebx, ecx
adc eax, dword [ecx + 0x22c]
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx + 0x364]
mov dword [esi + 0x98], edx
mov dword [esi + 0x9c], eax
mov ebx, dword [ebx + 0x14]
mov dword [esi + 0xb8], 0xffffffff
call dword [0xa0535c]
sub esp, 0x14
movq xmm0, qword [esi + 0x98]
movq qword [esp + 4], xmm0
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call ecx
test eax, eax
je 0x6fb471
nop
mov dword [esi + 0x4c], 0
mov eax, dword [esi]
mov ebx, dword [eax + 0x7c]
test ebx, ebx
je 0x6fb296
mov ebx, dword [eax + 0x78]
mov eax, dword [eax + 0x14]
mov dword [esi + 0x14], eax
add ebx, dword [esi + 0x2c]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + 0x35c]
call dword [0xa0535c]
push 0
lea eax, [esi + 0x4c]
push eax
push dword [esi + 0x30]
mov dword [esi + 0x2c], ebx
push ebx
push dword [esi + 0x14]
call ecx
test eax, eax
je 0x6fb55e
nop
mov edx, dword [esi]
mov eax, dword [edx + 0xa0]
mov ecx, eax
sar ecx, 0x1f
cmp eax, dword [esi + 0x1c]
sbb ecx, dword [esi + 0x34]
jl 0x6fb345
nop
mov ecx, dword [esi + 0x84]
cmp dword [edx + 0x7c], ecx
jbe 0x6fb345
nop
mov ecx, dword [esi + 0x80]
mov edx, dword [esi + 0x1c]
add ecx, edx
cmp eax, ecx
mov eax, 0
cmovbe ecx, eax
mov eax, dword [esi]
mov eax, dword [eax + 0x9c]
mov edx, ecx
shl edx, 4
add edx, ecx
add eax, edx
inc eax
mov dword [esi + 0x14], eax
mov eax, dword [0xa1ad80]
mov ecx, dword [0xa1ad70]
sub ecx, dword [esi + 0x28]
add ecx, eax
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x2c]
lea ebx, [edx + eax]
add ebx, dword [esi + 0x7c]
call dword [0xa0535c]
push dword [esi + 0x3c]
push ebx
push dword [esi + 0x14]
call ecx
mov edx, dword [esi]
add esp, 0xc
nop
test byte [edx + 0xc], 2
je 0x6fb0aa
nop
mov ebx, dword [esi + 0x20]
add ebx, 0xffffffff
mov eax, dword [esi + 0x40]
adc eax, 0xffffffff
mov dword [esi + 0x14], eax
mov eax, dword [esi]
cmp dword [eax + 0xa0], ebx
mov edx, 0
cmova edx, ebx
mov ecx, edx
shl ecx, 4
add ecx, edx
mov edx, dword [eax + 0x9c]
cmp byte [edx + ecx], 0
jne 0x6fb070
nop
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x14]
shld eax, ebx, cl
shl ebx, cl
test cl, 0x20
cmovne eax, ebx
mov ecx, 0
cmovne ebx, ecx
mov ecx, dword [esi]
mov edx, dword [ecx + 0x228]
mov dword [esi + 0x74], ebx
add edx, ebx
mov ebx, ecx
adc eax, dword [ecx + 0x22c]
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx + 0x364]
mov dword [esi + 0x90], edx
mov dword [esi + 0x94], eax
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x14], eax
call dword [0xa0535c]
sub esp, 0x14
movq xmm0, qword [esi + 0x90]
movq qword [esp + 4], xmm0
mov eax, dword [esi + 0x14]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call ecx
test eax, eax
je 0x6fb55e
nop
mov ecx, dword [ebx + 0x7c]
mov eax, ecx
test ecx, ecx
je 0x6fb415
mov eax, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x14]
mov dword [esi + 0x14], ecx
mov ebx, eax
add ebx, dword [esi + 0x74]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + 0x35c]
call dword [0xa0535c]
push 0
lea eax, [esi + 0x4c]
push eax
push dword [esi + 0x70]
push ebx
push dword [esi + 0x14]
call ecx
test eax, eax
je 0x6fb55e
nop
mov eax, dword [0xa1ad80]
mov ecx, dword [0xa1ad70]
sub ecx, dword [esi + 0x28]
add ecx, eax
add ebx, dword [esi + 0x18]
call dword [0xa0535c]
push dword [esi + 0x3c]
push ebx
push dword [esi + 0x48]
call ecx
add esp, 0xc
jmp 0x6fb096
xor eax, eax
jmp 0x6fb542
nop
mov eax, dword [0xa1ad84]
mov edi, dword [0xa1ad74]
sub edi, dword [esi + 0x28]
add edi, eax
mov dword [esi + 0xb8], 0xffffffff
mov ecx, edi
call dword [0xa0535c]
lea ecx, [esi + 0x4c]
call edi
xor eax, eax
jmp 0x6fb542
pxor xmm0, xmm0
mov eax, dword [esi]
movdqu xmmword [eax + 0x114], xmm0
mov eax, dword [esi + 0x54]
mov edi, eax
test eax, eax
je 0x6fb4c1
mov edi, dword [esi + 0x50]
nop
mov ebx, dword [esi]
mov eax, dword [esi + 0x24]
add ebx, 0xec
mov dword [esi + 0xb8], 2
push edi
push eax
push edi
push ebx
call fcn.00797940
add esp, 0x10
nop
mov eax, dword [esi + 0x54]
test eax, eax
je 0x6fb4ee
mov eax, dword [esi + 0x50]
mov edi, dword [esi + 8]
sub edi, dword [esi + 0xc]
add edi, eax
mov eax, dword [0xa1ad80]
mov ecx, dword [0xa1ad70]
mov ebx, dword [esi + 0x28]
sub ecx, ebx
add ecx, eax
mov dword [esi + 0xb8], 0xffffffff
call dword [0xa0535c]
push dword [ebp + 0x10]
push edi
push dword [esi + 0x20]
call ecx
add esp, 0xc
mov eax, dword [0xa1ad84]
mov edi, dword [0xa1ad74]
sub edi, ebx
add edi, eax
mov ecx, edi
call dword [0xa0535c]
lea ecx, [esi + 0x4c]
call edi
mov al, 1
nop
mov ecx, dword [esi + 0xb0]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov al, 1
jmp 0x6fb542
xor eax, eax
jmp 0x6fb542