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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x150
mov esi, dword [ebp + 0x18]
mov ebx, dword [ebp + 8]
cmp dword [ebp + 0x1c], 0
je 0x6e35fa
xor eax, eax
mov ecx, 0x2000000
cmp ecx, dword [ebx + 0x74c8]
sbb eax, dword [ebx + 0x74cc]
setb al
movzx eax, al
mov dword [esp + 0x20], eax
jmp 0x6e3602
mov dword [esp + 0x20], 1
mov ecx, 0xffffffb8
cmp esi, 0x1ffff
ja 0x6e6725
mov edi, dword [ebp + 0x14]
push dword [ebp + 0x20]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
push edi
push ebx
call fcn.006e27b0
add esp, 0x18
mov ecx, eax
xor eax, eax
cmp ecx, 0xffffff89
cmovb eax, ecx
jae 0x6e6725
add edi, eax
sub esi, eax
mov ecx, ebx
mov ebx, dword [ebx + 0x7598]
mov dword [esp + 0xd4], 0
lea eax, [esp + 0xd4]
push esi
mov dword [esp + 8], edi
push edi
push eax
push ecx
call fcn.006e3280
add esp, 0x10
mov ecx, eax
cmp eax, 0xffffff88
ja 0x6e6725
mov edi, eax
mov eax, dword [esp + 0xd4]
cmp dword [ebp + 0xc], 0
jne 0x6e368f
mov ecx, 0xffffffba
test eax, eax
jg 0x6e6725
add dword [esp + 4], edi
mov edx, esi
sub edx, edi
test ebx, ebx
mov dword [esp + 0x14], edx
mov dword [esp], edi
je 0x6e36d0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x7598], 0
mov ebx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x75f0]
cmp edx, 1
jne 0x6e375b
mov edi, dword [ecx + 0x75e8]
mov dword [esp + 0x34], edi
jmp 0x6e3762
mov dword [esp + 0x28], eax
cmp dword [ebp + 0x1c], 0
mov eax, dword [ebp + 8]
je 0x6e38c9
mov ecx, dword [eax + 0x74cc]
cmp dword [eax + 0x74c8], 0x1000001
sbb ecx, 0
jb 0x6e38d4
cmp dword [esp + 0x28], 8
jle 0x6e38d4
mov eax, dword [eax + 8]
mov ecx, dword [eax + 4]
xor edi, edi
mov ebx, 1
nop word cs:[eax + eax]
cmp byte [eax + ebx*8 + 2], 0x17
sbb edi, 0xffffffff
mov edx, ebx
shr edx, cl
inc ebx
test edx, edx
je 0x6e3720
mov dl, 8
sub dl, cl
mov ecx, edx
shl edi, cl
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x7598], 0
cmp edi, 0x14
mov ebx, dword [ebp + 0x10]
mov eax, dword [esp + 0x28]
jae 0x6e36b2
jmp 0x6e38e7
add ebx, dword [ebp + 0xc]
mov dword [esp + 0x34], ebx
mov edi, dword [ecx + 0x7570]
mov dword [esp + 0x30], edi
mov ebx, dword [ecx + 0x75ec]
mov dword [esp + 0x40], ebx
test eax, eax
je 0x6e3888
mov edx, dword [ecx + 0x74b0]
mov edi, dword [ecx + 0x74b4]
mov dword [esp + 0x48], edi
mov edi, dword [ecx + 0x74b8]
mov dword [esp + 0x38], edi
xorps xmm0, xmm0
movaps xmmword [esp + 0x130], xmm0
movaps xmmword [esp + 0x120], xmm0
movaps xmmword [esp + 0x110], xmm0
movaps xmmword [esp + 0x100], xmm0
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0xe0], xmm0
movups xmmword [esp + 0x7c], xmm0
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x60], xmm0
mov dword [ecx + 0x7504], 1
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0x6834]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x28]
movsd xmm0, qword [ecx + 0x682c]
movsd qword [esp + 0x8c], xmm0
cmp eax, 8
mov edi, 8
cmovl edi, eax
mov ecx, 0xffffffec
cmp esi, dword [esp]
je 0x6e6725
mov esi, dword [esp + 4]
mov dword [esp + 0x6c], esi
lea eax, [esi + 4]
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x14]
cmp ebx, 4
mov dword [esp + 0x1c], edx
jb 0x6e3928
lea eax, [esi + ebx]
add eax, 0xfffffffc
mov dword [esp + 0x68], eax
mov eax, dword [esi + ebx - 4]
mov dword [esp + 0x60], eax
cmp eax, 0x1000000
jb 0x6e6725
mov dword [esp], eax
shr eax, 0x18
bsr eax, eax
xor eax, 0x1f
add eax, 0xffffffe9
mov dword [esp + 0x64], eax
cmp ebx, 0xffffff88
ja 0x6e6725
add ebx, 0xfffffffc
mov dword [esp + 0x14], ebx
jmp 0x6e398a
mov ebx, dword [ebp + 0xc]
cmp edx, 2
jne 0x6e3a1c
mov esi, dword [esp + 0x40]
sub esi, edi
mov eax, dword [esp + 0x34]
sub eax, ebx
mov ecx, 0xffffffba
cmp esi, eax
ja 0x6e6725
test ebx, ebx
je 0x6e3a08
mov edx, esi
push edx
push edi
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
add ebx, esi
jmp 0x6e3a0a
cmp dword [esp + 0x28], 9
jge 0x6e3705
mov dword [eax + 0x7598], 0
mov ecx, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [esp + 0x28]
cmp dword [ecx + 0x75f0], 2
jne 0x6e3908
mov edx, dword [ebp + 0xc]
push dword [esp + 0x20]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x10]
push ebx
call fcn.006e6730
jmp 0x6e391e
mov edx, dword [ebp + 0xc]
push dword [esp + 0x20]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x10]
push ebx
call fcn.006e8950
add esp, 0x14
mov ecx, eax
jmp 0x6e6725
mov dword [esp + 0x68], esi
movzx eax, byte [esi]
mov dword [esp], eax
mov dword [esp + 0x60], eax
cmp ebx, 2
mov edx, ebx
je 0x6e3950
cmp edx, 3
jne 0x6e3963
movzx eax, byte [esi + 2]
shl eax, 0x10
mov ebx, dword [esp]
or ebx, eax
jmp 0x6e3953
mov ebx, dword [esp]
movzx eax, byte [esi + 1]
shl eax, 8
add ebx, eax
mov dword [esp], ebx
mov dword [esp + 0x60], ebx
movzx eax, byte [edx + esi - 1]
test eax, eax
je 0x6e6725
bsr eax, eax
xor eax, 0x1f
shl edx, 3
sub eax, edx
add eax, 9
mov dword [esp + 0x64], eax
mov dword [esp + 0x14], 0
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov ebx, ecx
mov esi, dword [ecx + 4]
add eax, esi
mov ecx, eax
neg cl
mov edx, dword [esp]
shr edx, cl
and edx, dword [esi*4 + 0x8d8cc8]
mov dword [esp + 0x64], eax
mov dword [esp + 0x74], edx
cmp eax, 0x20
mov dword [esp + 0xc8], edi
mov dword [esp + 0x5c], edx
jbe 0x6e39c6
mov edi, dword [esp]
jmp 0x6e3a82
mov edi, dword [esp + 0x14]
cmp edi, 4
jge 0x6e3a5e
test edi, edi
je 0x6e3c7a
mov ecx, dword [esp + 4]
lea esi, [ecx + edi]
mov ecx, eax
shr ecx, 3
sub esi, ecx
cmp esi, dword [esp + 4]
cmovb ecx, edi
sub edi, ecx
mov edx, dword [esp + 4]
lea esi, [edx + edi]
mov dword [esp + 0x68], esi
mov edx, dword [esp + 4]
shl ecx, 3
sub eax, ecx
jmp 0x6e3a73
xor ebx, ebx
mov eax, dword [ebp + 8]
lea edi, [eax + 0x75f4]
add eax, 0x175f4
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x40]
sub edx, edi
mov esi, dword [esp + 0x34]
sub esi, ebx
mov ecx, 0xffffffba
cmp edx, esi
ja 0x6e6725
test ebx, ebx
je 0x6e3a54
mov eax, edx
mov esi, edx
push eax
push edi
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
add ebx, esi
mov ecx, ebx
sub ecx, dword [ebp + 0xc]
jmp 0x6e6725
xor ecx, ecx
sub ecx, dword [ebp + 0xc]
jmp 0x6e6725
mov ecx, eax
shr ecx, 3
sub edi, ecx
mov edx, dword [esp + 4]
lea ecx, [edx + edi]
mov dword [esp + 0x68], ecx
and eax, 7
mov dword [esp + 0x14], edi
mov dword [esp + 0x64], eax
mov edi, dword [edx + edi]
mov dword [esp + 0x60], edi
add ebx, 8
mov dword [esp + 0xdc], ebx
mov dword [esp + 0x78], ebx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x54], ecx
mov esi, dword [ecx + 4]
add eax, esi
mov ecx, eax
neg cl
mov dword [esp], edi
shr edi, cl
and edi, dword [esi*4 + 0x8d8cc8]
mov dword [esp + 0x64], eax
mov dword [esp + 0x7c], edi
cmp eax, 0x20
jbe 0x6e3ac4
mov ebx, dword [ebp + 8]
mov esi, dword [esp]
jmp 0x6e3b39
mov edx, dword [esp + 0x14]
cmp edx, 4
jge 0x6e3b10
test edx, edx
mov ebx, dword [ebp + 8]
je 0x6e3c8a
mov ecx, dword [esp + 4]
lea esi, [ecx + edx]
mov ecx, eax
shr ecx, 3
sub esi, ecx
cmp esi, dword [esp + 4]
cmovb ecx, edx
sub edx, ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 4]
mov esi, dword [esp + 0x14]
add esi, edx
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 4]
shl ecx, 3
sub eax, ecx
jmp 0x6e3b2a
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov esi, edx
mov edx, dword [esp + 4]
lea ecx, [edx + esi]
mov dword [esp + 0x68], ecx
and eax, 7
mov ebx, dword [ebp + 8]
mov dword [esp + 0x14], esi
mov dword [esp + 0x64], eax
mov esi, dword [edx + esi]
mov dword [esp + 0x60], esi
mov ecx, dword [esp + 0x54]
add ecx, 8
mov dword [esp + 0x54], ecx
mov dword [esp + 0x80], ecx
mov edx, dword [ebx + 4]
mov ebx, dword [edx + 4]
add eax, ebx
mov ecx, eax
neg cl
mov dword [esp], esi
shr esi, cl
and esi, dword [ebx*4 + 0x8d8cc8]
mov ecx, dword [ebp + 0xc]
sub ecx, dword [esp + 0x1c]
mov dword [esp + 0x64], eax
mov dword [esp + 0xb8], esi
mov dword [esp + 0x84], esi
cmp eax, 0x21
jb 0x6e3bc2
mov dword [esp + 0xc], eax
mov eax, ecx
add edx, 8
mov dword [esp + 0x88], edx
mov dword [esp + 0xac], 0
mov ecx, dword [esp + 0xac]
mov edi, ecx
cmp ecx, dword [esp + 0xc8]
mov ebx, eax
mov eax, dword [esp + 0xc]
jge 0x6e441d
mov ecx, 0xffffffec
jmp 0x6e6725
mov dword [esp + 0xc4], edx
mov ebx, dword [esp + 0x14]
cmp ebx, 4
mov dword [esp + 0x3c], ecx
jge 0x6e3c3e
test ebx, ebx
je 0x6e3c9a
mov edx, ebx
mov esi, dword [esp + 4]
add ebx, esi
mov ecx, eax
shr ecx, 3
sub ebx, ecx
cmp ebx, esi
cmovb ecx, edx
sub edx, ecx
lea ebx, [esi + edx]
mov dword [esp + 0x68], ebx
shl ecx, 3
sub eax, ecx
mov dword [esp + 0x64], eax
mov ecx, dword [esi + edx]
mov esi, edx
mov dword [esp], ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xc4]
add ecx, 8
mov dword [esp + 0x88], ecx
mov dword [esp + 0xac], 0
mov dword [esp + 0xc], eax
cmp eax, 0x20
jbe 0x6e3cb1
mov eax, dword [esp + 0x3c]
jmp 0x6e3b9c
mov ecx, eax
shr ecx, 3
sub ebx, ecx
mov edx, dword [esp + 4]
lea ecx, [edx + ebx]
mov dword [esp + 0x68], ecx
and eax, 7
mov dword [esp + 0xc], eax
mov dword [esp + 0x64], eax
mov ecx, dword [edx + ebx]
mov esi, ebx
mov dword [esp], ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xc4]
add ecx, 8
mov dword [esp + 0x88], ecx
jmp 0x6e3cb1
mov dword [esp + 0x14], 0
mov edi, dword [esp]
jmp 0x6e3a82
mov dword [esp + 0x14], 0
mov esi, dword [esp]
jmp 0x6e3b39
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc4]
add ecx, 8
mov dword [esp + 0x88], ecx
xor esi, esi
mov dword [esp + 0xac], 0
mov ebx, dword [esp + 0xc8]
test ebx, ebx
mov ecx, 0
cmovg ecx, ebx
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0xe8]
mov edx, esi
mov dword [esp + 8], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x3c]
jmp 0x6e3dae
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov ebx, dword [esp + 4]
lea ecx, [ebx + edx]
mov dword [esp + 0x68], ecx
and eax, 7
mov dword [esp + 0x14], edx
mov edi, dword [ebx + edx]
mov dword [esp + 0x60], edi
mov dword [esp + 0x10], edx
mov dword [esp + 8], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0xb4]
add eax, edx
mov ecx, eax
neg cl
mov dword [esp], edi
shr edi, cl
and edi, dword [edx*4 + 0x8d8cc8]
add edi, dword [esp + 0xc0]
mov dword [esp + 0x64], eax
mov edx, dword [esp + 0x58]
add ebx, edx
mov esi, eax
mov eax, ebx
mov ebx, dword [esp + 0xc]
cmp eax, ebx
mov ecx, dword [esp + 0x1c]
cmovb ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], edi
add ecx, eax
sub ecx, ebx
prefetcht0 byte [ecx]
prefetcht0 byte [ecx + 0x40]
mov ecx, dword [esp + 0xa4]
mov dword [ecx - 8], edx
mov edx, dword [esp + 0xa8]
add eax, edx
mov dword [ecx - 4], edx
mov dword [ecx], ebx
inc dword [esp + 0xac]
add ecx, 0xc
mov dword [esp + 0xc], esi
cmp esi, 0x20
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
ja 0x6e3b9c
cmp esi, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0xa4], ecx
jge 0x6e3ded
test esi, esi
je 0x6e3fcc
mov edx, dword [esp + 4]
lea ebx, [edx + esi]
mov eax, dword [esp + 0xc]
mov ecx, eax
shr ecx, 3
sub ebx, ecx
cmp ebx, edx
cmovb ecx, esi
sub esi, ecx
lea ebx, [edx + esi]
mov dword [esp + 0x68], ebx
shl ecx, 3
sub eax, ecx
jmp 0x6e3e06
mov eax, dword [esp + 0xc]
mov ecx, eax
shr ecx, 3
sub esi, ecx
mov edx, dword [esp + 4]
lea ecx, [edx + esi]
mov dword [esp + 0x68], ecx
and eax, 7
mov dword [esp + 0x64], eax
mov ecx, dword [edx + esi]
mov dword [esp], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x14], esi
mov edx, esi
mov dword [esp + 8], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], esi
mov ecx, dword [esp + 0xac]
cmp dword [esp + 0x44], ecx
mov ebx, dword [esp + 0xc4]
je 0x6e4415
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0xdc]
mov esi, dword [esp + 0x5c]
mov edx, dword [ecx + esi*8 + 4]
mov dword [esp + 0x58], edx
movzx edx, byte [ecx + esi*8 + 2]
mov dword [esp + 0x4c], edx
movzx edx, word [ecx + esi*8]
mov dword [esp + 0xb0], edx
movzx ecx, byte [ecx + esi*8 + 3]
mov dword [esp + 0xbc], ecx
mov esi, dword [esp + 0xb8]
mov ecx, dword [ebx + esi*8 + 0xc]
mov dword [esp + 0xa8], ecx
movzx ecx, byte [ebx + esi*8 + 0xa]
mov dword [esp + 0x50], ecx
movzx ecx, word [ebx + esi*8 + 8]
mov dword [esp + 0xcc], ecx
movzx ecx, byte [ebx + esi*8 + 0xb]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x54]
mov ebx, dword [ecx + edi*8 + 4]
movzx edx, byte [ecx + edi*8 + 2]
movzx esi, word [ecx + edi*8]
mov dword [esp + 0xc0], esi
movzx ecx, byte [ecx + edi*8 + 3]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x5c], edx
cmp edx, 2
jb 0x6e41bb
cmp dword [esp + 0x20], 0
mov edx, dword [esp + 0x5c]
je 0x6e3f29
cmp dl, 0x19
jb 0x6e3f29
mov dword [esp + 0xd8], ebx
mov edi, 0x20
sub edi, eax
cmp edi, edx
mov ebx, edx
cmovb ebx, edi
mov esi, dword [esp]
mov ecx, eax
shl esi, cl
sub edx, ebx
mov ecx, ebx
add ebx, eax
neg cl
shr esi, cl
mov ecx, edx
shl esi, cl
cmp ebx, 0x20
jbe 0x6e3f4e
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x5c]
jmp 0x6e4023
mov edi, dword [esp]
mov esi, edi
mov ecx, eax
shl esi, cl
mov ecx, edx
neg cl
shr esi, cl
add eax, edx
add esi, ebx
mov dword [esp + 0xc], esi
cmp eax, 0x20
jbe 0x6e3f91
mov esi, dword [esp + 4]
jmp 0x6e4090
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x2c]
cmp edx, 4
mov ecx, dword [esp + 8]
jge 0x6e3fd7
test edx, edx
je 0x6e4189
mov dword [esp + 0xc], esi
mov esi, dword [esp + 4]
lea ecx, [esi + edx]
mov eax, ebx
shr eax, 3
sub ecx, eax
cmp ecx, esi
cmovb eax, edx
sub edx, eax
lea ecx, [esi + edx]
mov dword [esp + 0x68], ecx
shl eax, 3
sub ebx, eax
jmp 0x6e3ff0
mov ebx, dword [esp + 0x24]
cmp ebx, 4
mov esi, dword [esp + 4]
jge 0x6e4060
test ebx, ebx
je 0x6e41a6
lea edx, [esi + ebx]
mov ecx, eax
shr ecx, 3
sub edx, ecx
cmp edx, esi
cmovb ecx, ebx
sub ebx, ecx
lea edx, [esi + ebx]
mov dword [esp + 0x68], edx
shl ecx, 3
sub eax, ecx
jmp 0x6e4071
xor esi, esi
mov eax, dword [esp + 0xc]
jmp 0x6e3e26
mov dword [esp + 0xc], esi
mov eax, ebx
shr eax, 3
sub edx, eax
mov esi, dword [esp + 4]
lea eax, [esi + edx]
mov dword [esp + 0x68], eax
and ebx, 7
mov dword [esp + 0x2c], edx
mov dword [esp + 0x64], ebx
mov ecx, dword [esi + edx]
mov dword [esp], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x10], edx
mov ecx, edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0xd0]
mov dword [esp + 8], ecx
add esi, dword [esp + 0xd8]
cmp edi, eax
jae 0x6e4051
mov edi, dword [esp]
mov eax, edi
mov ecx, ebx
shl eax, cl
mov ecx, edx
neg cl
shr eax, cl
add ebx, edx
add esi, eax
mov dword [esp + 0xc], esi
mov eax, ebx
mov esi, dword [esp + 4]
jmp 0x6e4090
mov dword [esp + 0xc], esi
mov eax, ebx
mov esi, dword [esp + 4]
mov edi, dword [esp]
jmp 0x6e4090
mov ecx, eax
shr ecx, 3
sub ebx, ecx
lea ecx, [esi + ebx]
mov dword [esp + 0x68], ecx
and eax, 7
mov edi, dword [esi + ebx]
mov dword [esp + 0x60], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x94], ecx
lea ecx, [esp + 0x8c]
mov edx, dword [esp + 0x4c]
add edx, ebx
mov ecx, dword [ecx]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x8c], ecx
test ebx, ebx
jne 0x6e4202
mov ecx, dword [esp + 8]
cmp edx, 0x14
jb 0x6e4114
cmp eax, 0x20
mov edx, dword [esp + 0x10]
ja 0x6e414f
cmp ecx, 4
jge 0x6e411a
test ecx, ecx
je 0x6e416d
lea edx, [esi + ecx]
mov ecx, eax
shr ecx, 3
sub edx, ecx
cmp edx, esi
cmovb ecx, dword [esp + 8]
sub dword [esp + 8], ecx
mov edx, dword [esp + 8]
add edx, esi
mov dword [esp + 0x68], edx
shl ecx, 3
sub eax, ecx
mov ecx, dword [esp + 8]
jmp 0x6e4134
mov edx, dword [esp + 0x10]
jmp 0x6e414f
mov ecx, eax
shr ecx, 3
sub dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add ecx, esi
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 8]
and eax, 7
mov edx, ecx
mov edi, dword [esi + ecx]
mov dword [esp + 0x60], edi
mov ebx, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x6e4224
cmp eax, 0x20
jbe 0x6e424f
mov dword [esp + 8], ecx
jmp 0x6e42ae
xor ecx, ecx
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], 0
jmp 0x6e414f
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], 0
jmp 0x6e4018
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], 0
jmp 0x6e4090
xor edx, edx
cmp dword [esp + 0x58], 0
sete dl
cmp dword [esp + 0x5c], 0
jne 0x6e43af
xor ecx, ecx
cmp dword [esp + 0x58], 0
setne cl
mov edx, dword [esp + edx*4 + 0x8c]
mov dword [esp + 0xc], edx
lea ecx, [esp + ecx*4]
add ecx, 0x8c
mov esi, dword [esp + 4]
mov edi, dword [esp]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
jmp 0x6e40ad
mov esi, edi
mov ecx, eax
shl esi, cl
mov ecx, ebx
neg cl
shr esi, cl
add eax, ebx
add dword [esp + 0xa8], esi
mov esi, dword [esp + 4]
mov dword [esp + 0x64], eax
jmp 0x6e40cb
mov dword [esp + 0x10], edx
mov edx, edi
mov dword [esp + 8], ecx
mov ecx, eax
shl edx, cl
add eax, ebx
mov ecx, ebx
neg cl
shr edx, cl
mov ecx, dword [esp + 8]
add dword [esp + 0x58], edx
mov edx, dword [esp + 0x10]
cmp eax, 0x20
ja 0x6e4164
cmp edx, 4
jge 0x6e4280
test edx, edx
je 0x6e4353
mov edi, edx
add edx, esi
mov ecx, eax
shr ecx, 3
sub edx, ecx
cmp edx, esi
cmovb ecx, edi
sub edi, ecx
lea edx, [esi + edi]
mov dword [esp + 0x68], edx
mov edx, edi
shl ecx, 3
sub eax, ecx
mov ecx, edi
jmp 0x6e4293
mov ecx, eax
shr ecx, 3
sub edx, ecx
lea ecx, [esi + edx]
mov dword [esp + 0x68], ecx
and eax, 7
mov ecx, edx
mov edi, dword [esi + ecx]
mov dword [esp + 0x60], edi
mov dword [esp + 8], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov esi, dword [esp + 0xbc]
add eax, esi
mov ecx, eax
neg cl
mov ebx, edi
shr ebx, cl
and ebx, dword [esi*4 + 0x8d8cc8]
mov esi, dword [esp + 0xb8]
add eax, esi
mov ecx, eax
neg cl
mov dword [esp], edi
shr edi, cl
add ebx, dword [esp + 0xb0]
and edi, dword [esi*4 + 0x8d8cc8]
add edi, dword [esp + 0xcc]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0xb8], edi
mov dword [esp + 0x84], edi
cmp eax, 0x20
jbe 0x6e4318
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp]
jmp 0x6e3d2b
mov edx, dword [esp + 0x14]
cmp edx, 4
mov ebx, dword [esp + 0x3c]
jge 0x6e3cf3
test edx, edx
je 0x6e437a
mov ebx, dword [esp + 4]
lea edi, [ebx + edx]
mov ecx, eax
shr ecx, 3
sub edi, ecx
cmp edi, ebx
cmovb ecx, edx
sub edx, ecx
lea edi, [ebx + edx]
mov dword [esp + 0x68], edi
shl ecx, 3
sub eax, ecx
jmp 0x6e3d08
xor edx, edx
mov dword [esp + 8], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], 0
jmp 0x6e42ae
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], 0
jmp 0x6e4310
mov esi, ebx
mov edi, dword [esp]
mov ecx, eax
shl edi, cl
shr edi, 0x1f
add esi, edi
add esi, edx
inc ecx
mov eax, ecx
mov dword [esp + 0x64], ecx
cmp esi, 3
jne 0x6e43e1
mov edx, dword [esp + 0x8c]
lea ecx, [edx - 1]
cmp ecx, 1
adc edx, 0xffffffff
mov dword [esp + 0xc], edx
jmp 0x6e43fb
mov ecx, esi
mov edx, esi
mov ecx, dword [esp + ecx*4 + 0x8c]
cmp ecx, 1
adc ecx, 0
mov dword [esp + 0xc], ecx
cmp esi, 1
je 0x6e4409
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x94], ecx
lea ecx, [esp + 0x8c]
jmp 0x6e41ee
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [ebp + 8]
lea edx, [ecx + 0x682c]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x34]
add edx, 0xffffffe0
mov dword [esp + 0xa8], edx
lea edx, [ecx + 0x75f4]
mov dword [esp + 0xb0], edx
add ecx, 0x175f4
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x1c]
add ecx, 0x38
mov dword [esp + 0x54], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp], ecx
jmp 0x6e44f2
push dword [esp + 0x38]
push dword [esp + 0x4c]
push dword [esp + 0x24]
push dword [esp + 0x4c]
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x28]
push esi
call fcn.006e9740
add esp, 0x20
mov ecx, dword [esp + 8]
cmp eax, 0xffffff88
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x3c]
ja 0x6e3921
mov esi, dword [esp + 0x58]
add ebx, esi
mov dword [esp + 4], eax
mov edx, dword [esp + 0x14]
cmp ebx, edx
mov eax, dword [esp + 0x1c]
cmovb eax, dword [esp + 0x38]
add eax, ebx
sub eax, edx
prefetcht0 byte [eax]
prefetcht0 byte [eax + 0x40]
mov eax, edi
and eax, 7
lea eax, [eax + eax*2]
mov dword [esp + eax*4 + 0xe0], esi
mov dword [esp + eax*4 + 0xe4], ecx
mov dword [esp + eax*4 + 0xe8], edx
mov eax, dword [esp + 4]
add dword [esp], eax
add ebx, ecx
inc edi
mov eax, dword [esp + 0x64]
cmp eax, 0x21
jae 0x6e58a1
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x10], ecx
cmp edx, ecx
mov dword [esp + 0x44], edi
jae 0x6e4542
mov ecx, dword [esp + 0x6c]
mov esi, edx
sub esi, ecx
je 0x6e472a
mov dword [esp + 4], ecx
mov ecx, eax
shr ecx, 3
mov edi, edx
sub edi, ecx
cmp edi, dword [esp + 4]
mov edi, dword [esp + 0x44]
cmovb ecx, esi
sub edx, ecx
mov dword [esp + 0x68], edx
shl ecx, 3
sub eax, ecx
jmp 0x6e4550
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x68], edx
and eax, 7
mov dword [esp + 0x64], eax
mov dword [esp + 4], edx
mov ecx, dword [edx]
mov dword [esp + 0x60], ecx
cmp edi, dword [esp + 0x28]
jge 0x6e58b0
mov dword [esp + 0x3c], ebx
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov esi, dword [edx + ecx*8 + 4]
mov dword [esp + 0x58], esi
movzx esi, byte [edx + ecx*8 + 2]
mov dword [esp + 0x18], esi
movzx edi, word [edx + ecx*8]
movzx ecx, byte [edx + ecx*8 + 3]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov esi, dword [ecx + edx*8 + 4]
mov dword [esp + 8], esi
movzx esi, byte [ecx + edx*8 + 2]
mov dword [esp + 0xc], esi
movzx esi, word [ecx + edx*8]
mov dword [esp + 0x5c], esi
movzx ecx, byte [ecx + edx*8 + 3]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov esi, dword [ecx + edx*8 + 4]
mov dword [esp + 0xa4], esi
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 + 0x24], esi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], edi
jb 0x6e485f
cmp dword [esp + 0x20], 0
je 0x6e466f
cmp bl, 0x19
jb 0x6e466f
mov ecx, 0x20
sub ecx, eax
cmp ecx, ebx
mov edx, ebx
mov dword [esp + 0xb4], ecx
cmovb edx, ecx
mov esi, dword [esp + 0x60]
mov edi, esi
mov ecx, eax
shl edi, cl
mov dword [esp + 0xc0], ebx
sub ebx, edx
mov ecx, edx
add edx, eax
neg cl
shr edi, cl
mov dword [esp + 0xcc], ebx
mov ecx, ebx
shl edi, cl
mov dword [esp + 0x14], edi
cmp edx, 0x20
jbe 0x6e46e1
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xc0]
mov ecx, dword [esp + 0xb4]
jmp 0x6e4788
mov esi, dword [esp + 0x60]
mov ecx, eax
shl esi, cl
mov ecx, ebx
neg cl
shr esi, cl
add eax, ebx
add esi, dword [esp + 0xa4]
cmp eax, 0x20
mov edi, dword [esp + 4]
ja 0x6e47af
cmp edi, dword [esp + 0x10]
jae 0x6e473d
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x6c]
mov edx, edi
sub edx, esi
mov ebx, dword [esp + 0x18]
je 0x6e46d8
mov ecx, eax
shr ecx, 3
mov edi, dword [esp + 4]
sub edi, ecx
cmp edi, esi
mov edi, dword [esp + 4]
cmovb ecx, edx
sub edi, ecx
mov dword [esp + 0x68], edi
shl ecx, 3
sub eax, ecx
mov dword [esp + 0x64], eax
mov ecx, dword [edi]
mov dword [esp + 0x60], ecx
mov esi, dword [esp + 0x14]
jmp 0x6e47b3
mov edi, dword [esp + 4]
cmp edi, dword [esp + 0x10]
jae 0x6e4757
mov eax, dword [esp + 0x6c]
mov ecx, edi
sub ecx, eax
mov ebx, dword [esp + 0xc0]
je 0x6e484c
mov esi, eax
mov eax, edx
shr eax, 3
mov edi, dword [esp + 4]
sub edi, eax
cmp edi, esi
mov edi, dword [esp + 4]
cmovb eax, ecx
sub edi, eax
shl eax, 3
sub edx, eax
mov dword [esp + 0x68], edi
mov eax, dword [esp + 0xa4]
jmp 0x6e4773
mov dword [esp + 4], edx
cmp edi, dword [esp + 0x28]
jl 0x6e4568
jmp 0x6e58b0
mov ecx, eax
shr ecx, 3
sub edi, ecx
mov dword [esp + 0x68], edi
and eax, 7
mov dword [esp + 0x64], eax
mov ecx, dword [edi]
mov dword [esp + 0x60], ecx
jmp 0x6e47af
mov eax, edx
shr eax, 3
sub edi, eax
mov dword [esp + 0x68], edi
and edx, 7
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xc0]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x64], edx
mov dword [esp + 4], edi
mov esi, dword [edi]
mov dword [esp + 0x60], esi
mov edi, dword [esp + 0x14]
add edi, eax
cmp ecx, ebx
jae 0x6e47a7
mov ecx, edx
shl esi, cl
mov eax, dword [esp + 0xcc]
mov ecx, eax
neg cl
shr esi, cl
add edx, eax
add edi, esi
mov eax, edx
mov esi, edi
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
movsd xmm0, qword [esp + 0x8c]
movsd qword [esp + 0x90], xmm0
mov dword [esp + 0x14], esi
lea edx, [ecx + ebx]
mov dword [esp + 0x8c], esi
test ecx, ecx
jne 0x6e48a1
cmp edx, 0x14
jb 0x6e4832
cmp eax, 0x20
ja 0x6e4832
cmp edi, dword [esp + 0x10]
jae 0x6e481a
mov esi, dword [esp + 0x6c]
mov edx, edi
sub edx, esi
je 0x6e4832
mov ecx, eax
shr ecx, 3
mov ebx, edi
sub edi, ecx
cmp edi, esi
mov edi, ebx
mov ebx, dword [esp + 0x18]
cmovb ecx, edx
sub edi, ecx
shl ecx, 3
sub eax, ecx
mov dword [esp + 0x68], edi
jmp 0x6e4828
mov ecx, eax
shr ecx, 3
sub edi, ecx
mov dword [esp + 0x68], edi
and eax, 7
mov dword [esp + 0x64], eax
mov ecx, dword [edi]
mov dword [esp + 0x60], ecx
test ebx, ebx
jne 0x6e48c7
cmp eax, 0x20
jbe 0x6e48e4
mov dword [esp + 4], edi
jmp 0x6e4931
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xb4]
jmp 0x6e4788
xor ecx, ecx
cmp dword [esp + 0x58], 0
sete cl
test ebx, ebx
jne 0x6e5841
xor edx, edx
cmp dword [esp + 0x58], 0
setne dl
mov esi, dword [esp + ecx*4 + 0x8c]
mov ecx, dword [esp + edx*4 + 0x8c]
mov dword [esp + 0x90], ecx
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
jmp 0x6e47c9
mov esi, dword [esp + 0x60]
mov ecx, eax
shl esi, cl
mov ecx, dword [esp + 0xc]
neg cl
shr esi, cl
add eax, dword [esp + 0xc]
add dword [esp + 8], esi
cmp edx, 0x14
jae 0x6e47e4
jmp 0x6e4832
mov edx, dword [esp + 0x60]
mov ecx, eax
shl edx, cl
mov ecx, ebx
neg cl
shr edx, cl
add eax, ebx
add dword [esp + 0x58], edx
cmp eax, 0x20
ja 0x6e4843
cmp edi, dword [esp + 0x10]
jae 0x6e4915
mov esi, dword [esp + 0x6c]
mov edx, edi
sub edx, esi
je 0x6e4843
mov ecx, eax
shr ecx, 3
mov ebx, edi
sub edi, ecx
cmp edi, esi
mov edi, ebx
cmovb ecx, edx
sub edi, ecx
shl ecx, 3
sub eax, ecx
mov dword [esp + 0x68], edi
jmp 0x6e4923
mov ecx, eax
shr ecx, 3
sub edi, ecx
mov dword [esp + 0x68], edi
and eax, 7
mov dword [esp + 0x64], eax
mov dword [esp + 4], edi
mov ecx, dword [edi]
mov dword [esp + 0x60], ecx
mov edi, dword [esp + 0xb8]
add eax, edi
mov ecx, eax
neg cl
mov edx, dword [esp + 0x60]
mov esi, edx
shr esi, cl
and esi, dword [edi*4 + 0x8d8cc8]
mov ebx, dword [esp + 0xac]
add eax, ebx
mov ecx, eax
neg cl
mov edi, edx
shr edi, cl
add esi, dword [esp + 0x4c]
and edi, dword [ebx*4 + 0x8d8cc8]
mov dword [esp + 0x74], esi
add edi, dword [esp + 0x5c]
mov dword [esp + 0x84], edi
cmp eax, 0x20
jbe 0x6e4987
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x24]
jmp 0x6e49d6
mov ebx, dword [esp + 4]
cmp ebx, dword [esp + 0x10]
jae 0x6e49b6
mov edi, dword [esp + 0x6c]
mov esi, ebx
sub esi, edi
je 0x6e497d
mov ecx, eax
shr ecx, 3
mov edx, ebx
sub edx, ecx
cmp edx, edi
cmovb ecx, esi
sub ebx, ecx
shl ecx, 3
sub eax, ecx
mov dword [esp + 0x68], ebx
jmp 0x6e49c4
mov ecx, eax
shr ecx, 3
sub ebx, ecx
mov dword [esp + 0x68], ebx
and eax, 7
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x64], eax
mov edx, dword [ebx]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x2c]
add eax, ebx
mov ecx, eax
neg cl
shr edx, cl
and edx, dword [ebx*4 + 0x8d8cc8]
add edx, edi
mov dword [esp + 0x64], eax
mov dword [esp + 0x7c], edx
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0x75f0], 2
jne 0x6e4ac4
mov edx, dword [esp + 0x30]
mov eax, esi
and eax, 7
lea edi, [eax + eax*2]
mov esi, dword [esp + edi*4 + 0xe0]
lea eax, [edx + esi]
mov ecx, dword [ebx + 0x75ec]
cmp eax, ecx
jbe 0x6e4bc2
lea eax, [esp + edi*4]
add eax, 0xe0
mov dword [esp + 0x18], eax
mov ebx, ecx
sub ebx, edx
je 0x6e4d5e
mov eax, dword [esp + 0x34]
mov esi, dword [esp]
sub eax, esi
cmp ebx, eax
ja 0x6e6720
mov eax, ecx
mov dword [esp + 0x24], edi
mov ecx, esi
sub ecx, edx
lea edi, [esi + ebx]
cmp ecx, 0xfffffff8
mov dword [esp + 4], edi
mov dword [esp + 0xc], ebx
jg 0x6e4d66
cmp ebx, 7
jle 0x6e4d66
cmp ecx, 0xffffffef
ja 0x6e4ea6
lea esi, [edi - 0x20]
mov ecx, esi
mov ebx, dword [esp]
sub ecx, ebx
jb 0x6e4ea9
movups xmm0, xmmword [edx]
movups xmmword [ebx], xmm0
cmp ecx, 0x11
jl 0x6e4abd
mov eax, 0x10
movups xmm0, xmmword [edx + eax]
movups xmmword [ebx + eax], xmm0
movups xmm0, xmmword [edx + eax + 0x10]
movups xmmword [ebx + eax + 0x10], xmm0
lea edi, [ebx + eax]
add edi, 0x20
add eax, 0x20
cmp edi, esi
jb 0x6e4a9e
add edx, ecx
jmp 0x6e4eab
mov eax, esi
and eax, 7
lea eax, [eax + eax*2]
mov esi, dword [esp + eax*4 + 0xe0]
mov ecx, dword [esp + eax*4 + 0xe4]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + eax*4 + 0xe8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
add eax, esi
mov dword [esp + 0xc], eax
cmp eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp]
ja 0x6e4468
mov eax, dword [esp + 0x10]
add eax, esi
lea edi, [ecx + eax]
cmp edi, dword [esp + 0xa8]
ja 0x6e4468
mov ebx, edx
sub ebx, ecx
lea edi, [eax + 0x20]
cmp ebx, edi
jb 0x6e4468
mov dword [esp + 4], eax
lea edi, [ecx + esi]
mov eax, dword [esp + 0x24]
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
cmp esi, 0x11
jae 0x6e520e
mov ebx, edi
mov ecx, dword [esp + 0x18]
sub ebx, ecx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov edx, edi
sub edx, dword [esp + 0x1c]
cmp edx, ecx
mov eax, dword [esp + 8]
jae 0x6e4ca5
mov dword [esp + 0xc], edx
mov eax, edi
sub eax, dword [esp + 0x48]
cmp eax, ecx
jb 0x6e3bb8
mov edx, dword [esp + 0x1c]
sub ebx, edx
mov esi, dword [esp + 0x38]
lea eax, [esi + ebx]
mov ecx, dword [esp + 0x10]
add ecx, eax
cmp ecx, esi
jbe 0x6e4cf4
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 esi, ebx
add esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
jmp 0x6e4cb1
lea ebx, [edx + esi]
add ebx, 0xffffffe0
mov ecx, eax
mov eax, dword [esp + edi*4 + 0xe4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + edi*4 + 0xe8]
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], ecx
cmp ecx, dword [esp + 0x40]
mov ecx, dword [esp]
ja 0x6e51aa
mov eax, dword [esp + 0x10]
lea edi, [eax + esi]
lea eax, [ecx + edi]
cmp eax, ebx
ja 0x6e51aa
mov eax, dword [esp + 0x34]
sub eax, ecx
mov ecx, ebx
lea ebx, [edi + 0x20]
cmp eax, ebx
mov ebx, ecx
mov ecx, dword [esp]
jb 0x6e51aa
mov dword [esp + 4], edi
lea edi, [ecx + esi]
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
cmp esi, 0x11
jae 0x6e5298
mov ebx, edi
mov ecx, dword [esp + 0x18]
sub ebx, ecx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov edx, edi
sub edx, dword [esp + 0x1c]
cmp edx, ecx
mov eax, dword [esp + 8]
jae 0x6e4d0f
mov dword [esp + 0xc], edx
mov eax, edi
sub eax, dword [esp + 0x48]
cmp eax, ecx
jb 0x6e3bb8
mov edx, dword [esp + 0x1c]
sub ebx, edx
mov esi, dword [esp + 0x38]
lea eax, [esi + ebx]
mov ecx, dword [esp + 0x10]
add ecx, eax
cmp ecx, esi
jbe 0x6e4cf4
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 esi, ebx
add esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
jmp 0x6e4d1b
mov dword [esp + 8], eax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 4]
cmp ecx, 0x10
jb 0x6e5252
movups xmm0, xmmword [ebx]
movups xmmword [edi], xmm0
cmp esi, 0x11
jl 0x6e448e
add esi, edi
mov edx, 0x10
movups xmm0, xmmword [ebx + edx]
movups xmmword [edi + edx], xmm0
movups xmm0, xmmword [ebx + edx + 0x10]
movups xmmword [edi + edx + 0x10], xmm0
lea ecx, [edi + edx]
add ecx, 0x20
add edx, 0x20
cmp ecx, esi
jb 0x6e4cd0
jmp 0x6e448e
push dword [esp + 0x10]
push eax
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
mov ecx, dword [esp + 8]
mov eax, dword [esp + 4]
jmp 0x6e4492
mov dword [esp + 8], eax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 4]
cmp ecx, 0x10
jb 0x6e5331
movups xmm0, xmmword [ebx]
movups xmmword [edi], xmm0
cmp esi, 0x11
jl 0x6e448e
add esi, edi
mov edx, 0x10
movups xmm0, xmmword [ebx + edx]
movups xmmword [edi + edx], xmm0
movups xmm0, xmmword [ebx + edx + 0x10]
movups xmmword [edi + edx + 0x10], xmm0
lea ecx, [edi + edx]
add ecx, 0x20
add edx, 0x20
cmp ecx, esi
jb 0x6e4d3a
jmp 0x6e448e
mov ecx, dword [esp]
jmp 0x6e4fdc
test ebx, ebx
jle 0x6e4fc8
mov esi, dword [esp]
mov edi, eax
add edi, esi
sub edi, edx
lea eax, [esi + 1]
cmp edi, eax
cmovbe edi, eax
sub edi, esi
mov dword [esp + 0x10], edi
cmp edi, 8
jb 0x6e4e8f
cmp ecx, 0x20
jb 0x6e4e8f
xor edi, edi
mov ecx, dword [esp + 0x10]
cmp ecx, 0x20
jb 0x6e4e65
lea eax, [ecx - 0x20]
mov edi, eax
shr edi, 5
inc edi
mov ebx, edi
and ebx, 3
xor esi, esi
cmp eax, 0x60
mov eax, dword [esp]
jb 0x6e4e19
and edi, 0xfffffffc
xor esi, esi
movups xmm0, xmmword [edx + esi]
movups xmm1, xmmword [edx + esi + 0x10]
movups xmmword [eax + esi], xmm0
movups xmmword [eax + esi + 0x10], xmm1
movups xmm0, xmmword [edx + esi + 0x20]
movups xmm1, xmmword [edx + esi + 0x30]
movups xmmword [eax + esi + 0x20], xmm0
movups xmmword [eax + esi + 0x30], xmm1
movups xmm0, xmmword [edx + esi + 0x40]
movups xmm1, xmmword [edx + esi + 0x50]
movups xmmword [eax + esi + 0x40], xmm0
movups xmmword [eax + esi + 0x50], xmm1
movups xmm0, xmmword [edx + esi + 0x60]
movups xmm1, xmmword [edx + esi + 0x70]
movups xmmword [eax + esi + 0x60], xmm0
movups xmmword [eax + esi + 0x70], xmm1
sub esi, 0xffffff80
add edi, 0xfffffffc
jne 0x6e4dc3
mov edi, ecx
and edi, 0xffffffe0
test ebx, ebx
je 0x6e4e4e
lea ecx, [edx + esi]
add ecx, 0x10
mov eax, dword [esp]
add eax, esi
add eax, 0x10
shl ebx, 5
xor esi, esi
movups xmm0, xmmword [ecx + esi - 0x10]
movups xmm1, xmmword [ecx + esi]
movups xmmword [eax + esi - 0x10], xmm0
movups xmmword [eax + esi], xmm1
add esi, 0x20
cmp ebx, esi
jne 0x6e4e35
cmp dword [esp + 0x10], edi
je 0x6e4fc8
mov ecx, dword [esp + 0x10]
test cl, 0x18
je 0x6e519c
mov eax, ecx
and eax, 0xfffffff8
mov ebx, dword [esp]
lea esi, [ebx + eax]
lea ecx, [edx + eax]
movsd xmm0, qword [edx + edi]
movsd qword [ebx + edi], xmm0
add edi, 8
cmp eax, edi
jne 0x6e4e73
cmp dword [esp + 0x10], eax
jne 0x6e4e94
jmp 0x6e4fc8
mov esi, dword [esp]
mov ecx, edx
movzx eax, byte [ecx]
inc ecx
mov byte [esi], al
inc esi
cmp esi, dword [esp + 4]
jb 0x6e4e94
jmp 0x6e4fc8
mov ebx, dword [esp]
mov esi, ebx
add ebx, dword [esp + 0xc]
sub ebx, esi
mov dword [esp], ebx
cmp ebx, 8
jb 0x6e4fb6
mov eax, esi
sub eax, edx
cmp eax, 0x20
jb 0x6e4fb6
xor ebx, ebx
mov eax, dword [esp]
cmp eax, 0x20
jb 0x6e4f95
add eax, 0xffffffe0
mov ebx, eax
shr ebx, 5
inc ebx
mov edi, ebx
and edi, 3
xor ecx, ecx
cmp eax, 0x60
jb 0x6e4f48
and ebx, 0xfffffffc
xor ecx, ecx
movups xmm0, xmmword [edx + ecx]
movups xmm1, xmmword [edx + ecx + 0x10]
movups xmmword [esi + ecx], xmm0
movups xmmword [esi + ecx + 0x10], xmm1
movups xmm0, xmmword [edx + ecx + 0x20]
movups xmm1, xmmword [edx + ecx + 0x30]
movups xmmword [esi + ecx + 0x20], xmm0
movups xmmword [esi + ecx + 0x30], xmm1
movups xmm0, xmmword [edx + ecx + 0x40]
movups xmm1, xmmword [edx + ecx + 0x50]
movups xmmword [esi + ecx + 0x40], xmm0
movups xmmword [esi + ecx + 0x50], xmm1
movups xmm0, xmmword [edx + ecx + 0x60]
movups xmm1, xmmword [edx + ecx + 0x70]
movups xmmword [esi + ecx + 0x60], xmm0
movups xmmword [esi + ecx + 0x70], xmm1
sub ecx, 0xffffff80
add ebx, 0xfffffffc
jne 0x6e4ef2
mov ebx, dword [esp]
and ebx, 0xffffffe0
test edi, edi
mov dword [esp + 0x10], edi
je 0x6e4f83
lea eax, [edx + ecx]
add eax, 0x10
add ecx, esi
add ecx, 0x10
shl dword [esp + 0x10], 5
xor edi, edi
movups xmm0, xmmword [eax + edi - 0x10]
movups xmm1, xmmword [eax + edi]
movups xmmword [ecx + edi - 0x10], xmm0
movups xmmword [ecx + edi], xmm1
add edi, 0x20
cmp dword [esp + 0x10], edi
jne 0x6e4f68
cmp dword [esp], ebx
je 0x6e4fc8
test byte [esp], 0x18
je 0x6e5191
mov eax, dword [esp]
and eax, 0xfffffff8
lea edi, [esi + eax]
lea ecx, [edx + eax]
movsd xmm0, qword [edx + ebx]
movsd qword [esi + ebx], xmm0
add ebx, 8
cmp eax, ebx
jne 0x6e4f9e
cmp dword [esp], eax
jne 0x6e4fba
jmp 0x6e4fc8
mov edi, esi
mov ecx, edx
add esi, dword [esp]
movzx eax, byte [ecx]
inc ecx
mov byte [edi], al
inc edi
cmp edi, esi
jne 0x6e4fbd
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
sub esi, dword [esp + 0xc]
mov dword [eax], esi
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x30], eax
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x75f0], 0
mov edx, dword [esp + edi*4 + 0xe4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + edi*4 + 0xe8]
mov dword [esp + 0xc], edx
add eax, esi
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0xbc]
mov edx, dword [esp + 0x34]
mov dword [esp + 4], ecx
ja 0x6e51da
mov eax, dword [esp + 0x10]
add eax, esi
lea edi, [ecx + eax]
cmp edi, dword [esp + 0xa8]
ja 0x6e51da
mov ebx, edx
sub ebx, ecx
lea edi, [eax + 0x20]
cmp ebx, edi
mov ecx, dword [esp + 4]
jb 0x6e51da
mov dword [esp], eax
mov edx, ecx
lea edi, [ecx + esi]
mov ecx, dword [esp + 0xb0]
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
cmp esi, 0x11
jae 0x6e52dc
mov ebx, edi
mov edx, dword [esp + 0xc]
sub ebx, edx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], eax
mov eax, edi
sub eax, dword [esp + 0x1c]
cmp eax, edx
jae 0x6e50d7
mov dword [esp + 0x24], eax
mov eax, edi
sub eax, dword [esp + 0x48]
cmp eax, edx
jb 0x6e3bb8
mov edx, dword [esp + 0x1c]
sub ebx, edx
mov esi, dword [esp + 0x38]
lea eax, [esi + ebx]
mov ecx, dword [esp + 0x10]
add ecx, eax
cmp ecx, esi
jbe 0x6e5120
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 esi, ebx
add esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x24]
jmp 0x6e50de
mov esi, dword [esp + 0x10]
mov ecx, dword [esp]
cmp edx, 0x10
jb 0x6e54bd
movups xmm0, xmmword [ebx]
movups xmmword [edi], xmm0
cmp esi, 0x11
jge 0x6e50f8
mov eax, dword [esp + 8]
jmp 0x6e5135
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 0x6e50ff
jmp 0x6e512e
push dword [esp + 0x10]
push eax
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
mov eax, dword [esp + 8]
mov ecx, dword [esp]
cmp ecx, 0xffffff88
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x3c]
ja 0x6e6725
mov dword [esp], ecx
mov ecx, eax
mov esi, dword [esp + 0x58]
add ebx, esi
mov edx, dword [esp + 0x14]
cmp ebx, edx
mov eax, dword [esp + 0x1c]
cmovb eax, dword [esp + 0x38]
add eax, ebx
sub eax, edx
prefetcht0 byte [eax]
prefetcht0 byte [eax + 0x40]
mov eax, dword [esp + 0x18]
mov dword [eax], esi
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov eax, dword [esp + 4]
add eax, dword [esp]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x40], eax
jmp 0x6e44eb
add edx, ebx
add ebx, esi
mov edi, ebx
jmp 0x6e4fb8
add edx, edi
mov esi, dword [esp]
add esi, edi
mov ecx, edx
jmp 0x6e4e94
mov edx, dword [esp + 0x34]
push dword [esp + 0x38]
push dword [esp + 0x4c]
push dword [esp + 0x24]
push dword [esp + 0x4c]
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x28]
push esi
push ebx
call fcn.006ea170
add esp, 0x24
jmp 0x6e448e
push dword [esp + 0x38]
push dword [esp + 0x4c]
push dword [esp + 0x24]
push dword [esp + 0xc8]
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x20]
push dword [esp + 0x28]
push esi
call fcn.006e9740
add esp, 0x20
mov ecx, eax
mov eax, dword [esp + 8]
jmp 0x6e5135
add esi, 0xfffffff0
movups xmm0, xmmword [eax + 0x10]
mov ecx, dword [esp]
movups xmmword [ecx + 0x10], xmm0
cmp esi, 0x11
jl 0x6e4b47
mov ecx, dword [esp]
lea edx, [ecx + 0x20]
xor esi, esi
movups xmm0, xmmword [eax + esi + 0x20]
movups xmmword [edx + esi], xmm0
movups xmm0, xmmword [eax + esi + 0x30]
movups xmmword [edx + esi + 0x10], xmm0
lea ebx, [edx + esi]
add ebx, 0x20
add esi, 0x20
cmp ebx, edi
jb 0x6e522d
jmp 0x6e4b47
mov dword [esp + 0xc], edx
cmp ecx, 7
ja 0x6e5377
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 + 0x18]
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 0x6e537f
add esi, 0xfffffff0
movups xmm0, xmmword [edx + 0x10]
mov eax, dword [esp]
movups xmmword [eax + 0x10], xmm0
cmp esi, 0x11
jl 0x6e4c31
mov eax, dword [esp]
add eax, 0x20
xor esi, esi
movups xmm0, xmmword [edx + esi + 0x20]
movups xmmword [eax + esi], xmm0
movups xmm0, xmmword [edx + esi + 0x30]
movups xmmword [eax + esi + 0x10], xmm0
lea ebx, [eax + esi]
add ebx, 0x20
add esi, 0x20
cmp ebx, edi
jb 0x6e52b7
jmp 0x6e4c31
add esi, 0xfffffff0
mov eax, dword [ebp + 8]
movups xmm0, xmmword [eax + 0x7604]
mov ecx, dword [esp + 4]
movups xmmword [ecx + 0x10], xmm0
cmp esi, 0x11
jl 0x6e506c
mov ecx, dword [esp + 4]
add ecx, 0x20
xor edx, edx
mov eax, dword [ebp + 8]
movups xmm0, xmmword [eax + edx + 0x7614]
movups xmmword [ecx + edx], xmm0
movups xmm0, xmmword [eax + edx + 0x7624]
movups xmmword [ecx + edx + 0x10], xmm0
lea esi, [ecx + edx]
add esi, 0x20
add edx, 0x20
cmp esi, edi
jb 0x6e5303
jmp 0x6e506c
mov dword [esp + 0xc], edx
cmp ecx, 7
ja 0x6e5503
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 + 0x18]
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 0x6e550b
movsd xmm0, qword [ebx]
movsd qword [edi], xmm0
cmp esi, 9
jb 0x6e4d02
lea ecx, [ebx + 8]
lea edx, [edi + 8]
mov eax, edx
sub eax, ecx
mov dword [esp + 0x2c], eax
lea eax, [edi + esi]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x2c], 0xf
jg 0x6e5649
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0xc]
cmp eax, edi
mov esi, edi
cmovb esi, eax
cmova edi, eax
add esi, dword [esp + 0x10]
add esi, edi
sub esi, eax
mov eax, dword [esp + 0x1c]
add eax, edi
add eax, 0x10
cmp esi, eax
cmovbe esi, eax
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0x1c]
add edi, eax
sub esi, edi
add esi, 0xfffffff7
cmp esi, 0x18
jb 0x6e54a4
cmp dword [esp + 0x2c], 0x20
jb 0x6e54a4
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 + 0x18], eax
xor edi, edi
cmp esi, 4
jb 0x6e5474
mov esi, dword [esp + 0x18]
and esi, 0xfffffffe
mov edi, dword [esp + 0x54]
mov eax, dword [esp]
add edi, eax
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0xc]
sub edi, eax
add edi, dword [esp + 0x2c]
mov dword [esp + 0xc], edi
xor edi, edi
movups xmm0, xmmword [ebx + edi*8 + 8]
movups xmm1, xmmword [ebx + edi*8 + 0x18]
mov eax, dword [esp + 0xc]
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 0x6e5441
mov esi, dword [esp + 0x10]
and esi, 0xfffffffc
test byte [esp + 0x18], 1
je 0x6e5494
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], esi
je 0x6e4d02
lea ecx, [ecx + esi*8]
lea edx, [edx + esi*8]
movsd xmm0, qword [ecx]
movsd qword [edx], xmm0
add edx, 8
add ecx, 8
cmp edx, dword [esp + 0x24]
jb 0x6e54a4
jmp 0x6e4d02
mov dword [esp + 0x24], eax
cmp edx, 7
ja 0x6e5684
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 + 0xc]
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 0x6e568c
movsd xmm0, qword [ebx]
movsd qword [edi], xmm0
cmp esi, 9
jb 0x6e4d02
lea ecx, [ebx + 8]
lea edx, [edi + 8]
mov eax, edx
sub eax, ecx
mov dword [esp + 0x2c], eax
lea eax, [edi + esi]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x2c], 0xf
jg 0x6e57cb
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0xc]
cmp eax, edi
mov esi, edi
cmovb esi, eax
cmova edi, eax
add esi, dword [esp + 0x10]
add esi, edi
sub esi, eax
mov eax, dword [esp + 0x1c]
add eax, edi
add eax, 0x10
cmp esi, eax
cmovbe esi, eax
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0x1c]
add edi, eax
sub esi, edi
add esi, 0xfffffff7
cmp esi, 0x18
jb 0x6e5630
cmp dword [esp + 0x2c], 0x20
jb 0x6e5630
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 + 0x18], eax
xor edi, edi
cmp esi, 4
jb 0x6e5600
mov esi, dword [esp + 0x18]
and esi, 0xfffffffe
mov edi, dword [esp + 0x54]
mov eax, dword [esp]
add edi, eax
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0xc]
sub edi, eax
add edi, dword [esp + 0x2c]
mov dword [esp + 0xc], edi
xor edi, edi
movups xmm0, xmmword [ebx + edi*8 + 8]
movups xmm1, xmmword [ebx + edi*8 + 0x18]
mov eax, dword [esp + 0xc]
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 0x6e55cd
mov esi, dword [esp + 0x10]
and esi, 0xfffffffc
test byte [esp + 0x18], 1
je 0x6e5620
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], esi
je 0x6e4d02
lea ecx, [ecx + esi*8]
lea edx, [edx + esi*8]
movsd xmm0, qword [ecx]
movsd qword [edx], xmm0
add edx, 8
add ecx, 8
cmp edx, dword [esp + 0x24]
jb 0x6e5630
jmp 0x6e4d02
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
cmp esi, 0x19
jl 0x6e4d02
add edi, 0x18
xor ecx, ecx
movups xmm0, xmmword [ebx + ecx + 0x18]
movups xmmword [edi + ecx], xmm0
movups xmm0, xmmword [ebx + ecx + 0x28]
movups xmmword [edi + ecx + 0x10], xmm0
lea edx, [edi + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, dword [esp + 0x24]
jb 0x6e565d
jmp 0x6e4d02
movsd xmm0, qword [ebx]
movsd qword [edi], xmm0
cmp esi, 9
jb 0x6e512e
lea ecx, [ebx + 8]
lea edx, [edi + 8]
mov eax, edx
sub eax, ecx
mov dword [esp + 0x4c], eax
lea eax, [edi + esi]
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x4c], 0xf
jg 0x6e5806
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x24]
cmp eax, edi
mov esi, edi
cmovb esi, eax
cmova edi, eax
add esi, dword [esp + 0x10]
add esi, edi
sub esi, eax
mov eax, dword [esp + 0x1c]
add eax, edi
add eax, 0x10
cmp esi, eax
cmovbe esi, eax
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x1c]
add edi, eax
sub esi, edi
add esi, 0xfffffff7
cmp esi, 0x18
jb 0x6e57b2
cmp dword [esp + 0x4c], 0x20
jb 0x6e57b2
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 + 0xc], eax
xor edi, edi
cmp esi, 4
jb 0x6e5782
mov esi, dword [esp + 0xc]
and esi, 0xfffffffe
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 4]
add edi, eax
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x24]
sub edi, eax
add edi, dword [esp + 0x4c]
mov dword [esp + 0x24], edi
xor edi, edi
movups xmm0, xmmword [ebx + edi*8 + 8]
movups xmm1, xmmword [ebx + edi*8 + 0x18]
mov eax, dword [esp + 0x24]
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 0x6e574f
mov esi, dword [esp + 0x10]
and esi, 0xfffffffc
test byte [esp + 0xc], 1
je 0x6e57a2
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], esi
je 0x6e512e
lea ecx, [ecx + esi*8]
lea edx, [edx + esi*8]
movsd xmm0, qword [ecx]
movsd qword [edx], xmm0
add edx, 8
add ecx, 8
cmp edx, dword [esp + 0x2c]
jb 0x6e57b2
jmp 0x6e512e
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
cmp esi, 0x19
jl 0x6e4d02
add edi, 0x18
xor ecx, ecx
movups xmm0, xmmword [ebx + ecx + 0x18]
movups xmmword [edi + ecx], xmm0
movups xmm0, xmmword [ebx + ecx + 0x28]
movups xmmword [edi + ecx + 0x10], xmm0
lea edx, [edi + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, dword [esp + 0x24]
jb 0x6e57df
jmp 0x6e4d02
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
cmp esi, 0x19
jl 0x6e512e
add edi, 0x18
xor ecx, ecx
movups xmm0, xmmword [ebx + ecx + 0x18]
movups xmmword [edi + ecx], xmm0
movups xmm0, xmmword [ebx + ecx + 0x28]
movups xmmword [edi + ecx + 0x10], xmm0
lea edx, [edi + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, dword [esp + 0x2c]
jb 0x6e581a
jmp 0x6e512e
mov esi, dword [esp + 0xa4]
add esi, ecx
mov edx, dword [esp + 0x60]
mov ecx, eax
shl edx, cl
shr edx, 0x1f
inc ecx
mov eax, ecx
mov dword [esp + 0x64], ecx
add edx, esi
cmp edx, 3
jne 0x6e5875
mov esi, dword [esp + 0x8c]
lea ecx, [esi - 1]
cmp ecx, 1
adc esi, 0xffffffff
jmp 0x6e5887
mov esi, dword [esp + edx*4 + 0x8c]
cmp esi, 1
adc esi, 0
cmp edx, 1
je 0x6e5895
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x8c]
jmp 0x6e4889
cmp edi, dword [esp + 0x28]
mov ecx, 0xffffffec
jl 0x6e6725
sub edi, dword [esp + 0xc8]
cmp edi, dword [esp + 0x28]
jge 0x6e58d9
mov eax, dword [ebp + 8]
add eax, 0x175f4
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x1c]
add eax, 0x10
mov dword [esp + 0x18], eax
mov ebx, dword [esp]
jmp 0x6e5957
mov ebx, dword [esp]
lea ecx, [esp + 0x8c]
mov eax, dword [ecx + 8]
mov edx, dword [esp + 0x50]
mov dword [edx + 8], eax
movsd xmm0, qword [ecx]
movsd qword [edx], xmm0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x75f0]
mov edi, dword [esp + 0x30]
cmp edx, 2
je 0x6e3894
jmp 0x6e3a1c
mov ecx, ebx
mov edx, dword [esp + 0x34]
push dword [esp + 0x38]
push dword [esp + 0x4c]
push dword [esp + 0x24]
push dword [esp + 0x4c]
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x28]
push dword [esp + 0x38]
push esi
call fcn.006e9740
add esp, 0x20
mov edx, dword [esp + 0x28]
cmp eax, 0xffffff88
mov edi, dword [esp + 0x44]
mov ebx, dword [esp]
ja 0x6e3921
add ebx, eax
inc edi
cmp edi, edx
je 0x6e58dc
mov dword [esp + 0x44], edi
mov eax, edi
and eax, 7
lea eax, [eax + eax*2]
lea esi, [esp + eax*4]
add esi, 0xe0
mov edx, dword [ebp + 8]
cmp dword [edx + 0x75f0], 2
mov dword [esp], ebx
jne 0x6e5a2d
mov dword [esp + 4], eax
mov edi, dword [esp + 0x30]
mov eax, dword [esi]
lea ecx, [edi + eax]
mov edx, dword [edx + 0x75ec]
cmp ecx, edx
jbe 0x6e5b04
mov dword [esp + 0x14], edx
sub edx, edi
je 0x6e5c81
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x34]
sub eax, ebx
cmp edx, eax
ja 0x6e6720
mov eax, ebx
sub eax, edi
lea ecx, [ebx + edx]
mov dword [esp + 0x20], ecx
cmp eax, 0xfffffff8
mov dword [esp + 8], edx
jg 0x6e5c8a
cmp edx, 7
jle 0x6e5c8a
cmp eax, 0xffffffef
ja 0x6e5ddc
mov eax, dword [esp + 0x20]
lea esi, [eax - 0x20]
mov eax, esi
sub eax, ebx
jb 0x6e5ddc
movups xmm0, xmmword [edi]
movups xmmword [ebx], xmm0
cmp eax, 0x11
jl 0x6e5a22
mov ecx, 0x10
movups xmm0, xmmword [edi + ecx]
movups xmmword [ebx + ecx], xmm0
movups xmm0, xmmword [edi + ecx + 0x10]
movups xmmword [ebx + ecx + 0x10], xmm0
lea edx, [ebx + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, esi
jb 0x6e5a03
add edi, eax
mov edx, dword [esp + 8]
jmp 0x6e5dde
mov esi, dword [esi]
mov ecx, dword [esp + eax*4 + 0xe4]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + eax*4 + 0xe8]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x30]
lea eax, [ecx + esi]
mov dword [esp + 8], eax
cmp eax, dword [esp + 0x40]
ja 0x6e5910
mov eax, dword [esp + 0x20]
add eax, esi
lea edx, [ebx + eax]
cmp edx, dword [esp + 0xa8]
ja 0x6e5910
mov edx, dword [esp + 0x34]
sub edx, ebx
lea edi, [eax + 0x20]
cmp edx, edi
jb 0x6e5910
mov dword [esp + 4], eax
lea edi, [ebx + esi]
movups xmm0, xmmword [ecx]
movups xmmword [ebx], xmm0
cmp esi, 0x11
jae 0x6e6104
mov ebx, edi
mov ecx, dword [esp + 0x14]
sub ebx, ecx
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov eax, edi
mov edx, dword [esp + 0x1c]
sub eax, edx
mov dword [esp + 8], eax
cmp eax, ecx
jae 0x6e5bd8
mov eax, edi
sub eax, dword [esp + 0x48]
cmp eax, ecx
mov ecx, dword [esp + 0x20]
jb 0x6e3bb8
sub ebx, edx
mov esi, dword [esp + 0x38]
lea eax, [esi + ebx]
add ecx, eax
cmp ecx, esi
jbe 0x6e5c76
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 esi, ebx
add esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
jmp 0x6e5bdc
lea edx, [edi + eax]
add edx, 0xffffffe0
mov dword [esp + 8], edx
mov edx, dword [esp + 4]
mov esi, dword [esp + edx*4 + 0xe4]
mov dword [esp + 0x20], esi
mov edx, dword [esp + edx*4 + 0xe8]
mov dword [esp + 0x14], edx
cmp ecx, dword [esp + 0x40]
ja 0x6e609e
mov edx, dword [esp + 0x20]
lea esi, [edx + eax]
lea edx, [ebx + esi]
cmp edx, dword [esp + 8]
ja 0x6e609e
mov edx, dword [esp + 0x34]
sub edx, ebx
lea ebx, [esi + 0x20]
cmp edx, ebx
mov ebx, dword [esp]
jb 0x6e609e
mov dword [esp + 4], esi
lea esi, [ebx + eax]
movups xmm0, xmmword [edi]
movups xmmword [ebx], xmm0
cmp eax, 0x11
jae 0x6e618a
mov ebx, esi
mov eax, dword [esp + 0x14]
sub ebx, eax
mov dword [esp + 0x30], ecx
mov ecx, eax
mov eax, esi
mov edx, dword [esp + 0x1c]
sub eax, edx
mov dword [esp + 8], eax
cmp eax, ecx
jae 0x6e5c27
mov eax, esi
sub eax, dword [esp + 0x48]
cmp eax, ecx
mov ecx, dword [esp + 0x20]
jb 0x6e3bb8
sub ebx, edx
mov edi, dword [esp + 0x38]
lea eax, [edi + ebx]
add ecx, eax
cmp ecx, edi
jbe 0x6e5dc1
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 + 0x20]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
jmp 0x6e5c2b
mov esi, dword [esp + 0x20]
cmp ecx, 0x10
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 4]
jb 0x6e6148
movups xmm0, xmmword [ebx]
movups xmmword [edi], xmm0
cmp esi, 0x11
jl 0x6e5940
add esi, edi
mov edx, 0x10
movups xmm0, xmmword [ebx + edx]
movups xmmword [edi + edx], xmm0
movups xmm0, xmmword [ebx + edx + 0x10]
movups xmmword [edi + edx + 0x10], xmm0
lea ecx, [edi + edx]
add ecx, 0x20
add edx, 0x20
cmp ecx, esi
jb 0x6e5c03
jmp 0x6e593c
mov edi, dword [esp + 0x20]
cmp ecx, 0x10
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 4]
jb 0x6e6223
movups xmm0, xmmword [ebx]
movups xmmword [esi], xmm0
cmp edi, 0x11
jl 0x6e5940
add edi, esi
mov edx, 0x10
movups xmm0, xmmword [ebx + edx]
movups xmmword [esi + edx], xmm0
movups xmm0, xmmword [ebx + edx + 0x10]
movups xmmword [esi + edx + 0x10], xmm0
lea ecx, [esi + edx]
add ecx, 0x20
add edx, 0x20
cmp ecx, edi
jb 0x6e5c52
jmp 0x6e593c
push dword [esp + 0x20]
push eax
push edi
jmp 0x6e5dc7
mov edx, dword [esp + 0x34]
jmp 0x6e5f22
test edx, edx
jle 0x6e5f0e
mov ebx, dword [esp]
mov edx, dword [esp + 0x14]
add edx, ebx
sub edx, edi
lea ecx, [ebx + 1]
cmp edx, ecx
cmovbe edx, ecx
sub edx, ebx
cmp edx, 8
jb 0x6e5efd
cmp eax, 0x20
jb 0x6e5efd
xor esi, esi
cmp edx, 0x20
mov dword [esp + 0x14], edx
jb 0x6e5d92
lea esi, [edx - 0x20]
mov ecx, esi
shr ecx, 5
inc ecx
mov eax, ecx
and eax, 3
mov dword [esp + 0xc], eax
xor eax, eax
cmp esi, 0x60
jb 0x6e5d3c
and ecx, 0xfffffffc
xor eax, eax
movups xmm0, xmmword [edi + eax]
movups xmm1, xmmword [edi + eax + 0x10]
movups xmmword [ebx + eax], xmm0
movups xmmword [ebx + eax + 0x10], xmm1
movups xmm0, xmmword [edi + eax + 0x20]
movups xmm1, xmmword [edi + eax + 0x30]
movups xmmword [ebx + eax + 0x20], xmm0
movups xmmword [ebx + eax + 0x30], xmm1
movups xmm0, xmmword [edi + eax + 0x40]
movups xmm1, xmmword [edi + eax + 0x50]
movups xmmword [ebx + eax + 0x40], xmm0
movups xmmword [ebx + eax + 0x50], xmm1
movups xmm0, xmmword [edi + eax + 0x60]
movups xmm1, xmmword [edi + eax + 0x70]
movups xmmword [ebx + eax + 0x60], xmm0
movups xmmword [ebx + eax + 0x70], xmm1
sub eax, 0xffffff80
add ecx, 0xfffffffc
jne 0x6e5ce6
mov esi, edx
and esi, 0xffffffe0
cmp dword [esp + 0xc], 0
je 0x6e5d78
lea ecx, [edi + eax]
add ecx, 0x10
mov edx, dword [esp]
add eax, edx
add eax, 0x10
mov edx, dword [esp + 0xc]
shl edx, 5
xor ebx, ebx
movups xmm0, xmmword [ecx + ebx - 0x10]
movups xmm1, xmmword [ecx + ebx]
movups xmmword [eax + ebx - 0x10], xmm0
movups xmmword [eax + ebx], xmm1
add ebx, 0x20
cmp edx, ebx
jne 0x6e5d5f
cmp dword [esp + 0x14], esi
je 0x6e5f0e
mov edx, dword [esp + 0x14]
test dl, 0x18
je 0x6e6090
mov ebx, dword [esp]
mov eax, edx
mov edx, ebx
mov ebx, eax
and ebx, 0xfffffff8
lea eax, [edx + ebx]
lea ecx, [edi + ebx]
movsd xmm0, qword [edi + esi]
movsd qword [edx + esi], xmm0
add esi, 8
cmp ebx, esi
jne 0x6e5da1
cmp dword [esp + 0x14], ebx
jne 0x6e5f01
jmp 0x6e5f0e
push dword [esp + 0x20]
push eax
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 4]
jmp 0x6e5940
mov esi, ebx
add ebx, edx
sub ebx, esi
mov dword [esp], ebx
cmp ebx, 8
jb 0x6e5ee9
mov eax, esi
sub eax, edi
cmp eax, 0x20
jb 0x6e5ee9
xor ebx, ebx
mov edx, dword [esp]
cmp edx, 0x20
jb 0x6e5ec8
lea ebx, [edx - 0x20]
mov ecx, ebx
shr ecx, 5
inc ecx
mov eax, ecx
and eax, 3
mov dword [esp + 0x14], eax
xor eax, eax
cmp ebx, 0x60
jb 0x6e5e7d
and ecx, 0xfffffffc
xor eax, eax
movups xmm0, xmmword [edi + eax]
movups xmm1, xmmword [edi + eax + 0x10]
movups xmmword [esi + eax], xmm0
movups xmmword [esi + eax + 0x10], xmm1
movups xmm0, xmmword [edi + eax + 0x20]
movups xmm1, xmmword [edi + eax + 0x30]
movups xmmword [esi + eax + 0x20], xmm0
movups xmmword [esi + eax + 0x30], xmm1
movups xmm0, xmmword [edi + eax + 0x40]
movups xmm1, xmmword [edi + eax + 0x50]
movups xmmword [esi + eax + 0x40], xmm0
movups xmmword [esi + eax + 0x50], xmm1
movups xmm0, xmmword [edi + eax + 0x60]
movups xmm1, xmmword [edi + eax + 0x70]
movups xmmword [esi + eax + 0x60], xmm0
movups xmmword [esi + eax + 0x70], xmm1
sub eax, 0xffffff80
add ecx, 0xfffffffc
jne 0x6e5e27
mov ebx, edx
and ebx, 0xffffffe0
cmp dword [esp + 0x14], 0
je 0x6e5eb6
lea ecx, [edi + eax]
add ecx, 0x10
add eax, esi
add eax, 0x10
shl dword [esp + 0x14], 5
xor edx, edx
movups xmm0, xmmword [ecx + edx - 0x10]
movups xmm1, xmmword [ecx + edx]
movups xmmword [eax + edx - 0x10], xmm0
movups xmmword [eax + edx], xmm1
add edx, 0x20
cmp dword [esp + 0x14], edx
jne 0x6e5e9b
cmp dword [esp], ebx
je 0x6e5f0e
test byte [esp], 0x18
je 0x6e6085
mov edx, dword [esp]
and edx, 0xfffffff8
lea eax, [esi + edx]
lea ecx, [edi + edx]
movsd xmm0, qword [edi + ebx]
movsd qword [esi + ebx], xmm0
add ebx, 8
cmp edx, ebx
jne 0x6e5ed1
cmp dword [esp], edx
jne 0x6e5eed
jmp 0x6e5f0e
mov eax, esi
mov ecx, edi
add esi, dword [esp]
movzx edx, byte [ecx]
inc ecx
mov byte [eax], dl
inc eax
cmp eax, esi
jne 0x6e5ef0
jmp 0x6e5f0e
mov eax, ebx
mov ecx, edi
movzx edx, byte [ecx]
inc ecx
mov byte [eax], dl
inc eax
cmp eax, dword [esp + 0x20]
jb 0x6e5f01
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
sub eax, dword [esp + 8]
mov dword [ecx], eax
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0xb0]
mov dword [esp + 0x30], esi
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x75f0], 0
mov ecx, dword [esp + 4]
mov edi, dword [esp + ecx*4 + 0xe4]
mov dword [esp], edi
mov ecx, dword [esp + ecx*4 + 0xe8]
mov dword [esp + 4], ecx
lea ecx, [esi + eax]
mov dword [esp + 8], ecx
cmp ecx, dword [esp + 0x3c]
mov dword [esp + 0x20], ebx
ja 0x6e60d3
mov ecx, dword [esp]
add ecx, eax
lea esi, [ebx + ecx]
cmp esi, dword [esp + 0xa8]
ja 0x6e60d3
mov edi, edx
sub edi, ebx
lea esi, [ecx + 0x20]
cmp edi, esi
jb 0x6e60d3
mov dword [esp + 0x14], ecx
lea edi, [ebx + eax]
mov edx, dword [esp + 0xb0]
movups xmm0, xmmword [edx]
movups xmmword [ebx], xmm0
cmp eax, 0x11
jae 0x6e61ce
mov ebx, edi
mov ecx, dword [esp + 4]
sub ebx, ecx
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov eax, edi
mov edx, dword [esp + 0x1c]
sub eax, edx
cmp eax, ecx
jae 0x6e600d
mov dword [esp + 8], eax
mov eax, edi
sub eax, dword [esp + 0x48]
cmp eax, ecx
jb 0x6e3bb8
sub ebx, edx
mov esi, dword [esp + 0x38]
lea eax, [esi + ebx]
mov ecx, dword [esp]
add ecx, eax
cmp ecx, esi
jbe 0x6e6050
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 esi, ebx
add esi, dword [esp]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
jmp 0x6e6010
mov esi, dword [esp]
cmp ecx, 0x10
mov edx, dword [esp + 0x28]
jb 0x6e63a8
movups xmm0, xmmword [ebx]
movups xmmword [edi], xmm0
cmp esi, 0x11
jl 0x6e6061
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 0x6e602f
jmp 0x6e605d
push dword [esp]
push eax
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
cmp ecx, 0xffffff89
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x20]
jae 0x6e6725
add ebx, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
jmp 0x6e5952
add edi, ebx
add ebx, esi
mov eax, ebx
jmp 0x6e5eeb
add edi, esi
mov eax, dword [esp]
add eax, esi
mov ecx, edi
jmp 0x6e5f01
mov ecx, ebx
mov edx, dword [esp + 0x34]
push dword [esp + 0x38]
push dword [esp + 0x4c]
push dword [esp + 0x24]
push dword [esp + 0x4c]
lea edi, [esp + 0x40]
push edi
push dword [esp + 0x28]
push dword [esp + 0x38]
push eax
push dword [esp + 0x28]
call fcn.006ea170
add esp, 0x24
jmp 0x6e593c
mov ecx, ebx
push dword [esp + 0x38]
push dword [esp + 0x4c]
push dword [esp + 0x24]
push dword [esp + 0x48]
lea esi, [esp + 0x40]
push esi
push dword [esp + 0x18]
push dword [esp + 0x18]
push eax
call fcn.006e9740
add esp, 0x20
mov dword [esp + 0x14], eax
jmp 0x6e605d
add esi, 0xfffffff0
movups xmm0, xmmword [ecx + 0x10]
mov edx, dword [esp]
movups xmmword [edx + 0x10], xmm0
cmp esi, 0x11
jl 0x6e5a97
mov edx, dword [esp]
add edx, 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 0x6e6123
jmp 0x6e5a97
cmp ecx, 7
ja 0x6e6265
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 + 0x14]
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 0x6e626d
add eax, 0xfffffff0
movups xmm0, xmmword [edi + 0x10]
mov edx, dword [esp]
movups xmmword [edx + 0x10], xmm0
cmp eax, 0x11
jl 0x6e5b70
mov eax, dword [esp]
add eax, 0x20
xor edx, edx
movups xmm0, xmmword [edi + edx + 0x20]
movups xmmword [eax + edx], xmm0
movups xmm0, xmmword [edi + edx + 0x30]
movups xmmword [eax + edx + 0x10], xmm0
lea ebx, [eax + edx]
add ebx, 0x20
add edx, 0x20
cmp ebx, esi
jb 0x6e61a9
jmp 0x6e5b70
add eax, 0xfffffff0
mov edx, dword [ebp + 8]
movups xmm0, xmmword [edx + 0x7604]
mov edx, dword [esp + 0x20]
movups xmmword [edx + 0x10], xmm0
cmp eax, 0x11
jl 0x6e5fa9
mov eax, dword [esp + 0x20]
add eax, 0x20
xor edx, edx
mov esi, dword [ebp + 8]
movups xmm0, xmmword [esi + edx + 0x7614]
movups xmmword [eax + edx], xmm0
movups xmm0, xmmword [esi + edx + 0x7624]
movups xmmword [eax + edx + 0x10], xmm0
lea esi, [eax + edx]
add esi, 0x20
add edx, 0x20
cmp esi, edi
jb 0x6e61f5
jmp 0x6e5fa9
cmp ecx, 7
ja 0x6e63ee
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 edx, dword [esp + 0x14]
mov eax, dword [edx*4 + 0x8d8d48]
mov ecx, dword [ebx + eax]
add ebx, eax
mov dword [esi + 4], ecx
sub ebx, dword [edx*4 + str._b_b_b_a_b_t_n_v]
jmp 0x6e63f6
movsd xmm0, qword [ebx]
movsd qword [edi], xmm0
cmp esi, 9
jb 0x6e5dcf
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 + 0x10], eax
cmp dword [esp + 0xc], 0xf
jg 0x6e6531
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 8]
cmp edi, eax
mov esi, eax
cmovb esi, edi
cmova eax, edi
add esi, dword [esp + 0x20]
add esi, eax
sub esi, edi
mov edi, dword [esp + 0x18]
add edi, eax
cmp esi, edi
cmovbe esi, edi
mov dword [esp + 8], eax
mov edi, dword [esp + 0x1c]
add edi, eax
sub esi, edi
add esi, 0xfffffff7
cmp esi, 0x18
jb 0x6e638f
cmp dword [esp + 0xc], 0x20
jb 0x6e638f
shr esi, 3
lea eax, [esi + 1]
mov dword [esp + 0x20], eax
add esi, 0xfffffffd
mov eax, esi
shr eax, 2
inc eax
mov dword [esp + 0x14], eax
xor edi, edi
cmp esi, 4
jb 0x6e635f
mov esi, dword [esp + 0x14]
and esi, 0xfffffffe
mov edi, dword [esp + 0x54]
mov eax, dword [esp]
add edi, eax
mov dword [esp + 0xc], edi
mov edi, dword [esp + 8]
sub edi, eax
add edi, dword [esp + 0xc]
mov dword [esp + 8], edi
xor edi, edi
movups xmm0, xmmword [ebx + edi*8 + 8]
movups xmm1, xmmword [ebx + edi*8 + 0x18]
mov eax, dword [esp + 8]
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 0x6e632c
mov esi, dword [esp + 0x20]
and esi, 0xfffffffc
test byte [esp + 0x14], 1
je 0x6e637f
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 + 0x20], esi
je 0x6e5dcf
lea ecx, [ecx + esi*8]
lea edx, [edx + esi*8]
movsd xmm0, qword [ecx]
movsd qword [edx], xmm0
add edx, 8
add ecx, 8
cmp edx, dword [esp + 0x10]
jb 0x6e638f
jmp 0x6e5dcf
mov dword [esp + 8], eax
cmp ecx, 7
ja 0x6e656c
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 + 4]
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 0x6e6574
movsd xmm0, qword [ebx]
movsd qword [esi], xmm0
cmp edi, 9
jb 0x6e5dcf
lea ecx, [ebx + 8]
lea edx, [esi + 8]
mov eax, edx
sub eax, ecx
mov dword [esp + 0xc], eax
lea eax, [esi + edi]
mov dword [esp + 0x10], eax
cmp dword [esp + 0xc], 0xf
jg 0x6e66aa
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 8]
cmp edi, eax
mov esi, eax
cmovb esi, edi
cmova eax, edi
add esi, dword [esp + 0x20]
add esi, eax
sub esi, edi
mov edi, dword [esp + 0x18]
add edi, eax
cmp esi, edi
cmovbe esi, edi
mov dword [esp + 8], eax
mov edi, dword [esp + 0x1c]
add edi, eax
sub esi, edi
add esi, 0xfffffff7
cmp esi, 0x18
jb 0x6e6518
cmp dword [esp + 0xc], 0x20
jb 0x6e6518
shr esi, 3
lea eax, [esi + 1]
mov dword [esp + 0x20], eax
add esi, 0xfffffffd
mov eax, esi
shr eax, 2
inc eax
mov dword [esp + 0x14], eax
xor edi, edi
cmp esi, 4
jb 0x6e64e8
mov esi, dword [esp + 0x14]
and esi, 0xfffffffe
mov edi, dword [esp + 0x54]
mov eax, dword [esp]
add edi, eax
mov dword [esp + 0xc], edi
mov edi, dword [esp + 8]
sub edi, eax
add edi, dword [esp + 0xc]
mov dword [esp + 8], edi
xor edi, edi
movups xmm0, xmmword [ebx + edi*8 + 8]
movups xmm1, xmmword [ebx + edi*8 + 0x18]
mov eax, dword [esp + 8]
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 0x6e64b5
mov esi, dword [esp + 0x20]
and esi, 0xfffffffc
test byte [esp + 0x14], 1
je 0x6e6508
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 + 0x20], esi
je 0x6e5dcf
lea ecx, [ecx + esi*8]
lea edx, [edx + esi*8]
movsd xmm0, qword [ecx]
movsd qword [edx], xmm0
add edx, 8
add ecx, 8
cmp edx, dword [esp + 0x10]
jb 0x6e6518
jmp 0x6e5dcf
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
cmp esi, 0x19
jl 0x6e5dcf
add edi, 0x18
xor ecx, ecx
movups xmm0, xmmword [ebx + ecx + 0x18]
movups xmmword [edi + ecx], xmm0
movups xmm0, xmmword [ebx + ecx + 0x28]
movups xmmword [edi + ecx + 0x10], xmm0
lea edx, [edi + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, dword [esp + 0x10]
jb 0x6e6545
jmp 0x6e5dcf
movsd xmm0, qword [ebx]
movsd qword [edi], xmm0
cmp esi, 9
jb 0x6e605d
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 + 0x10], eax
cmp dword [esp + 0xc], 0xf
jg 0x6e66e5
mov eax, dword [esp]
add eax, dword [esp + 0x1c]
mov dword [esp], eax
mov edi, dword [esp + 4]
mov eax, dword [esp + 8]
cmp edi, eax
mov esi, eax
cmovb esi, edi
cmova eax, edi
add esi, dword [esp]
add esi, eax
sub esi, edi
mov edi, dword [esp + 0x18]
add edi, eax
cmp esi, edi
cmovbe esi, edi
mov dword [esp + 8], eax
mov edi, dword [esp + 0x1c]
add edi, eax
sub esi, edi
add esi, 0xfffffff7
cmp esi, 0x18
jb 0x6e6691
cmp dword [esp + 0xc], 0x20
jb 0x6e6691
shr esi, 3
lea eax, [esi + 1]
mov dword [esp + 4], eax
add esi, 0xfffffffd
mov eax, esi
shr eax, 2
inc eax
mov dword [esp], eax
xor edi, edi
cmp esi, 4
jb 0x6e6662
mov esi, dword [esp]
and esi, 0xfffffffe
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x20]
add edi, eax
mov dword [esp + 0xc], edi
mov edi, dword [esp + 8]
sub edi, eax
add edi, dword [esp + 0xc]
mov dword [esp + 8], edi
xor edi, edi
movups xmm0, xmmword [ebx + edi*8 + 8]
movups xmm1, xmmword [ebx + edi*8 + 0x18]
mov eax, dword [esp + 8]
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 0x6e662f
mov esi, dword [esp + 4]
and esi, 0xfffffffc
test byte [esp], 1
je 0x6e6681
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 + 4], esi
je 0x6e605d
lea ecx, [ecx + esi*8]
lea edx, [edx + esi*8]
movsd xmm0, qword [ecx]
movsd qword [edx], xmm0
add edx, 8
add ecx, 8
cmp edx, dword [esp + 0x10]
jb 0x6e6691
jmp 0x6e605d
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
cmp edi, 0x19
jl 0x6e5dcf
add esi, 0x18
xor ecx, ecx
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, dword [esp + 0x10]
jb 0x6e66be
jmp 0x6e5dcf
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
cmp esi, 0x19
jl 0x6e605d
add edi, 0x18
xor ecx, ecx
movups xmm0, xmmword [ebx + ecx + 0x18]
movups xmmword [edi + ecx], xmm0
movups xmm0, xmmword [ebx + ecx + 0x28]
movups xmmword [edi + ecx + 0x10], xmm0
lea edx, [edi + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, dword [esp + 0x10]
jb 0x6e66f9
jmp 0x6e605d
mov ecx, 0xffffffba
mov eax, ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret