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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov esi, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
add eax, edx
mov dword [esp + 0x68], eax
mov edi, dword [ecx + 0x7570]
mov dword [esp + 0x6c], edi
mov eax, dword [ecx + 0x75ec]
mov dword [esp + 0x80], esi
test esi, esi
je 0x6e6831
mov dword [esp + 0x74], eax
mov dword [esp + 0xa4], edx
mov edx, dword [ecx + 0x74b0]
mov eax, dword [ecx + 0x74b4]
mov dword [esp + 0x7c], eax
mov eax, dword [ecx + 0x74b8]
mov dword [esp + 0x78], eax
xorps xmm0, xmm0
movups xmmword [esp + 0x3c], xmm0
movaps xmmword [esp + 0x30], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [ecx + 0x7504], 1
mov eax, dword [ecx + 0x6834]
mov dword [esp + 0x54], eax
mov esi, dword [ebp + 0x10]
movsd xmm0, qword [ecx + 0x682c]
movsd qword [esp + 0x4c], xmm0
test esi, esi
je 0x6e8627
mov dword [esp + 0x1c], edx
mov dword [esp + 4], edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x2c], edi
lea eax, [edi + 4]
mov dword [esp + 0x30], eax
cmp esi, 4
jb 0x6e6886
lea eax, [edi + esi]
add eax, 0xfffffffc
mov dword [esp + 0x28], eax
mov edx, dword [edi + esi - 4]
mov dword [esp + 0x20], edx
cmp edx, 0x1000000
jb 0x6e8627
mov eax, edx
shr eax, 0x18
bsr eax, eax
xor eax, 0x1f
add eax, 0xffffffe9
mov dword [esp + 0x24], eax
cmp esi, 0xffffff88
ja 0x6e8627
add esi, 0xfffffffc
mov dword [esp], esi
jmp 0x6e68d7
mov ebx, edx
cmp dword [ecx + 0x75f0], 2
jne 0x6e6c3c
mov dword [esp + 4], edi
sub eax, edi
mov esi, edx
mov edx, eax
mov edi, dword [esp + 0x68]
sub edi, ebx
mov eax, 0xffffffba
cmp edx, edi
ja 0x6e862e
test ebx, ebx
je 0x6e6c20
mov edi, edx
push edx
push dword [esp + 8]
push ebx
mov dword [esp + 0x6c], ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov ecx, dword [esp + 0x6c]
mov edx, esi
add esp, 0xc
add ebx, edi
jmp 0x6e6c24
mov dword [esp + 0x28], edi
movzx edx, byte [edi]
mov dword [esp + 0x20], edx
cmp esi, 2
je 0x6e68a4
cmp esi, 3
jne 0x6e68b1
movzx eax, byte [edi + 2]
shl eax, 0x10
or edx, eax
movzx eax, byte [edi + 1]
shl eax, 8
add edx, eax
mov dword [esp + 0x20], edx
movzx eax, byte [esi + edi - 1]
test eax, eax
je 0x6e8627
bsr eax, eax
xor eax, 0x1f
shl esi, 3
sub eax, esi
add eax, 9
mov dword [esp + 0x24], eax
mov dword [esp], 0
mov dword [esp + 0x60], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
mov esi, dword [ecx + 4]
add eax, esi
mov ecx, eax
neg cl
mov ebx, edx
shr ebx, cl
and ebx, dword [esi*4 + 0x8d8cc8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x34], ebx
cmp eax, 0x20
jbe 0x6e690e
mov ecx, dword [esp + 0x60]
mov ebx, edi
jmp 0x6e696c
mov esi, dword [esp]
cmp esi, 4
mov ebx, edi
jge 0x6e6949
test esi, esi
je 0x6e79b0
mov ecx, dword [esp]
lea esi, [ebx + ecx]
mov ecx, eax
shr ecx, 3
sub esi, ecx
cmp esi, ebx
cmovb ecx, dword [esp]
sub dword [esp], ecx
mov esi, dword [esp]
add esi, ebx
mov dword [esp + 0x28], esi
mov esi, dword [esp]
shl ecx, 3
sub eax, ecx
jmp 0x6e695a
mov ecx, eax
shr ecx, 3
sub esi, ecx
lea ecx, [ebx + esi]
mov dword [esp + 0x28], ecx
and eax, 7
mov dword [esp + 0x24], eax
mov dword [esp], esi
mov edx, dword [ebx + esi]
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x10]
add esi, 8
mov dword [esp + 0x10], esi
mov dword [esp + 0x38], esi
mov ecx, dword [ecx + 8]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx + 4]
add eax, esi
mov ecx, eax
neg cl
mov edi, edx
shr edi, cl
and edi, dword [esi*4 + 0x8d8cc8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x3c], edi
cmp eax, 0x20
jbe 0x6e69af
mov ecx, dword [esp + 0x60]
mov edi, edx
jmp 0x6e6a0c
mov esi, dword [esp]
cmp esi, 4
jge 0x6e69e9
test esi, esi
je 0x6e79bc
mov ecx, dword [esp]
lea esi, [ebx + ecx]
mov ecx, eax
shr ecx, 3
sub esi, ecx
cmp esi, ebx
cmovb ecx, dword [esp]
sub dword [esp], ecx
mov edx, dword [esp]
lea esi, [ebx + edx]
mov dword [esp + 0x28], esi
mov esi, dword [esp]
shl ecx, 3
sub eax, ecx
jmp 0x6e69fa
mov ecx, eax
shr ecx, 3
sub esi, ecx
lea ecx, [ebx + esi]
mov dword [esp + 0x28], ecx
and eax, 7
mov dword [esp + 0x24], eax
mov dword [esp], esi
mov edi, dword [ebx + esi]
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x18]
add edx, 8
mov dword [esp + 0x18], edx
mov dword [esp + 0x40], edx
mov esi, dword [ecx + 4]
mov ebx, dword [esi + 4]
add eax, ebx
mov ecx, eax
neg cl
mov dword [esp + 0xc], edi
shr edi, cl
and edi, dword [ebx*4 + 0x8d8cc8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x44], edi
cmp eax, 0x20
ja 0x6e6a9f
mov edx, dword [esp]
cmp edx, 4
jge 0x6e6a79
test edx, edx
je 0x6e79c8
mov ecx, dword [ebp + 0xc]
lea ebx, [ecx + edx]
mov ecx, eax
shr ecx, 3
sub ebx, ecx
cmp ebx, dword [ebp + 0xc]
cmovb ecx, edx
sub edx, ecx
mov ebx, dword [ebp + 0xc]
add ebx, edx
mov dword [esp + 0x28], ebx
mov ebx, dword [ebp + 0xc]
shl ecx, 3
sub eax, ecx
jmp 0x6e6a8d
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov ebx, dword [ebp + 0xc]
lea ecx, [ebx + edx]
mov dword [esp + 0x28], ecx
and eax, 7
mov dword [esp + 0x24], eax
mov dword [esp], edx
mov ecx, dword [ebx + edx]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x20], ecx
lea ecx, [esi + 8]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, dword [edx + ebx*8 + 4]
mov dword [esp + 8], ecx
movzx ecx, byte [edx + ebx*8 + 2]
mov dword [esp + 0x58], ecx
movzx ecx, word [edx + ebx*8]
mov dword [esp + 0x98], ecx
movzx ecx, byte [edx + ebx*8 + 3]
mov dword [esp + 0x84], ecx
mov ecx, dword [esi + edi*8 + 0xc]
mov dword [esp + 0x14], ecx
movzx edx, byte [esi + edi*8 + 0xa]
movzx ecx, word [esi + edi*8 + 8]
mov dword [esp + 0x94], ecx
movzx ecx, byte [esi + edi*8 + 0xb]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x64]
mov esi, dword [ecx + edi*8 + 4]
mov dword [esp + 0x70], esi
movzx ebx, byte [ecx + edi*8 + 2]
movzx esi, word [ecx + edi*8]
movzx edi, byte [ecx + edi*8 + 3]
cmp ebx, 2
mov dword [esp + 0x9c], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x5c], edx
jb 0x6e8699
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp]
add ecx, esi
mov dword [esp + 0x64], ecx
cmp dword [ebp + 0x18], 0
je 0x6e6bc1
cmp bl, 0x19
jb 0x6e6bc1
mov esi, 0x20
sub esi, eax
cmp esi, ebx
mov edx, ebx
cmovb ebx, esi
mov edi, dword [esp + 0xc]
mov ecx, eax
shl edi, cl
mov dword [esp + 0x8c], edx
sub edx, ebx
mov ecx, ebx
add ebx, eax
neg cl
shr edi, cl
mov dword [esp + 0x88], edx
mov ecx, edx
shl edi, cl
mov dword [esp + 0x10], edi
cmp ebx, 0x20
ja 0x6e6ca4
mov edx, dword [esp]
cmp edx, 4
jge 0x6e6c7e
test edx, edx
je 0x6e7b1d
mov eax, ebx
shr eax, 3
mov ecx, dword [esp + 0x64]
sub ecx, eax
mov edi, dword [ebp + 0xc]
cmp ecx, edi
cmovb eax, edx
sub edx, eax
lea ecx, [edi + edx]
mov dword [esp + 0x28], ecx
shl eax, 3
sub ebx, eax
jmp 0x6e6c92
mov edx, ebx
mov ebx, dword [esp + 0xc]
mov ecx, eax
shl ebx, cl
mov ecx, edx
neg cl
shr ebx, cl
add eax, edx
add ebx, dword [esp + 0x70]
cmp eax, 0x20
ja 0x6e6cfb
cmp esi, 4
jge 0x6e6cd6
test esi, esi
je 0x6e7b29
mov ecx, eax
shr ecx, 3
mov edi, dword [esp + 0x64]
sub edi, ecx
mov edx, esi
mov esi, dword [ebp + 0xc]
cmp edi, esi
mov edi, esi
cmovb ecx, edx
sub edx, ecx
add esi, edx
mov dword [esp + 0x28], esi
shl ecx, 3
sub eax, ecx
mov dword [esp], edx
mov ecx, dword [edi + edx]
jmp 0x6e6cf3
mov edx, esi
xor ebx, ebx
lea edi, [ecx + 0x75f4]
mov dword [ecx + 0x75f0], 0
add ecx, 0x175f4
mov eax, ecx
mov dword [esp + 4], edi
sub eax, edi
mov ecx, eax
mov esi, dword [esp + 0x68]
sub esi, ebx
mov eax, 0xffffffba
cmp ecx, esi
ja 0x6e862e
test ebx, ebx
je 0x6e6c75
push ecx
push dword [esp + 8]
push ebx
mov esi, edx
mov edi, ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edx, esi
add esp, 0xc
add ebx, edi
mov eax, ebx
jmp 0x6e6c77
xor eax, eax
sub eax, edx
jmp 0x6e862e
mov eax, ebx
shr eax, 3
sub edx, eax
mov edi, dword [ebp + 0xc]
lea eax, [edi + edx]
mov dword [esp + 0x28], eax
and ebx, 7
mov dword [esp + 0x24], ebx
mov dword [esp], edx
mov eax, dword [edi + edx]
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x10]
add edi, dword [esp + 0x70]
cmp esi, dword [esp + 0x8c]
mov edx, dword [esp + 0x5c]
jae 0x6e6cd2
mov eax, dword [esp + 0xc]
mov ecx, ebx
shl eax, cl
mov esi, dword [esp + 0x88]
mov ecx, esi
neg cl
shr eax, cl
add ebx, esi
add edi, eax
mov eax, ebx
jmp 0x6e6d01
mov ecx, eax
shr ecx, 3
sub esi, ecx
mov ecx, dword [ebp + 0xc]
mov edx, esi
mov esi, ecx
add ecx, edx
mov dword [esp + 0x28], ecx
and eax, 7
mov dword [esp], edx
mov ecx, dword [esi + edx]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x20], ecx
mov edi, ebx
mov edx, dword [esp + 0x5c]
movsd xmm0, qword [esp + 0x4c]
movsd qword [esp + 0x50], xmm0
mov ebx, dword [esp + 0x58]
lea esi, [edx + ebx]
mov dword [esp + 0x4c], edi
test edx, edx
jne 0x6e86c6
cmp esi, 0x14
mov dword [esp + 0x10], edi
jb 0x6e6d73
cmp eax, 0x20
mov esi, dword [esp]
ja 0x6e6de8
cmp esi, 4
jge 0x6e6dc9
test esi, esi
je 0x6e79d4
mov ecx, dword [esp]
mov edi, dword [ebp + 0xc]
lea esi, [edi + ecx]
mov ecx, eax
shr ecx, 3
sub esi, ecx
cmp esi, edi
cmovb ecx, dword [esp]
sub dword [esp], ecx
mov edx, dword [esp]
lea esi, [edi + edx]
mov dword [esp + 0x28], esi
mov esi, dword [esp]
shl ecx, 3
sub eax, ecx
jmp 0x6e6ddd
mov esi, dword [esp]
test ebx, ebx
je 0x6e6dec
mov edx, esi
mov esi, dword [esp + 0xc]
mov ecx, eax
shl esi, cl
add eax, ebx
mov ecx, ebx
neg cl
shr esi, cl
add dword [esp + 8], esi
mov esi, edx
cmp eax, 0x20
ja 0x6e6df1
cmp esi, 4
jge 0x6e6df9
test esi, esi
je 0x6e79e3
mov edx, esi
mov edi, dword [ebp + 0xc]
add esi, edi
mov ecx, eax
shr ecx, 3
sub esi, ecx
cmp esi, edi
cmovb ecx, edx
sub edx, ecx
lea esi, [edi + edx]
mov dword [esp + 0x28], esi
mov esi, edx
shl ecx, 3
sub eax, ecx
jmp 0x6e6e0d
mov ecx, eax
shr ecx, 3
sub esi, ecx
mov edi, dword [ebp + 0xc]
lea ecx, [edi + esi]
mov dword [esp + 0x28], ecx
and eax, 7
mov ecx, dword [edi + esi]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x20], ecx
test ebx, ebx
jne 0x6e6d7a
cmp eax, 0x20
jbe 0x6e6d97
mov edx, esi
mov edi, dword [esp + 0xc]
jmp 0x6e6e16
mov ecx, eax
shr ecx, 3
sub esi, ecx
mov edi, dword [ebp + 0xc]
lea ecx, [edi + esi]
mov dword [esp + 0x28], ecx
and eax, 7
mov edx, esi
mov edi, dword [edi + esi]
mov dword [esp + 0x20], edi
mov ebx, dword [esp + 0x84]
add eax, ebx
mov ecx, eax
neg cl
mov esi, edi
shr esi, cl
and esi, dword [ebx*4 + 0x8d8cc8]
mov ebx, dword [esp + 0x90]
add eax, ebx
mov ecx, eax
neg cl
mov dword [esp + 0xc], edi
shr edi, cl
add esi, dword [esp + 0x98]
and edi, dword [ebx*4 + 0x8d8cc8]
mov dword [esp + 0x34], esi
add edi, dword [esp + 0x94]
mov dword [esp + 0x44], edi
cmp eax, 0x20
jbe 0x6e6e75
mov edi, dword [esp + 4]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0xc]
jmp 0x6e6ec9
mov ecx, dword [ebp + 0xc]
lea ebx, [ecx + edx]
cmp edx, 4
mov edi, dword [esp + 4]
jge 0x6e6eab
test edx, edx
je 0x6e6e67
mov dword [esp], edx
mov esi, eax
shr esi, 3
mov edx, edi
mov edi, ebx
sub edi, esi
cmp edi, ecx
mov edi, edx
cmovb esi, dword [esp]
sub ebx, esi
shl esi, 3
sub eax, esi
mov dword [esp + 0x28], ebx
jmp 0x6e6eb9
mov esi, eax
shr esi, 3
sub ebx, esi
mov dword [esp + 0x28], ebx
and eax, 7
mov edx, dword [esp + 0x1c]
mov esi, ebx
mov ebx, dword [esp + 8]
mov esi, dword [esi]
mov dword [esp + 0x20], esi
add eax, dword [esp + 0x18]
mov ecx, eax
neg cl
shr esi, cl
mov ecx, dword [esp + 0x18]
and esi, dword [ecx*4 + 0x8d8cc8]
add esi, dword [esp + 0x9c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], esi
lea eax, [edi + ebx]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
jbe 0x6e6fae
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc], eax
cmp dword [esp + 0x80], 0
jle 0x6e8627
mov esi, ecx
sub esi, edi
je 0x6e7864
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0xc]
mov edx, 0xffffffba
cmp esi, eax
ja 0x6e862c
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0xc]
mov eax, esi
mov esi, ebx
sub esi, edi
lea edx, [ebx + eax]
mov dword [esp + 0x18], eax
cmp eax, 8
mov dword [esp], edx
jl 0x6e7870
cmp esi, 0xfffffff9
jge 0x6e7870
cmp esi, 0xffffffef
ja 0x6e79ee
lea ecx, [edx - 0x20]
mov esi, ecx
sub esi, ebx
jb 0x6e79ee
movups xmm0, xmmword [edi]
movups xmmword [ebx], xmm0
cmp esi, 0x11
jl 0x6e6fa7
mov eax, 0x10
movups xmm0, xmmword [edi + eax]
movups xmmword [ebx + eax], xmm0
movups xmm0, xmmword [edi + eax + 0x10]
movups xmmword [ebx + eax + 0x10], xmm0
mov edx, edi
lea edi, [ebx + eax]
add edi, 0x20
add eax, 0x20
cmp edi, ecx
mov edi, edx
jb 0x6e6f84
add edi, esi
jmp 0x6e79f0
lea ecx, [edx + 0x10]
mov dword [esp + 0x88], ecx
lea ecx, [edx + 0x38]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xc], ecx
jmp 0x6e700e
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x58]
add eax, edi
mov ecx, eax
neg cl
shr edx, cl
and edx, dword [edi*4 + 0x8d8cc8]
add edx, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], edx
mov edi, dword [esp + 0x6c]
lea eax, [edi + ebx]
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + 0x75ec]
cmp eax, ecx
ja 0x6e6f07
lea ecx, [eax - 0x20]
mov dword [esp], ecx
cmp eax, dword [esp + 0x74]
mov edx, dword [esp + 0xc]
ja 0x6e755a
mov ecx, dword [esp + 0x14]
lea esi, [ecx + ebx]
lea ecx, [edx + esi]
cmp ecx, dword [esp]
ja 0x6e755a
mov ecx, dword [esp + 0x68]
sub ecx, edx
mov dword [esp + 8], eax
mov eax, ebx
mov ebx, edi
lea edi, [esi + 0x20]
cmp ecx, edi
mov ecx, ebx
mov ebx, eax
mov eax, dword [esp + 8]
jb 0x6e755a
mov dword [esp + 4], esi
lea esi, [edx + ebx]
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
cmp ebx, 0x11
jae 0x6e75f6
mov ebx, esi
mov ecx, dword [esp + 0x10]
sub ebx, ecx
mov dword [esp + 0x6c], eax
mov eax, esi
mov edx, dword [esp + 0x1c]
sub eax, edx
cmp eax, ecx
jae 0x6e70d0
mov dword [esp], eax
mov eax, esi
sub eax, dword [esp + 0x7c]
cmp eax, ecx
jb 0x6e8627
sub ebx, edx
mov edi, dword [esp + 0x78]
lea eax, [edi + ebx]
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp ecx, edi
jbe 0x6e7130
mov ecx, ebx
neg ecx
push ecx
push eax
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
sub esi, ebx
mov edi, ebx
add edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp]
jmp 0x6e70d4
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
cmp edx, 0x10
jb 0x6e763e
movups xmm0, xmmword [ebx]
movups xmmword [esi], xmm0
cmp edi, 0x11
jl 0x6e713e
add edi, esi
mov eax, 0x10
nop word cs:[eax + eax]
movups xmm0, xmmword [ebx + eax]
movups xmmword [esi + eax], xmm0
movups xmm0, xmmword [ebx + eax + 0x10]
movups xmmword [esi + eax + 0x10], xmm0
lea ecx, [esi + eax]
add ecx, 0x20
add eax, 0x20
cmp ecx, edi
jb 0x6e7100
jmp 0x6e713e
push dword [esp + 0x14]
push eax
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
mov eax, dword [esp + 4]
cmp eax, 0xffffff88
ja 0x6e8695
mov ebx, dword [esp + 0xc]
add ebx, eax
dec dword [esp + 0x80]
je 0x6e85c5
mov eax, dword [esp + 0x24]
cmp eax, 0x20
mov dword [esp + 0xc], ebx
ja 0x6e71b8
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x30]
jae 0x6e71a0
mov edi, dword [esp + 0x2c]
mov esi, ecx
sub esi, edi
je 0x6e71b8
mov edx, eax
shr edx, 3
mov ebx, ecx
sub ebx, edx
cmp ebx, edi
cmovb edx, esi
sub ecx, edx
shl edx, 3
sub eax, edx
mov dword [esp + 0x28], ecx
jmp 0x6e71ae
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x28], ecx
and eax, 7
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov esi, dword [edx + ecx*8 + 4]
mov dword [esp + 8], esi
movzx esi, byte [edx + ecx*8 + 2]
mov dword [esp], esi
movzx esi, word [edx + ecx*8]
mov dword [esp + 0x9c], esi
movzx ecx, byte [edx + ecx*8 + 3]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov esi, dword [ecx + edx*8 + 4]
mov dword [esp + 0x14], esi
movzx esi, byte [ecx + edx*8 + 2]
mov dword [esp + 4], esi
movzx esi, word [ecx + edx*8]
mov dword [esp + 0x98], esi
movzx ecx, byte [ecx + edx*8 + 3]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov edi, dword [ecx + edx*8 + 4]
movzx ebx, byte [ecx + edx*8 + 2]
movzx esi, word [ecx + edx*8]
movzx edx, byte [ecx + edx*8 + 3]
cmp ebx, 2
mov dword [esp + 0x18], esi
mov dword [esp + 0x58], edx
jb 0x6e7595
mov dword [esp + 0x84], edi
cmp dword [ebp + 0x18], 0
je 0x6e72a0
cmp bl, 0x19
jb 0x6e72a0
mov ecx, 0x20
sub ecx, eax
cmp ecx, ebx
mov edx, ebx
mov dword [esp + 0x5c], ecx
cmovb edx, ecx
mov esi, dword [esp + 0x20]
mov edi, esi
mov ecx, eax
shl edi, cl
mov dword [esp + 0x64], ebx
sub ebx, edx
mov ecx, edx
add edx, eax
neg cl
shr edi, cl
mov dword [esp + 0x70], ebx
mov ecx, ebx
shl edi, cl
mov dword [esp + 0x10], edi
cmp edx, 0x20
jbe 0x6e7310
mov ebx, dword [esp + 0x64]
jmp 0x6e7387
mov edi, dword [esp + 0x20]
mov ecx, eax
shl edi, cl
mov ecx, ebx
neg cl
shr edi, cl
add eax, ebx
add edi, dword [esp + 0x84]
cmp eax, 0x20
ja 0x6e73ae
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x30]
mov ebx, dword [esp + 8]
jae 0x6e7351
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x2c]
mov esi, ecx
sub esi, edi
je 0x6e7307
mov edx, eax
shr edx, 3
mov ebx, ecx
sub ebx, edx
cmp ebx, edi
mov ebx, dword [esp + 8]
cmovb edx, esi
sub ecx, edx
shl edx, 3
sub eax, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0x10]
jmp 0x6e73b2
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x30]
jae 0x6e736b
mov edi, dword [esp + 0x2c]
mov ecx, eax
sub ecx, edi
mov ebx, dword [esp + 0x64]
je 0x6e7387
mov dword [esp + 0x8c], ecx
mov ecx, edx
shr ecx, 3
mov esi, edi
mov edi, eax
sub edi, ecx
cmp edi, esi
cmovb ecx, dword [esp + 0x8c]
sub eax, ecx
shl ecx, 3
sub edx, ecx
mov dword [esp + 0x28], eax
jmp 0x6e737d
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x28], ecx
and eax, 7
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
jmp 0x6e73b2
mov ecx, edx
shr ecx, 3
sub eax, ecx
mov dword [esp + 0x28], eax
and edx, 7
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x24], edx
mov esi, dword [eax]
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x10]
add edi, dword [esp + 0x84]
cmp eax, ebx
jae 0x6e73ac
mov ecx, edx
shl esi, cl
mov eax, dword [esp + 0x70]
mov ecx, eax
neg cl
shr esi, cl
add edx, eax
add edi, esi
mov eax, edx
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x4c]
mov edx, dword [esp]
mov esi, dword [esp + 4]
add edx, esi
mov ecx, dword [ecx]
mov dword [esp + 0x50], ecx
mov ecx, esi
mov dword [esp + 0x4c], edi
test esi, esi
jne 0x6e75c0
cmp edx, 0x14
mov dword [esp + 0x10], edi
jb 0x6e7438
cmp eax, 0x20
mov edx, dword [esp]
ja 0x6e743b
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x30]
jae 0x6e7420
mov edi, dword [esp + 0x2c]
mov esi, ecx
sub esi, edi
je 0x6e743b
mov edx, eax
shr edx, 3
mov ebx, ecx
sub ebx, edx
cmp ebx, edi
mov ebx, dword [esp + 8]
cmovb edx, esi
sub ecx, edx
shl edx, 3
sub eax, edx
mov dword [esp + 0x28], ecx
jmp 0x6e742e
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x28], ecx
and eax, 7
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
mov edx, dword [esp]
test edx, edx
jne 0x6e75dd
cmp eax, 0x20
mov dword [esp + 8], ebx
ja 0x6e7498
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x30]
jae 0x6e7480
mov edi, dword [esp + 0x2c]
mov esi, ecx
sub esi, edi
je 0x6e7498
mov edx, eax
shr edx, 3
mov ebx, ecx
sub ebx, edx
cmp ebx, edi
cmovb edx, esi
sub ecx, edx
shl edx, 3
sub eax, edx
mov dword [esp + 0x28], ecx
jmp 0x6e748e
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x28], ecx
and eax, 7
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0x90]
add eax, edi
mov ecx, eax
neg cl
mov edx, dword [esp + 0x20]
mov esi, edx
shr esi, cl
and esi, dword [edi*4 + 0x8d8cc8]
mov ebx, dword [esp + 0x94]
add eax, ebx
mov ecx, eax
neg cl
mov edi, edx
shr edi, cl
add esi, dword [esp + 0x9c]
and edi, dword [ebx*4 + 0x8d8cc8]
mov dword [esp + 0x34], esi
add edi, dword [esp + 0x98]
mov dword [esp + 0x44], edi
cmp eax, 0x20
ja 0x6e6fd0
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x30]
mov ebx, dword [esp + 8]
jae 0x6e7530
mov edi, dword [esp + 0x2c]
mov esi, ecx
sub esi, edi
je 0x6e7551
mov edx, eax
shr edx, 3
mov ebx, ecx
sub ebx, edx
cmp ebx, edi
mov ebx, dword [esp + 8]
cmovb edx, esi
sub ecx, edx
shl edx, 3
sub eax, edx
mov dword [esp + 0x28], ecx
jmp 0x6e753e
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x28], ecx
and eax, 7
mov esi, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov edx, dword [ecx]
mov dword [esp + 0x20], edx
jmp 0x6e6fd8
mov esi, dword [esp + 0x18]
jmp 0x6e6fd8
mov ecx, edx
mov edx, dword [esp + 0x68]
push dword [esp + 0x78]
push dword [esp + 0x80]
push dword [esp + 0x24]
push dword [esp + 0x80]
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x24]
push dword [esp + 0x2c]
push ebx
push dword [esp + 0x20]
call fcn.006ea170
add esp, 0x24
jmp 0x6e7142
xor ecx, ecx
mov esi, dword [esp + 8]
test esi, esi
sete cl
test ebx, ebx
jne 0x6e7818
xor edx, edx
test esi, esi
setne dl
mov edi, dword [esp + ecx*4 + 0x4c]
lea ecx, [esp + edx*4]
add ecx, 0x4c
mov ebx, esi
jmp 0x6e73be
mov esi, dword [esp + 0x20]
mov ecx, eax
shl esi, cl
mov ecx, dword [esp + 4]
neg cl
shr esi, cl
add eax, dword [esp + 4]
add dword [esp + 0x14], esi
jmp 0x6e73db
mov esi, edx
mov edx, dword [esp + 0x20]
mov ecx, eax
shl edx, cl
mov ecx, esi
neg cl
shr edx, cl
add eax, esi
add ebx, edx
jmp 0x6e7443
mov edx, ecx
add ebx, 0xfffffff0
movups xmm0, xmmword [ecx + 0x10]
mov ecx, dword [esp + 0xc]
movups xmmword [ecx + 0x10], xmm0
cmp ebx, 0x11
jl 0x6e706c
mov ecx, dword [esp + 0xc]
add ecx, 0x20
xor edi, edi
movups xmm0, xmmword [edx + edi + 0x20]
movups xmmword [ecx + edi], xmm0
movups xmm0, xmmword [edx + edi + 0x30]
movups xmmword [ecx + edi + 0x10], xmm0
lea ebx, [ecx + edi]
add ebx, 0x20
add edi, 0x20
cmp ebx, esi
jb 0x6e7619
jmp 0x6e706c
cmp edx, 7
ja 0x6e767b
mov dword [esp], eax
movzx eax, byte [ebx]
mov byte [esi], al
movzx eax, byte [ebx + 1]
mov byte [esi + 1], al
movzx eax, byte [ebx + 2]
mov byte [esi + 2], al
movzx eax, byte [ebx + 3]
mov byte [esi + 3], al
mov eax, dword [edx*4 + 0x8d8d48]
mov ecx, dword [ebx + eax]
add ebx, eax
mov eax, dword [esp]
mov dword [esi + 4], ecx
sub ebx, dword [edx*4 + str._b_b_b_a_b_t_n_v]
jmp 0x6e7683
movsd xmm0, qword [ebx]
movsd qword [esi], xmm0
cmp edi, 9
jb 0x6e713e
lea ecx, [ebx + 8]
mov dword [esp + 8], ecx
lea edx, [esi + 8]
mov ecx, edx
sub ecx, dword [esp + 8]
mov dword [esp + 0x18], ecx
lea ecx, [esi + edi]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x18]
cmp ecx, 0xf
jg 0x6e77b0
mov esi, dword [esp + 0x14]
add esi, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x10]
cmp edi, eax
mov esi, eax
cmovb esi, edi
cmova eax, edi
mov dword [esp], eax
add esi, dword [esp + 0x14]
add esi, eax
sub esi, edi
mov eax, dword [esp + 0x88]
mov edi, dword [esp]
add edi, eax
cmp esi, edi
cmovbe esi, edi
mov eax, dword [esp]
mov edi, dword [esp + 0x1c]
add edi, eax
sub esi, edi
add esi, 0xfffffff7
cmp esi, 0x18
jb 0x6e77f5
cmp ecx, 0x20
jb 0x6e77f5
shr esi, 3
lea eax, [esi + 1]
mov dword [esp + 0x10], eax
add esi, 0xfffffffd
mov ecx, esi
shr ecx, 2
inc ecx
xor edi, edi
cmp esi, 4
jb 0x6e7774
mov esi, ecx
and esi, 0xfffffffe
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0xa0]
add eax, edi
mov dword [esp + 0x14], eax
mov eax, dword [esp]
sub eax, edi
add eax, dword [esp + 0x14]
xor edi, edi
movups xmm0, xmmword [ebx + edi*8 + 8]
movups xmm1, xmmword [ebx + edi*8 + 0x18]
movups xmmword [eax + edi*8 - 0x30], xmm0
movups xmmword [eax + edi*8 - 0x20], xmm1
movups xmm0, xmmword [ebx + edi*8 + 0x28]
movups xmm1, xmmword [ebx + edi*8 + 0x38]
movups xmmword [eax + edi*8 - 0x10], xmm0
movups xmmword [eax + edi*8], xmm1
add edi, 8
add esi, 0xfffffffe
jne 0x6e7745
mov eax, dword [esp + 0x10]
mov esi, eax
and esi, 0xfffffffc
test cl, 1
mov ecx, dword [esp + 8]
je 0x6e7798
movups xmm0, xmmword [ecx + edi*8]
movups xmm1, xmmword [ecx + edi*8 + 0x10]
movups xmmword [edx + edi*8], xmm0
movups xmmword [edx + edi*8 + 0x10], xmm1
cmp eax, esi
je 0x6e713e
lea ecx, [ecx + esi*8]
lea edx, [edx + esi*8]
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x58]
jmp 0x6e7801
mov eax, dword [esp + 8]
movups xmm0, xmmword [eax]
movups xmmword [edx], xmm0
cmp edi, 0x19
jl 0x6e713e
add esi, 0x18
xor ecx, ecx
mov eax, dword [esp + 4]
mov edi, dword [esp + 0x58]
movups xmm0, xmmword [ebx + ecx + 0x18]
movups xmmword [esi + ecx], xmm0
movups xmm0, xmmword [ebx + ecx + 0x28]
movups xmmword [esi + ecx + 0x10], xmm0
lea edx, [esi + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, edi
jb 0x6e77d0
jmp 0x6e7142
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 8]
movsd xmm0, qword [ecx]
movsd qword [edx], xmm0
add edx, 8
add ecx, 8
cmp edx, esi
jb 0x6e7801
jmp 0x6e7142
add edi, ecx
mov edx, dword [esp + 0x20]
mov ecx, eax
shl edx, cl
shr edx, 0x1f
inc eax
mov dword [esp + 0x24], eax
add edx, edi
cmp edx, 3
jne 0x6e7840
mov edi, dword [esp + 0x4c]
lea ecx, [edi - 1]
cmp ecx, 1
adc edi, 0xffffffff
jmp 0x6e784f
mov edi, dword [esp + edx*4 + 0x4c]
cmp edi, 1
adc edi, 0
cmp edx, 1
je 0x6e7857
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x4c]
mov ebx, dword [esp + 8]
jmp 0x6e73be
mov eax, dword [esp + 0xc]
mov dword [esp], eax
jmp 0x6e7b54
mov dword [esp + 4], edi
cmp dword [esp + 0x18], 0
jle 0x6e7b4c
mov ebx, dword [esp + 0xc]
add ecx, ebx
mov edx, dword [esp + 4]
sub ecx, edx
lea eax, [ebx + 1]
cmp ecx, eax
cmovbe ecx, eax
sub ecx, ebx
cmp ecx, 8
jb 0x6e7b35
cmp esi, 0x20
jb 0x6e7b35
xor edi, edi
cmp ecx, 0x20
jb 0x6e7977
lea eax, [ecx - 0x20]
mov edi, eax
shr edi, 5
inc edi
mov edx, edi
and edx, 3
mov esi, ebx
xor ebx, ebx
cmp eax, 0x60
mov eax, dword [esp + 4]
jb 0x6e7928
and edi, 0xfffffffc
xor ebx, ebx
movups xmm0, xmmword [eax + ebx]
movups xmm1, xmmword [eax + ebx + 0x10]
movups xmmword [esi + ebx], xmm0
movups xmmword [esi + ebx + 0x10], xmm1
movups xmm0, xmmword [eax + ebx + 0x20]
movups xmm1, xmmword [eax + ebx + 0x30]
movups xmmword [esi + ebx + 0x20], xmm0
movups xmmword [esi + ebx + 0x30], xmm1
movups xmm0, xmmword [eax + ebx + 0x40]
movups xmm1, xmmword [eax + ebx + 0x50]
movups xmmword [esi + ebx + 0x40], xmm0
movups xmmword [esi + ebx + 0x50], xmm1
movups xmm0, xmmword [eax + ebx + 0x60]
movups xmm1, xmmword [eax + ebx + 0x70]
movups xmmword [esi + ebx + 0x60], xmm0
movups xmmword [esi + ebx + 0x70], xmm1
sub ebx, 0xffffff80
add edi, 0xfffffffc
jne 0x6e78d2
mov edi, ecx
and edi, 0xffffffe0
test edx, edx
je 0x6e7962
mov eax, dword [esp + 4]
lea esi, [eax + ebx]
add esi, 0x10
mov eax, dword [esp + 0xc]
add ebx, eax
add ebx, 0x10
shl edx, 5
xor eax, eax
movups xmm0, xmmword [esi + eax - 0x10]
movups xmm1, xmmword [esi + eax]
movups xmmword [ebx + eax - 0x10], xmm0
movups xmmword [ebx + eax], xmm1
add eax, 0x20
cmp edx, eax
jne 0x6e7949
cmp ecx, edi
je 0x6e7b4c
test cl, 0x18
je 0x6e8645
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xc], ebx
mov eax, ecx
and eax, 0xfffffff8
lea esi, [ebx + eax]
mov edx, dword [esp + 4]
lea ebx, [edx + eax]
mov edx, dword [esp + 4]
movsd xmm0, qword [edx + edi]
mov edx, dword [esp + 0xc]
movsd qword [edx + edi], xmm0
add edi, 8
cmp eax, edi
jne 0x6e798a
cmp ecx, eax
jne 0x6e7b40
jmp 0x6e7b4c
mov dword [esp], 0
jmp 0x6e6968
mov dword [esp], 0
jmp 0x6e69a7
mov dword [esp], 0
jmp 0x6e6a9f
xor esi, esi
test ebx, ebx
je 0x6e6dec
jmp 0x6e6d7a
xor edx, edx
mov edi, dword [esp + 0xc]
jmp 0x6e6e16
mov ecx, ebx
add ebx, dword [esp + 0x18]
sub ebx, ecx
cmp ebx, 8
mov dword [esp + 0xc], ebx
jb 0x6e7b06
mov eax, ecx
sub eax, edi
cmp eax, 0x20
jb 0x6e7b06
mov dword [esp + 4], edi
xor edi, edi
cmp ebx, 0x20
jb 0x6e7ade
lea eax, [ebx - 0x20]
mov edi, eax
shr edi, 5
inc edi
mov edx, edi
and edx, 3
xor ebx, ebx
cmp eax, 0x60
mov eax, dword [esp + 4]
jb 0x6e7a93
and edi, 0xfffffffc
xor ebx, ebx
movups xmm0, xmmword [eax + ebx]
movups xmm1, xmmword [eax + ebx + 0x10]
movups xmmword [ecx + ebx], xmm0
movups xmmword [ecx + ebx + 0x10], xmm1
movups xmm0, xmmword [eax + ebx + 0x20]
movups xmm1, xmmword [eax + ebx + 0x30]
movups xmmword [ecx + ebx + 0x20], xmm0
movups xmmword [ecx + ebx + 0x30], xmm1
movups xmm0, xmmword [eax + ebx + 0x40]
movups xmm1, xmmword [eax + ebx + 0x50]
movups xmmword [ecx + ebx + 0x40], xmm0
movups xmmword [ecx + ebx + 0x50], xmm1
movups xmm0, xmmword [eax + ebx + 0x60]
movups xmm1, xmmword [eax + ebx + 0x70]
movups xmmword [ecx + ebx + 0x60], xmm0
movups xmmword [ecx + ebx + 0x70], xmm1
sub ebx, 0xffffff80
add edi, 0xfffffffc
jne 0x6e7a3d
mov edi, dword [esp + 0xc]
and edi, 0xffffffe0
test edx, edx
je 0x6e7acb
mov eax, dword [esp + 4]
lea esi, [eax + ebx]
add esi, 0x10
add ebx, ecx
add ebx, 0x10
shl edx, 5
xor eax, eax
movups xmm0, xmmword [esi + eax - 0x10]
movups xmm1, xmmword [esi + eax]
movups xmmword [ebx + eax - 0x10], xmm0
movups xmmword [ebx + eax], xmm1
add eax, 0x20
cmp edx, eax
jne 0x6e7ab2
cmp dword [esp + 0xc], edi
je 0x6e7b4c
mov ebx, dword [esp + 0xc]
test bl, 0x18
je 0x6e8636
mov eax, ebx
and eax, 0xfffffff8
lea esi, [ecx + eax]
mov edx, dword [esp + 4]
lea ebx, [edx + eax]
movsd xmm0, qword [edx + edi]
movsd qword [ecx + edi], xmm0
add edi, 8
cmp eax, edi
jne 0x6e7aed
cmp dword [esp + 0xc], eax
jne 0x6e7b0a
jmp 0x6e7b4c
mov esi, ecx
mov ebx, edi
add ecx, dword [esp + 0xc]
nop
movzx eax, byte [ebx]
inc ebx
mov byte [esi], al
inc esi
cmp esi, ecx
jne 0x6e7b10
jmp 0x6e7b4c
mov dword [esp], 0
jmp 0x6e6ca4
mov dword [esp], 0
jmp 0x6e6cfb
mov esi, ebx
mov ebx, edx
nop dword [eax]
movzx eax, byte [ebx]
inc ebx
mov byte [esi], al
inc esi
cmp esi, dword [esp]
jb 0x6e7b40
mov ebx, dword [esp + 8]
sub ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x60]
lea ecx, [eax + 0x75f4]
mov dword [esp + 0x6c], ecx
lea esi, [eax + 0x175f4]
mov dword [eax + 0x75f0], 0
lea eax, [eax + ebx + 0x75f4]
mov edx, dword [esp + 0x68]
add edx, 0xffffffe0
mov dword [esp + 0x64], edx
mov dword [esp + 0x74], esi
cmp eax, esi
ja 0x6e8656
mov edx, dword [esp + 0x14]
lea edi, [ebx + edx]
mov edx, dword [esp]
add edx, edi
cmp edx, dword [esp + 0x64]
ja 0x6e8656
mov edx, dword [esp + 0x68]
sub edx, dword [esp]
lea esi, [edi + 0x20]
cmp edx, esi
jb 0x6e8656
mov dword [esp + 4], edi
mov edx, dword [esp]
lea edi, [edx + ebx]
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
cmp ebx, 0x11
jae 0x6e86eb
mov ebx, edi
mov ecx, dword [esp + 0x10]
sub ebx, ecx
mov dword [esp + 0x6c], eax
mov eax, edi
mov edx, dword [esp + 0x1c]
sub eax, edx
mov dword [esp + 8], eax
cmp eax, ecx
jae 0x6e7c2d
mov eax, edi
sub eax, dword [esp + 0x7c]
cmp eax, ecx
jb 0x6e8627
sub ebx, edx
mov esi, dword [esp + 0x78]
lea eax, [esi + ebx]
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp ecx, esi
mov esi, edx
jbe 0x6e7c71
mov ecx, ebx
neg ecx
push ecx
push eax
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
sub edi, ebx
mov edx, esi
mov esi, ebx
add esi, dword [esp + 0x14]
mov ebx, edx
jmp 0x6e7c31
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp eax, 0x10
jb 0x6e8742
movups xmm0, xmmword [ebx]
movups xmmword [edi], xmm0
cmp esi, 0x11
jl 0x6e7c81
add esi, edi
mov eax, 0x10
movups xmm0, xmmword [ebx + eax]
movups xmmword [edi + eax], xmm0
movups xmm0, xmmword [ebx + eax + 0x10]
movups xmmword [edi + eax + 0x10], xmm0
lea ecx, [edi + eax]
add ecx, 0x20
add eax, 0x20
cmp ecx, esi
jb 0x6e7c50
jmp 0x6e7c81
push dword [esp + 0x14]
push eax
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
mov edx, esi
mov eax, dword [esp + 4]
cmp eax, 0xffffff88
ja 0x6e8695
add dword [esp], eax
mov esi, dword [esp + 0x80]
dec esi
je 0x6e85c2
mov eax, dword [esp + 0x24]
cmp eax, 0x20
ja 0x6e7d09
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x30]
jae 0x6e7ced
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x2c]
mov esi, ecx
sub esi, edi
je 0x6e7ce7
mov edx, eax
shr edx, 3
mov ebx, ecx
sub ebx, edx
cmp ebx, edi
cmovb edx, esi
sub ecx, edx
shl edx, 3
sub eax, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
mov esi, dword [esp + 0xc]
jmp 0x6e7d09
mov edx, eax
shr edx, 3
sub ecx, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
and eax, 7
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x80], 2
jl 0x6e8627
mov dword [esp + 0xc], esi
lea ecx, [edx + 0x10]
mov dword [esp + 0xa0], ecx
lea ecx, [edx + 0x38]
mov dword [esp + 0xa8], ecx
jmp 0x6e7d58
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x28], ecx
and eax, 7
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov esi, dword [edx + ecx*8 + 4]
mov dword [esp + 8], esi
movzx esi, byte [edx + ecx*8 + 2]
mov dword [esp + 4], esi
movzx esi, word [edx + ecx*8]
mov dword [esp + 0x9c], esi
movzx ecx, byte [edx + ecx*8 + 3]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov esi, dword [ecx + edx*8 + 4]
mov dword [esp + 0x14], esi
movzx esi, byte [ecx + edx*8 + 2]
mov dword [esp + 0x84], esi
movzx esi, word [ecx + edx*8]
mov dword [esp + 0x98], esi
movzx ecx, byte [ecx + edx*8 + 3]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov edi, dword [ecx + edx*8 + 4]
movzx ebx, byte [ecx + edx*8 + 2]
movzx esi, word [ecx + edx*8]
movzx ecx, byte [ecx + edx*8 + 3]
cmp ebx, 2
mov dword [esp + 0x18], esi
mov dword [esp + 0x58], ecx
jb 0x6e82e9
cmp dword [ebp + 0x18], 0
je 0x6e7e40
cmp bl, 0x19
jb 0x6e7e40
mov dword [esp + 0x80], edi
mov ecx, 0x20
sub ecx, eax
cmp ecx, ebx
mov edx, ebx
mov dword [esp + 0x70], ecx
cmovb edx, ecx
mov edi, dword [esp + 0x20]
mov esi, edi
mov ecx, eax
shl esi, cl
mov dword [esp + 0x5c], ebx
sub ebx, edx
mov ecx, edx
add edx, eax
neg cl
shr esi, cl
mov dword [esp + 0x8c], ebx
mov ecx, ebx
shl esi, cl
cmp edx, 0x20
jbe 0x6e7eb0
mov ebx, dword [esp + 0x5c]
jmp 0x6e7f33
mov edx, dword [esp + 0x20]
mov ecx, eax
shl edx, cl
mov ecx, ebx
neg cl
shr edx, cl
add eax, ebx
add edx, edi
mov dword [esp + 0x10], edx
cmp eax, 0x20
mov esi, dword [esp + 8]
ja 0x6e7f61
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x30]
mov ebx, dword [esp + 4]
jae 0x6e7ef5
mov edi, dword [esp + 0x2c]
mov esi, ecx
sub esi, edi
je 0x6e7ea6
mov edx, eax
shr edx, 3
mov ebx, ecx
sub ebx, edx
cmp ebx, edi
mov ebx, dword [esp + 4]
cmovb edx, esi
sub ecx, edx
shl edx, 3
sub eax, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
mov esi, dword [esp + 8]
jmp 0x6e7f65
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x30]
jae 0x6e7f0f
mov ebx, dword [esp + 0x2c]
mov ecx, eax
mov dword [esp + 0x88], ebx
sub ecx, ebx
mov ebx, dword [esp + 0x5c]
je 0x6e7f33
mov dword [esp + 0x10], esi
mov edi, ecx
mov ecx, edx
shr ecx, 3
mov esi, eax
sub esi, ecx
cmp esi, dword [esp + 0x88]
cmovb ecx, edi
sub eax, ecx
shl ecx, 3
sub edx, ecx
mov dword [esp + 0x28], eax
jmp 0x6e7f25
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x28], ecx
and eax, 7
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
jmp 0x6e7f65
mov dword [esp + 0x10], esi
mov ecx, edx
shr ecx, 3
sub eax, ecx
mov dword [esp + 0x28], eax
and edx, 7
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x24], edx
mov edi, dword [eax]
mov dword [esp + 0x20], edi
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x70]
add esi, dword [esp + 0x80]
cmp eax, ebx
jae 0x6e7f57
mov ecx, edx
shl edi, cl
mov eax, dword [esp + 0x8c]
mov ecx, eax
neg cl
shr edi, cl
add edx, eax
add esi, edi
mov dword [esp + 0x10], esi
mov eax, edx
mov esi, dword [esp + 8]
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x4c]
mov edi, dword [esp + 0x84]
lea edx, [edi + ebx]
mov ecx, dword [ecx]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], ecx
test edi, edi
jne 0x6e831a
cmp edx, 0x14
jb 0x6e7ff8
cmp eax, 0x20
ja 0x6e7ff8
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x30]
jae 0x6e7fe0
mov edi, dword [esp + 0x2c]
mov esi, ecx
sub esi, edi
je 0x6e82a4
mov edx, eax
shr edx, 3
mov ebx, ecx
sub ebx, edx
cmp ebx, edi
mov ebx, dword [esp + 4]
cmovb edx, esi
sub ecx, edx
shl edx, 3
sub eax, edx
mov dword [esp + 0x28], ecx
mov esi, dword [esp + 8]
jmp 0x6e7fee
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x28], ecx
and eax, 7
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
test ebx, ebx
jne 0x6e8342
cmp eax, 0x20
mov dword [esp + 8], esi
ja 0x6e8058
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x30]
jae 0x6e8040
mov edi, dword [esp + 0x2c]
mov esi, ecx
sub esi, edi
je 0x6e8058
mov edx, eax
shr edx, 3
mov ebx, ecx
sub ebx, edx
cmp ebx, edi
cmovb edx, esi
sub ecx, edx
shl edx, 3
sub eax, edx
mov dword [esp + 0x28], ecx
jmp 0x6e804e
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x28], ecx
and eax, 7
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0x90]
add eax, edi
mov ecx, eax
neg cl
mov edx, dword [esp + 0x20]
mov esi, edx
shr esi, cl
and esi, dword [edi*4 + 0x8d8cc8]
mov ebx, dword [esp + 0x94]
add eax, ebx
mov ecx, eax
neg cl
mov edi, edx
shr edi, cl
add esi, dword [esp + 0x9c]
and edi, dword [ebx*4 + 0x8d8cc8]
mov dword [esp + 0x34], esi
add edi, dword [esp + 0x98]
mov dword [esp + 0x44], edi
cmp eax, 0x20
jbe 0x6e80b0
mov ebx, dword [esp + 8]
jmp 0x6e80fc
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x30]
jae 0x6e80e0
mov edi, dword [esp + 0x2c]
mov esi, ecx
sub esi, edi
je 0x6e80a7
mov edx, eax
shr edx, 3
mov ebx, ecx
sub ebx, edx
cmp ebx, edi
cmovb edx, esi
sub ecx, edx
shl edx, 3
sub eax, edx
mov dword [esp + 0x28], ecx
jmp 0x6e80ee
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x28], ecx
and eax, 7
mov ebx, dword [esp + 8]
mov dword [esp + 0x24], eax
mov edx, dword [ecx]
mov dword [esp + 0x20], edx
mov edi, dword [esp + 0x58]
add eax, edi
mov ecx, eax
neg cl
shr edx, cl
and edx, dword [edi*4 + 0x8d8cc8]
add edx, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x6c]
lea eax, [ecx + ebx]
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x74]
ja 0x6e82ad
mov edx, dword [esp + 0x14]
lea edi, [ebx + edx]
mov eax, dword [esp]
lea edx, [eax + edi]
cmp edx, dword [esp + 0x64]
ja 0x6e82ad
mov edx, dword [esp + 0x68]
mov eax, dword [esp]
sub edx, eax
lea esi, [edi + 0x20]
cmp edx, esi
jb 0x6e82ad
mov dword [esp + 4], edi
mov eax, dword [esp]
lea edi, [eax + ebx]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
cmp ebx, 0x11
jae 0x6e8359
mov esi, edi
mov ecx, dword [esp + 0x10]
sub esi, ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
mov eax, edi
mov edx, dword [esp + 0x1c]
sub eax, edx
cmp eax, ecx
jae 0x6e81e0
mov dword [esp + 8], eax
mov eax, edi
sub eax, dword [esp + 0x7c]
cmp eax, ecx
jb 0x6e8627
sub esi, edx
mov ebx, dword [esp + 0x78]
lea eax, [ebx + esi]
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp ecx, ebx
jbe 0x6e8230
mov ecx, esi
neg ecx
push ecx
push eax
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
sub edi, esi
mov ebx, esi
add ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 8]
jmp 0x6e81e4
mov ebx, dword [esp + 0x14]
cmp ecx, 0x10
jb 0x6e839d
movups xmm0, xmmword [esi]
movups xmmword [edi], xmm0
cmp ebx, 0x11
jl 0x6e823e
add ebx, edi
mov eax, 0x10
nop
movups xmm0, xmmword [esi + eax]
movups xmmword [edi + eax], xmm0
movups xmm0, xmmword [esi + eax + 0x10]
movups xmmword [edi + eax + 0x10], xmm0
lea ecx, [edi + eax]
add ecx, 0x20
add eax, 0x20
cmp ecx, ebx
jb 0x6e8200
jmp 0x6e823e
push dword [esp + 0x14]
push eax
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
cmp eax, 0xffffff88
ja 0x6e8695
add dword [esp], eax
dec esi
je 0x6e85c2
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x24]
cmp eax, 0x20
ja 0x6e7d58
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x30]
jae 0x6e7d40
mov esi, dword [esp + 0x2c]
mov edx, ecx
sub edx, esi
je 0x6e7d58
mov edi, eax
shr edi, 3
mov ebx, ecx
sub ebx, edi
cmp ebx, esi
cmovb edi, edx
sub ecx, edi
shl edi, 3
sub eax, edi
mov dword [esp + 0x28], ecx
jmp 0x6e7d4e
mov esi, dword [esp + 8]
jmp 0x6e7ff8
mov ecx, dword [esp]
mov edx, dword [esp + 0x68]
push dword [esp + 0x78]
push dword [esp + 0x80]
push dword [esp + 0x24]
push dword [esp + 0x80]
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x24]
push dword [esp + 0x2c]
push ebx
call fcn.006e9740
add esp, 0x20
mov esi, dword [esp + 0xc]
jmp 0x6e8246
xor ecx, ecx
mov esi, dword [esp + 8]
test esi, esi
sete cl
test ebx, ebx
jne 0x6e856e
xor edx, edx
test esi, esi
setne dl
mov ecx, dword [esp + ecx*4 + 0x4c]
mov dword [esp + 0x10], ecx
lea ecx, [esp + edx*4]
add ecx, 0x4c
mov ebx, dword [esp + 4]
jmp 0x6e7f71
mov ecx, edi
mov esi, dword [esp + 0x20]
mov ecx, eax
shl esi, cl
mov ecx, edi
neg cl
shr esi, cl
add eax, edi
add dword [esp + 0x14], esi
mov esi, dword [esp + 8]
cmp edx, 0x14
jae 0x6e7f96
jmp 0x6e7ff8
mov edx, dword [esp + 0x20]
mov ecx, eax
shl edx, cl
mov ecx, ebx
neg cl
shr edx, cl
add eax, ebx
add esi, edx
jmp 0x6e8000
add ebx, 0xfffffff0
movups xmm0, xmmword [ecx + 0x10]
mov eax, dword [esp]
movups xmmword [eax + 0x10], xmm0
cmp ebx, 0x11
jl 0x6e8174
mov eax, dword [esp]
lea edx, [eax + 0x20]
xor esi, esi
movups xmm0, xmmword [ecx + esi + 0x20]
movups xmmword [edx + esi], xmm0
movups xmm0, xmmword [ecx + esi + 0x30]
movups xmmword [edx + esi + 0x10], xmm0
lea ebx, [edx + esi]
add ebx, 0x20
add esi, 0x20
cmp ebx, edi
jb 0x6e8378
jmp 0x6e8174
cmp ecx, 7
mov dword [esp + 8], eax
ja 0x6e83dc
movzx eax, byte [esi]
mov byte [edi], al
movzx eax, byte [esi + 1]
mov byte [edi + 1], al
movzx eax, byte [esi + 2]
mov byte [edi + 2], al
movzx eax, byte [esi + 3]
mov byte [edi + 3], al
mov eax, dword [ecx*4 + 0x8d8d48]
mov ecx, dword [esi + eax]
add esi, eax
mov dword [edi + 4], ecx
mov eax, dword [esp + 0x10]
sub esi, dword [eax*4 + str._b_b_b_a_b_t_n_v]
jmp 0x6e83e4
movsd xmm0, qword [esi]
movsd qword [edi], xmm0
cmp ebx, 9
jb 0x6e823e
lea ecx, [esi + 8]
lea edx, [edi + 8]
mov eax, edx
sub eax, ecx
mov dword [esp + 0x18], eax
lea eax, [edi + ebx]
mov dword [esp + 0x58], eax
cmp dword [esp + 0x18], 0xf
jg 0x6e850e
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 8]
cmp eax, edi
mov ebx, edi
cmovb ebx, eax
cmova edi, eax
add ebx, dword [esp + 0x14]
add ebx, edi
sub ebx, eax
mov eax, dword [esp + 0xa0]
add eax, edi
cmp ebx, eax
cmovbe ebx, eax
mov dword [esp + 8], edi
mov eax, dword [esp + 0x1c]
add edi, eax
sub ebx, edi
add ebx, 0xfffffff7
cmp ebx, 0x18
jb 0x6e854b
cmp dword [esp + 0x18], 0x20
jb 0x6e854b
shr ebx, 3
lea eax, [ebx + 1]
mov dword [esp + 0x14], eax
add ebx, 0xfffffffd
mov eax, ebx
shr eax, 2
inc eax
mov dword [esp + 0x10], eax
xor edi, edi
cmp ebx, 4
jb 0x6e84d4
mov ebx, dword [esp + 0x10]
and ebx, 0xfffffffe
mov edi, dword [esp]
mov eax, dword [esp + 0xa8]
add eax, edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 8]
sub eax, edi
add eax, dword [esp + 0x18]
xor edi, edi
movups xmm0, xmmword [esi + edi*8 + 8]
movups xmm1, xmmword [esi + edi*8 + 0x18]
movups xmmword [eax + edi*8 - 0x30], xmm0
movups xmmword [eax + edi*8 - 0x20], xmm1
movups xmm0, xmmword [esi + edi*8 + 0x28]
movups xmm1, xmmword [esi + edi*8 + 0x38]
movups xmmword [eax + edi*8 - 0x10], xmm0
movups xmmword [eax + edi*8], xmm1
add edi, 8
add ebx, 0xfffffffe
jne 0x6e84a5
mov eax, dword [esp + 0x14]
mov esi, eax
and esi, 0xfffffffc
test byte [esp + 0x10], 1
je 0x6e84f6
movups xmm0, xmmword [ecx + edi*8]
movups xmm1, xmmword [ecx + edi*8 + 0x10]
movups xmmword [edx + edi*8], xmm0
movups xmmword [edx + edi*8 + 0x10], xmm1
cmp eax, esi
mov edi, dword [esp + 0x58]
je 0x6e823e
lea ecx, [ecx + esi*8]
lea edx, [edx + esi*8]
mov eax, dword [esp + 4]
jmp 0x6e8553
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
cmp ebx, 0x19
jl 0x6e823e
add edi, 0x18
xor ecx, ecx
mov eax, dword [esp + 0x58]
movups xmm0, xmmword [esi + ecx + 0x18]
movups xmmword [edi + ecx], xmm0
movups xmm0, xmmword [esi + ecx + 0x28]
movups xmmword [edi + ecx + 0x10], xmm0
lea edx, [edi + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, eax
jb 0x6e8526
jmp 0x6e823e
mov eax, dword [esp + 4]
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0xc]
movsd xmm0, qword [ecx]
movsd qword [edx], xmm0
add edx, 8
add ecx, 8
cmp edx, edi
jb 0x6e8557
jmp 0x6e8246
add edi, ecx
mov edx, dword [esp + 0x20]
mov ecx, eax
shl edx, cl
shr edx, 0x1f
inc eax
mov dword [esp + 0x24], eax
add edx, edi
cmp edx, 3
jne 0x6e859a
mov edx, dword [esp + 0x4c]
lea ecx, [edx - 1]
cmp ecx, 1
adc edx, 0xffffffff
mov dword [esp + 0x10], edx
jmp 0x6e85ad
mov ecx, dword [esp + edx*4 + 0x4c]
cmp ecx, 1
adc ecx, 0
mov dword [esp + 0x10], ecx
cmp edx, 1
je 0x6e85b5
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x4c]
mov esi, dword [esp + 8]
jmp 0x6e8311
mov ebx, dword [esp]
mov eax, dword [esp + 0x24]
cmp eax, 0x20
ja 0x6e85e8
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x30]
jae 0x6e8627
cmp ecx, dword [esp + 0x2c]
jne 0x6e8627
mov edx, 0xffffffec
cmp eax, 0x20
jne 0x6e862c
mov edx, dword [esp + 0x60]
lea eax, [edx + 0x682c]
lea esi, [esp + 0x4c]
mov ecx, dword [esi + 8]
mov dword [eax + 8], ecx
mov ecx, edx
movsd xmm0, qword [esi]
movsd qword [eax], xmm0
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x74]
cmp dword [ecx + 0x75f0], 2
je 0x6e6840
jmp 0x6e6c3c
mov edx, 0xffffffec
mov eax, edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [esp + 4]
add ebx, edi
add edi, ecx
mov esi, edi
jmp 0x6e7b0a
mov ebx, dword [esp + 4]
add ebx, edi
mov esi, dword [esp + 0xc]
add esi, edi
jmp 0x6e7b40
lea eax, [esp + 0x6c]
mov ecx, dword [esp]
mov edx, dword [esp + 0x68]
push dword [esp + 0x78]
push dword [esp + 0x80]
mov esi, dword [esp + 0x24]
push esi
push dword [esp + 0x80]
push eax
push dword [esp + 0x24]
push dword [esp + 0x2c]
push ebx
call fcn.006e9740
mov edx, esi
add esp, 0x20
cmp eax, 0xffffff88
jbe 0x6e7c8e
mov edx, eax
jmp 0x6e862e
mov esi, dword [esp + 8]
mov ecx, ebx
xor ebx, ebx
test esi, esi
sete bl
test ecx, ecx
jne 0x6e88eb
xor ecx, ecx
test esi, esi
setne cl
mov edi, dword [esp + ebx*4 + 0x4c]
mov ecx, dword [esp + ecx*4 + 0x4c]
mov dword [esp + 0x50], ecx
jmp 0x6e6d0d
mov ebx, edi
mov edi, dword [esp + 0xc]
mov ecx, eax
shl edi, cl
mov ecx, edx
neg cl
shr edi, cl
add eax, edx
add dword [esp + 0x14], edi
mov edi, ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x24], eax
jmp 0x6e6d20
mov edx, ebx
add edx, 0xfffffff0
mov ecx, dword [esp + 0x60]
movups xmm0, xmmword [ecx + 0x7604]
mov ecx, dword [esp]
movups xmmword [ecx + 0x10], xmm0
cmp edx, 0x11
jl 0x6e7bd1
mov ecx, dword [esp]
add ecx, 0x20
xor edx, edx
mov esi, dword [esp + 0x60]
movups xmm0, xmmword [esi + edx + 0x7614]
movups xmmword [ecx + edx], xmm0
movups xmm0, xmmword [esi + edx + 0x7624]
movups xmmword [ecx + edx + 0x10], xmm0
lea esi, [ecx + edx]
add esi, 0x20
add edx, 0x20
cmp esi, edi
jb 0x6e8713
jmp 0x6e7bd1
cmp eax, 7
ja 0x6e877d
movzx eax, byte [ebx]
mov byte [edi], al
movzx eax, byte [ebx + 1]
mov byte [edi + 1], al
movzx eax, byte [ebx + 2]
mov byte [edi + 2], al
movzx eax, byte [ebx + 3]
mov byte [edi + 3], al
mov edx, dword [esp + 0x10]
mov eax, dword [edx*4 + 0x8d8d48]
mov ecx, dword [ebx + eax]
add ebx, eax
mov dword [edi + 4], ecx
sub ebx, dword [edx*4 + str._b_b_b_a_b_t_n_v]
jmp 0x6e8785
movsd xmm0, qword [ebx]
movsd qword [edi], xmm0
cmp esi, 9
jb 0x6e88e2
lea ecx, [ebx + 8]
lea edx, [edi + 8]
mov eax, edx
sub eax, ecx
mov dword [esp + 0xc], eax
lea eax, [edi + esi]
mov dword [esp + 0x18], eax
cmp dword [esp + 0xc], 0xf
jg 0x6e88ae
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 8]
cmp edi, eax
mov esi, eax
cmovb esi, edi
cmova eax, edi
add esi, dword [esp + 0x14]
add esi, eax
sub esi, edi
mov edi, dword [esp + 0x1c]
add edi, eax
add edi, 0x10
cmp esi, edi
cmovbe esi, edi
mov edi, eax
mov dword [esp + 8], eax
mov edi, dword [esp + 0x1c]
add eax, edi
sub esi, eax
add esi, 0xfffffff7
cmp esi, 0x18
jb 0x6e8896
cmp dword [esp + 0xc], 0x20
jb 0x6e8896
shr esi, 3
lea eax, [esi + 1]
mov dword [esp + 0x10], eax
add esi, 0xfffffffd
mov eax, esi
shr eax, 2
inc eax
mov dword [esp + 0x14], eax
xor edi, edi
cmp esi, 4
jb 0x6e886a
mov esi, dword [esp + 0x14]
and esi, 0xfffffffe
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 8]
add eax, edi
add eax, 0x38
xor edi, edi
movups xmm0, xmmword [ebx + edi*8 + 8]
movups xmm1, xmmword [ebx + edi*8 + 0x18]
movups xmmword [eax + edi*8 - 0x30], xmm0
movups xmmword [eax + edi*8 - 0x20], xmm1
movups xmm0, xmmword [ebx + edi*8 + 0x28]
movups xmm1, xmmword [ebx + edi*8 + 0x38]
movups xmmword [eax + edi*8 - 0x10], xmm0
movups xmmword [eax + edi*8], xmm1
add edi, 8
add esi, 0xfffffffe
jne 0x6e883b
mov eax, dword [esp + 0x10]
and eax, 0xfffffffc
test byte [esp + 0x14], 1
je 0x6e888a
movups xmm0, xmmword [ecx + edi*8]
movups xmm1, xmmword [ecx + edi*8 + 0x10]
movups xmmword [edx + edi*8], xmm0
movups xmmword [edx + edi*8 + 0x10], xmm1
cmp dword [esp + 0x10], eax
je 0x6e88e2
lea ecx, [ecx + eax*8]
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x18]
movsd xmm0, qword [ecx]
movsd qword [edx], xmm0
add edx, 8
add ecx, 8
cmp edx, eax
jb 0x6e889a
jmp 0x6e88e2
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
cmp esi, 0x19
jl 0x6e88e2
add edi, 0x18
xor eax, eax
mov edx, dword [esp + 0x18]
movups xmm0, xmmword [ebx + eax + 0x18]
movups xmmword [edi + eax], xmm0
movups xmm0, xmmword [ebx + eax + 0x28]
movups xmmword [edi + eax + 0x10], xmm0
lea ecx, [edi + eax]
add ecx, 0x20
add eax, 0x20
cmp ecx, edx
jb 0x6e88c2
mov edx, dword [esp + 0x1c]
jmp 0x6e7c81
mov esi, dword [esp + 0xc]
mov ecx, eax
shl esi, cl
shr esi, 0x1f
mov ecx, dword [esp + 0x70]
add ecx, esi
add ecx, ebx
inc eax
mov edx, eax
mov dword [esp + 0x24], eax
cmp ecx, 3
jne 0x6e8919
mov edi, dword [esp + 0x4c]
lea ecx, [edi - 1]
cmp ecx, 1
adc edi, 0xffffffff
jmp 0x6e892a
mov eax, ecx
mov edi, dword [esp + ecx*4 + 0x4c]
cmp edi, 1
adc edi, 0
cmp ecx, 1
je 0x6e8932
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x50], ecx
mov eax, edx
mov edx, dword [esp + 0x5c]
jmp 0x6e6d0d