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

Disassembly:
sub esp, 0x110
mov eax, dword [0x7c2580]
xor eax, esp
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x120]
push ebx
mov ebx, dword [esp + 0x118]
push ebp
push esi
push edi
mov eax, dword [ebx + 0x70f0]
mov ebp, ecx
mov edi, dword [esp + 0x12c]
mov esi, dword [ebx + 0x7100]
add edi, ecx
mov dword [esp + 0x5c], ebx
add esi, eax
cmp dword [esp + 0x138], 0
mov dword [esp + 0x64], ecx
mov ecx, dword [ebx + 0x703c]
mov ebx, dword [ebx + 0x7040]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x50], edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x28], eax
mov ebx, dword [ebx + 0x7044]
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], ebx
je 0x6ba8e5
mov edi, dword [esp + 0x5c]
mov eax, 4
cmp dword [esp + 0x138], eax
push dword [esp + 0x134]
cmovl eax, dword [esp + 0x13c]
mov dword [esp + 0x58], eax
mov dword [edi + 0x708c], 1
mov eax, dword [edi + 0x682c]
mov dword [esp + 0xc8], eax
mov eax, dword [edi + 0x6830]
mov dword [esp + 0xcc], eax
mov eax, dword [edi + 0x6834]
mov dword [esp + 0xd0], eax
mov eax, ebp
sub eax, ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xdc], eax
lea eax, [esp + 0x9c]
push edx
push eax
mov dword [esp + 0xe0], ebx
call fcn.006b3e80
add esp, 0xc
cmp eax, 0xffffff88
jbe 0x6b99af
mov eax, 0xffffffec
jmp 0x6ba90f
mov esi, dword [edi]
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov edx, dword [esi + 4]
add ecx, edx
mov dword [esp + 0x9c], ecx
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, dword [edx*4 + 0x7a5cd0]
mov dword [esp + 0xac], eax
lea eax, [esp + 0x98]
push eax
call fcn.006b3ff0
mov ecx, dword [esp + 0xa0]
lea eax, [esi + 8]
mov esi, dword [edi + 8]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x9c]
mov edx, dword [esi + 4]
add ecx, edx
mov dword [esp + 0xa0], ecx
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, dword [edx*4 + 0x7a5cd0]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x9c]
push eax
call fcn.006b3ff0
mov ecx, dword [esp + 0xa4]
lea eax, [esi + 8]
mov esi, dword [edi + 4]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xa0]
mov edx, dword [esi + 4]
add ecx, edx
mov dword [esp + 0xa4], ecx
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, dword [edx*4 + 0x7a5cd0]
mov dword [esp + 0xc4], eax
lea eax, [esp + 0xa0]
push eax
call fcn.006b3ff0
mov ebx, dword [esp + 0xa8]
lea eax, [esp + 0xe8]
add esi, 8
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xc0]
add esp, 0xc
mov dword [esp + 0xc0], esi
xor edx, edx
mov esi, dword [esp + 0x98]
mov dword [esp + 0x38], eax
mov ebp, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x24], edx
cmp ebx, 0x20
jbe 0x6b9ad7
mov edi, 3
jmp 0x6b9b38
cmp ecx, eax
jb 0x6b9ae9
mov eax, ebx
and ebx, 7
shr eax, 3
sub ecx, eax
xor edi, edi
jmp 0x6b9b1a
cmp ecx, ebp
jne 0x6b9af7
cmp ebx, 0x20
sbb edi, edi
add edi, 2
jmp 0x6b9b38
mov edx, ebx
mov eax, ecx
shr edx, 3
xor edi, edi
sub eax, edx
cmp eax, ebp
jae 0x6b9b0f
mov edx, ecx
mov edi, 1
sub edx, ebp
imul eax, edx, 0xfffffff8
sub ecx, edx
mov edx, dword [esp + 0x24]
add ebx, eax
mov esi, dword [ecx]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ecx
cmp edx, dword [esp + 0x54]
jge 0x6b9f10
cmp edi, 2
ja 0x6b99a5
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
mov edx, dword [ecx + eax*8]
mov ebp, dword [ecx + eax*8 + 4]
mov ecx, edx
mov eax, ebp
mov dword [esp + 0x60], edx
shrd ecx, eax, 0x10
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x44], edx
mov edx, dword [ecx + eax*8]
mov edi, dword [ecx + eax*8 + 4]
mov ecx, edx
mov eax, edi
mov dword [esp + 0x20], edx
shrd ecx, eax, 0x10
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], edx
mov dword [esp + 0x18], edi
mov edx, dword [eax + ecx*8]
mov dword [esp + 0x38], edx
mov edx, dword [eax + ecx*8 + 4]
mov eax, dword [esp + 0x38]
mov ecx, eax
mov dword [esp + 0x70], eax
mov eax, edx
shrd ecx, eax, 0x10
mov dword [esp + 0x10], edx
cmp cl, 1
jbe 0x6b9cc2
cmp dword [esp + 0x13c], 0
je 0x6b9c63
cmp cl, 0x19
jb 0x6b9c63
movzx edi, cl
mov eax, 0x20
sub eax, ebx
mov edx, edi
cmp edi, eax
mov ecx, ebx
cmovae edx, eax
and ecx, 0x1f
shl esi, cl
lea eax, [esp + 0x98]
mov ecx, edx
sub edi, edx
neg ecx
add ebx, edx
and ecx, 0x1f
mov dword [esp + 0x9c], ebx
shr esi, cl
mov ecx, edi
shl esi, cl
add esi, dword [esp + 0x10]
push eax
mov dword [esp + 0x14], esi
call fcn.006b3ff0
add esp, 4
test edi, edi
je 0x6b9caa
lea eax, [esp + 0x98]
push edi
push eax
call fcn.006b3fc0
mov edi, dword [esp + 0x20]
mov ecx, esi
mov ebx, dword [esp + 0xa4]
add esp, 8
mov esi, dword [esp + 0x98]
add ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x6b9d3c
movzx eax, cl
mov ecx, ebx
and ecx, 0x1f
add ebx, eax
shl esi, cl
mov ecx, eax
neg ecx
mov dword [esp + 0x9c], ebx
and ecx, 0x1f
lea eax, [esp + 0x98]
shr esi, cl
add esi, edx
push eax
mov dword [esp + 0x14], esi
call fcn.006b3ff0
mov ebx, dword [esp + 0xa0]
mov ecx, esi
mov esi, dword [esp + 0x9c]
add esp, 4
jmp 0x6b9d3c
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
jmp 0x6b9d3c
xor eax, eax
test ebp, ebp
sete al
mov dword [esp + 0x10], eax
test cl, cl
jne 0x6b9cef
test ebp, ebp
je 0x6b9ce2
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x10], ecx
jmp 0x6b9d5f
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x10], ecx
jmp 0x6b9d4a
mov ecx, ebx
mov eax, esi
and ecx, 0x1f
inc ebx
shl eax, cl
xor ecx, ecx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x9c], ebx
add edx, dword [esp + 0x10]
cmp edx, 3
jne 0x6b9d25
mov eax, dword [esp + 0xc4]
add eax, 0xffffffff
sete cl
add ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x6b9d3c
mov eax, dword [esp + edx*4 + 0xc4]
test eax, eax
sete cl
add ecx, eax
mov dword [esp + 0x10], ecx
cmp edx, 1
je 0x6b9d4a
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], edi
test al, al
je 0x6b9d9e
movzx edx, al
mov ecx, ebx
add ebx, edx
and ecx, 0x1f
neg edx
mov dword [esp + 0x9c], ebx
mov eax, esi
and edx, 0x1f
shl eax, cl
mov ecx, edx
shr eax, cl
add edi, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x7c], edi
mov ecx, dword [esp + 0x30]
movzx edi, cl
movzx eax, al
add eax, edi
cmp eax, 0x14
jb 0x6b9dcd
lea eax, [esp + 0x98]
push eax
call fcn.006b3ff0
mov ebx, dword [esp + 0xa0]
add esp, 4
mov esi, dword [esp + 0x98]
cmp byte [esp + 0x30], 0
mov dword [esp + 0x78], ebp
jbe 0x6b9df7
mov ecx, ebx
add ebx, edi
and ecx, 0x1f
mov dword [esp + 0x9c], ebx
neg edi
shl esi, cl
and edi, 0x1f
mov ecx, edi
shr esi, cl
add ebp, esi
mov dword [esp + 0x78], ebp
lea eax, [esp + 0x98]
push eax
call fcn.006b3ff0
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd4]
add ecx, ebp
cmp dword [esp + 0x14], ecx
mov edi, dword [esp + 0xa0]
cmova eax, dword [esp + 0xd8]
sub eax, dword [esp + 0x14]
movzx esi, byte [esp + 0x4b]
add eax, ecx
mov ebx, dword [esp + 0x9c]
add edi, esi
mov dword [esp + 0x88], eax
mov edx, ebx
mov eax, dword [esp + 0x1c]
add eax, ecx
mov ecx, edi
neg ecx
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x64]
and ecx, 0x1f
shr edx, cl
and edx, dword [esi*4 + 0x7a5cd0]
movzx eax, ax
add edx, eax
mov dword [esp + 0xb0], edx
movzx edx, byte [esp + 0x6f]
lea ecx, [edi + edx]
lea eax, [edi + edx]
neg ecx
mov dword [esp + 0xa0], eax
and ecx, 0x1f
mov eax, dword [esp + 0x24]
shr ebx, cl
and ebx, dword [edx*4 + 0x7a5cd0]
movzx eax, ax
add ebx, eax
lea eax, [esp + 0x9c]
push eax
mov dword [esp + 0xc4], ebx
call fcn.006b3ff0
movzx eax, byte [esp + 0x7b]
add esp, 8
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
add ebx, eax
mov edx, dword [esp + 0x38]
mov ecx, ebx
movups xmm0, xmmword [esp + 0x78]
neg ecx
mov dword [esp + 0x9c], ebx
and ecx, 0x1f
mov edi, esi
shr edi, cl
mov ecx, dword [esp + 0x1c]
and edi, dword [eax*4 + 0x7a5cd0]
movzx eax, dx
mov edx, dword [esp + 0x24]
add edi, eax
movups xmmword [ecx], xmm0
inc edx
mov dword [esp + 0x38], edi
add ecx, 0x10
mov dword [esp + 0xb4], edi
mov dword [esp + 0x1c], ecx
jmp 0x6b9ab2
cmp ebx, 0x20
jbe 0x6b9f1c
mov edi, 3
jmp 0x6b9f76
cmp ecx, eax
jb 0x6b9f2e
mov eax, ebx
and ebx, 7
shr eax, 3
sub ecx, eax
xor edi, edi
jmp 0x6b9f5f
cmp ecx, ebp
jne 0x6b9f3c
cmp ebx, 0x20
sbb edi, edi
add edi, 2
jmp 0x6b9f76
mov edx, ebx
mov eax, ecx
shr edx, 3
xor edi, edi
sub eax, edx
cmp eax, ebp
jae 0x6b9f54
mov edx, ecx
mov edi, 1
sub edx, ebp
imul eax, edx, 0xfffffff8
sub ecx, edx
mov edx, dword [esp + 0x24]
add ebx, eax
mov esi, dword [ecx]
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x138]
cmp edx, eax
jge 0x6ba623
cmp edi, 2
ja 0x6b99a5
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
mov edx, dword [ecx + eax*8]
mov ebp, dword [ecx + eax*8 + 4]
mov ecx, edx
mov eax, ebp
mov dword [esp + 0x60], edx
shrd ecx, eax, 0x10
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x70], edx
mov edx, dword [ecx + eax*8]
mov edi, dword [ecx + eax*8 + 4]
mov ecx, edx
mov eax, edi
mov dword [esp + 0x44], edx
shrd ecx, eax, 0x10
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], edx
mov dword [esp + 0x18], edi
mov edx, dword [eax + ecx*8]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + ecx*8 + 4]
mov eax, dword [esp + 0x2c]
mov ecx, eax
mov dword [esp + 0x78], eax
mov eax, edx
shrd ecx, eax, 0x10
mov dword [esp + 0x20], edx
cmp cl, 1
jbe 0x6ba109
cmp dword [esp + 0x13c], 0
je 0x6ba0aa
cmp cl, 0x19
jb 0x6ba0aa
movzx edi, cl
mov eax, 0x20
sub eax, ebx
mov edx, edi
cmp edi, eax
mov ecx, ebx
cmovae edx, eax
and ecx, 0x1f
shl esi, cl
lea eax, [esp + 0x98]
mov ecx, edx
sub edi, edx
neg ecx
add ebx, edx
and ecx, 0x1f
mov dword [esp + 0x9c], ebx
shr esi, cl
mov ecx, edi
shl esi, cl
add esi, dword [esp + 0x20]
push eax
mov dword [esp + 0x14], esi
call fcn.006b3ff0
add esp, 4
test edi, edi
je 0x6ba0f1
lea eax, [esp + 0x98]
push edi
push eax
call fcn.006b3fc0
mov edi, dword [esp + 0x20]
mov ecx, esi
mov ebx, dword [esp + 0xa4]
add esp, 8
mov esi, dword [esp + 0x98]
add ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x6ba186
movzx eax, cl
mov ecx, ebx
and ecx, 0x1f
add ebx, eax
shl esi, cl
mov ecx, eax
neg ecx
mov dword [esp + 0x9c], ebx
and ecx, 0x1f
lea eax, [esp + 0x98]
shr esi, cl
add esi, edx
push eax
mov dword [esp + 0x14], esi
call fcn.006b3ff0
mov ebx, dword [esp + 0xa0]
mov ecx, esi
mov esi, dword [esp + 0x9c]
add esp, 4
jmp 0x6ba186
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
jmp 0x6ba186
xor eax, eax
test ebp, ebp
sete al
mov dword [esp + 0x20], eax
test cl, cl
jne 0x6ba139
test ebp, ebp
je 0x6ba12c
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x10], ecx
jmp 0x6ba1a9
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x10], ecx
jmp 0x6ba194
mov ecx, ebx
mov eax, esi
and ecx, 0x1f
inc ebx
shl eax, cl
xor ecx, ecx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x9c], ebx
add edx, dword [esp + 0x20]
cmp edx, 3
jne 0x6ba16f
mov eax, dword [esp + 0xc4]
add eax, 0xffffffff
sete cl
add ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x6ba186
mov eax, dword [esp + edx*4 + 0xc4]
test eax, eax
sete cl
add ecx, eax
mov dword [esp + 0x10], ecx
cmp edx, 1
je 0x6ba194
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x8c], edi
test al, al
je 0x6ba1ee
movzx edx, al
mov ecx, ebx
add ebx, edx
and ecx, 0x1f
neg edx
mov dword [esp + 0x9c], ebx
and edx, 0x1f
mov eax, esi
shl eax, cl
mov ecx, edx
shr eax, cl
add edi, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x8c], edi
mov ecx, dword [esp + 0x30]
movzx edi, cl
movzx eax, al
add eax, edi
cmp eax, 0x14
jb 0x6ba21d
lea eax, [esp + 0x98]
push eax
call fcn.006b3ff0
mov ebx, dword [esp + 0xa0]
add esp, 4
mov esi, dword [esp + 0x98]
cmp byte [esp + 0x30], 0
mov dword [esp + 0x88], ebp
jbe 0x6ba24d
mov ecx, ebx
add ebx, edi
and ecx, 0x1f
mov dword [esp + 0x9c], ebx
neg edi
shl esi, cl
and edi, 0x1f
mov ecx, edi
shr esi, cl
add ebp, esi
mov dword [esp + 0x88], ebp
lea eax, [esp + 0x98]
push eax
call fcn.006b3ff0
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd4]
add ecx, ebp
cmp dword [esp + 0x14], ecx
mov edi, dword [esp + 0xa0]
cmova eax, dword [esp + 0xd8]
sub eax, dword [esp + 0x14]
movzx esi, byte [esp + 0x77]
add eax, ecx
mov ebx, dword [esp + 0x9c]
add edi, esi
mov dword [esp + 0x98], eax
mov edx, ebx
mov eax, dword [esp + 0x1c]
add eax, ecx
mov ecx, edi
neg ecx
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x64]
and ecx, 0x1f
shr edx, cl
and edx, dword [esi*4 + 0x7a5cd0]
movzx eax, ax
add edx, eax
mov dword [esp + 0xb0], edx
movzx edx, byte [esp + 0x6f]
lea ecx, [edx + edi]
lea eax, [edi + edx]
neg ecx
mov dword [esp + 0xa0], eax
and ecx, 0x1f
mov eax, dword [esp + 0x48]
shr ebx, cl
and ebx, dword [edx*4 + 0x7a5cd0]
movzx eax, ax
add ebx, eax
lea eax, [esp + 0x9c]
push eax
mov dword [esp + 0xc4], ebx
call fcn.006b3ff0
movzx eax, byte [esp + 0x83]
add esp, 8
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
add ebx, eax
mov ecx, ebx
mov dword [esp + 0x9c], ebx
neg ecx
mov edx, esi
and ecx, 0x1f
shr edx, cl
lea ecx, [esp + 0xdc]
and edx, dword [eax*4 + 0x7a5cd0]
mov eax, dword [esp + 0x2c]
movzx eax, ax
add edx, eax
mov eax, dword [esp + 0x24]
and eax, 3
mov dword [esp + 0x38], edx
shl eax, 4
add eax, ecx
mov dword [esp + 0xb4], edx
mov dword [esp + 0x20], eax
movups xmm1, xmmword [eax]
mov eax, dword [esp + 0x14]
movaps xmm0, xmm1
movd edx, xmm1
psrldq xmm0, 4
movd ecx, xmm0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ecx
lea ebp, [edx + eax]
mov dword [esp + 0x44], ebp
lea edi, [ecx + edx]
mov ecx, dword [esp + 0x28]
add ecx, edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x30], ecx
psrldq xmm1, 8
mov edx, ebp
movd ecx, xmm1
sub edx, ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x30], ecx
ja 0x6ba593
lea ecx, [edi + eax]
mov eax, dword [esp + 0x50]
add eax, 0xffffffe0
cmp ecx, eax
ja 0x6ba593
cmp dword [esp + 0x1c], 0x10
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
jbe 0x6ba41f
movups xmm0, xmmword [ecx + 0x10]
mov ebp, dword [esp + 0x1c]
add eax, 0x10
add ebp, 0xfffffff0
add ecx, 0x20
add ebp, eax
mov dword [esp + 0x20], ebp
movups xmmword [eax], xmm0
add eax, 0x10
cmp eax, ebp
mov ebp, dword [esp + 0x44]
jae 0x6ba41f
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, dword [esp + 0x20]
jb 0x6ba405
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], eax
mov eax, ebp
sub eax, dword [esp + 0x34]
cmp ecx, eax
jbe 0x6ba49d
mov eax, ebp
sub eax, dword [esp + 0x58]
cmp ecx, eax
ja 0x6ba617
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
add edx, eax
lea eax, [edx + ecx]
cmp eax, dword [esp + 0x3c]
ja 0x6ba472
push ecx
push edx
push ebp
call fcn.006d8770
mov ebp, dword [esp + 0x20]
add esp, 0xc
jmp 0x6ba5d2
mov edi, dword [esp + 0x3c]
sub edi, edx
push edi
push edx
push ebp
call fcn.006d8770
mov eax, dword [esp + 0x1c]
add ebp, edi
mov edx, dword [esp + 0x40]
add esp, 0xc
mov ecx, dword [esp + 0x2c]
sub eax, edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jmp 0x6ba4a1
mov eax, dword [esp + 0x10]
cmp ecx, 0x10
jb 0x6ba4e2
movups xmm0, xmmword [edx]
add eax, ebp
lea ecx, [edx + 0x10]
mov dword [esp + 0x44], eax
lea eax, [ebp + 0x10]
mov edx, dword [esp + 0x44]
movups xmmword [ebp], xmm0
cmp eax, edx
jae 0x6ba4d9
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, edx
jb 0x6ba4c1
mov ebp, dword [esp + 0x14]
jmp 0x6ba5d2
cmp ecx, 8
jae 0x6ba517
movzx eax, byte [edx]
mov byte [ebp], al
movzx eax, byte [edx + 1]
mov byte [ebp + 1], al
movzx eax, byte [edx + 2]
mov byte [ebp + 2], al
movzx eax, byte [edx + 3]
add edx, dword [ecx*4 + 0x7a5c90]
mov byte [ebp + 3], al
mov eax, dword [edx]
sub edx, dword [ecx*4 + str._b_b_b_a_b_t_n_v]
mov dword [ebp + 4], eax
jmp 0x6ba522
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [ebp], eax
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x10]
cmp ecx, 8
jbe 0x6ba58d
lea edi, [edx + 8]
lea edx, [ebp + 8]
mov eax, edx
lea ebp, [ecx - 8]
sub eax, edi
add ebp, edx
cmp eax, 0x10
jge 0x6ba561
sub edi, edx
mov eax, dword [edx + edi]
mov ecx, dword [edx + edi + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
cmp edx, ebp
jb 0x6ba541
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
jmp 0x6ba5d2
movups xmm0, xmmword [edi]
lea eax, [edi + 0x10]
movups xmmword [edx], xmm0
add edx, 0x10
cmp edx, ebp
jae 0x6ba589
movups xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movups xmmword [edx], xmm0
movups xmm0, xmmword [eax - 0x10]
movups xmmword [edx + 0x10], xmm0
add edx, 0x20
cmp edx, ebp
jb 0x6ba571
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
jmp 0x6ba5d2
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x44]
push dword [esp + 0x5c]
mov ebp, dword [esp + 0x1c]
push dword [esp + 0x3c]
movups xmm0, xmmword [ecx]
push dword [esp + 0x58]
push eax
sub esp, 0x10
mov eax, esp
push dword [esp + 0x74]
movups xmmword [eax], xmm0
push ebp
call fcn.006bba90
mov edi, eax
add esp, 0x2c
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
cmp edi, 0xffffff88
ja 0x6ba61c
mov edx, dword [esp + 0x24]
add ebp, edi
movups xmm0, xmmword [esp + 0x88]
mov ecx, dword [esp + 0xa0]
mov eax, edx
and eax, 3
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0xa4]
add eax, eax
inc edx
mov dword [esp + 0x24], edx
movups xmmword [esp + eax*8 + 0xdc], xmm0
mov eax, dword [esp + 0xa8]
jmp 0x6b9f10
mov edi, 0xffffffec
mov eax, edi
jmp 0x6ba90f
sub edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x24], edx
cmp edx, eax
jge 0x6ba8ae
nop word [eax + eax]
mov eax, edx
lea edx, [esp + 0xdc]
and eax, 3
shl eax, 4
add eax, edx
mov dword [esp + 0x44], eax
movups xmm1, xmmword [eax]
movd eax, xmm1
movaps xmm0, xmm1
psrldq xmm0, 4
psrldq xmm1, 8
movd esi, xmm1
mov dword [esp + 0x54], eax
lea edi, [eax + ebp]
mov dword [esp + 0x1c], esi
movd ebp, xmm0
mov edx, edi
sub edx, esi
lea ebx, [eax + ebp]
add eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x4c]
ja 0x6ba84e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
add ecx, ebx
add eax, 0xffffffe0
cmp ecx, eax
ja 0x6ba84e
cmp dword [esp + 0x54], 0x10
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
jbe 0x6ba6fe
movups xmm0, xmmword [ecx + 0x10]
mov esi, dword [esp + 0x54]
add eax, 0x10
add esi, 0xfffffff0
add ecx, 0x20
add esi, eax
mov dword [esp + 0x44], esi
movups xmmword [eax], xmm0
add eax, 0x10
cmp eax, esi
mov esi, dword [esp + 0x1c]
jae 0x6ba6fe
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, dword [esp + 0x44]
jb 0x6ba6e4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], eax
mov eax, edi
sub eax, ecx
cmp esi, eax
jbe 0x6ba762
mov eax, edi
sub eax, dword [esp + 0x58]
cmp esi, eax
ja 0x6ba8f4
mov esi, dword [esp + 0x3c]
mov eax, esi
sub eax, ecx
add edx, eax
lea eax, [edx + ebp]
cmp eax, esi
ja 0x6ba749
push ebp
push edx
push edi
call fcn.006d8770
mov ebp, dword [esp + 0x20]
add esp, 0xc
jmp 0x6ba88d
sub esi, edx
push esi
push edx
push edi
call fcn.006d8770
mov edx, dword [esp + 0x40]
add edi, esi
add esp, 0xc
sub ebp, esi
mov esi, dword [esp + 0x1c]
cmp esi, 0x10
jb 0x6ba7a1
movups xmm0, xmmword [edx]
lea esi, [edi + ebp]
lea eax, [edi + 0x10]
lea ecx, [edx + 0x10]
movups xmmword [edi], xmm0
cmp eax, esi
jae 0x6ba798
nop word [eax + eax]
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, esi
jb 0x6ba780
mov ebp, dword [esp + 0x14]
jmp 0x6ba88d
cmp esi, 8
jae 0x6ba7d5
movzx eax, byte [edx]
mov byte [edi], al
movzx eax, byte [edx + 1]
mov byte [edi + 1], al
movzx eax, byte [edx + 2]
mov byte [edi + 2], al
movzx eax, byte [edx + 3]
add edx, dword [esi*4 + 0x7a5c90]
mov byte [edi + 3], al
mov eax, dword [edx]
sub edx, dword [esi*4 + str._b_b_b_a_b_t_n_v]
mov dword [edi + 4], eax
jmp 0x6ba7df
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [edi], eax
mov dword [edi + 4], ecx
cmp ebp, 8
jbe 0x6ba798
lea esi, [edx + 8]
lea edx, [edi + 8]
mov eax, edx
lea edi, [edx - 8]
sub eax, esi
add edi, ebp
cmp eax, 0x10
jge 0x6ba81c
sub esi, edx
nop word [eax + eax]
mov eax, dword [edx + esi]
mov ecx, dword [edx + esi + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
cmp edx, edi
jb 0x6ba800
mov ebp, dword [esp + 0x14]
jmp 0x6ba88d
movups xmm0, xmmword [esi]
lea eax, [esi + 0x10]
movups xmmword [edx], xmm0
add edx, 0x10
cmp edx, edi
jae 0x6ba798
movups xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movups xmmword [edx], xmm0
movups xmm0, xmmword [eax - 0x10]
movups xmmword [edx + 0x10], xmm0
add edx, 0x20
cmp edx, edi
jb 0x6ba830
mov ebp, dword [esp + 0x14]
jmp 0x6ba88d
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x44]
push dword [esp + 0x5c]
mov ebp, dword [esp + 0x1c]
push dword [esp + 0x3c]
movups xmm0, xmmword [ecx]
push dword [esp + 0x58]
push eax
sub esp, 0x10
mov eax, esp
push dword [esp + 0x74]
movups xmmword [eax], xmm0
push ebp
call fcn.006bba90
mov ebx, eax
add esp, 0x2c
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
cmp ebx, 0xffffff88
ja 0x6ba8f9
mov edx, dword [esp + 0x24]
add ebp, ebx
inc edx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x24], edx
cmp edx, dword [esp + 0x138]
jl 0x6ba640
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0xc4]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov dword [ebx + 0x682c], eax
mov eax, dword [esp + 0xc8]
mov dword [ebx + 0x6830], eax
mov eax, dword [esp + 0xcc]
mov dword [ebx + 0x6834], eax
mov eax, dword [esp + 0x28]
sub esi, eax
sub edi, ebp
cmp esi, edi
jbe 0x6ba8fd
mov eax, 0xffffffba
jmp 0x6ba90f
mov ebx, 0xffffffec
mov eax, ebx
jmp 0x6ba90f
push esi
push eax
push ebp
call fcn.006d8770
add esp, 0xc
sub esi, dword [esp + 0x64]
lea eax, [esi + ebp]
mov ecx, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.006d66cb
add esp, 0x110
ret