Function at 0x699173e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
movups xmmword [rsp + 0x50], xmm6
movups xmmword [rsp + 0x60], xmm7
movups xmmword [rsp + 0x70], xmm8
movups xmmword [rsp + 0x80], xmm9
movups xmmword [rsp + 0x90], xmm10
movups xmmword [rsp + 0xa0], xmm11
movups xmmword [rsp + 0xb0], xmm12
movups xmmword [rsp + 0xc0], xmm13
movups xmmword [rsp + 0xd0], xmm14
movups xmmword [rsp + 0xe0], xmm15
mov eax, dword [rcx]
mov ebx, dword [rsp + 0x160]
mov r12, rdx
mov r11, rcx
lea rdx, [0x699f79c0]
mov r15, r8
test eax, eax
jne 0x699175a7
mov ecx, dword [rcx + 0x90]
mov edx, ecx
shr edx, 0x10
and edx, 0x3f
cmp edx, 1
jne 0x699175a0
cmp qword [r11 + 0xf8], 0
je 0x69917500
movups xmm6, xmmword [rsp + 0x50]
movups xmm7, xmmword [rsp + 0x60]
mov r8, r15
mov rdx, r12
movups xmm8, xmmword [rsp + 0x70]
mov rcx, r11
movups xmm9, xmmword [rsp + 0x80]
mov dword [rsp + 0x160], ebx
movups xmm10, xmmword [rsp + 0x90]
movups xmm11, xmmword [rsp + 0xa0]
movups xmm12, xmmword [rsp + 0xb0]
movups xmm13, xmmword [rsp + 0xc0]
movups xmm14, xmmword [rsp + 0xd0]
movups xmm15, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x69919780
cmp qword [r11 + 0x100], 0
jne 0x69917484
mov esi, ecx
shr ecx, 0x16
shr esi, 0x18
and ecx, 3
shl esi, cl
cmp esi, 4
je 0x69917990
cmp esi, 8
je 0x69917788
cmp esi, 1
je 0x69917618
movups xmm6, xmmword [rsp + 0x50]
movups xmm7, xmmword [rsp + 0x60]
movups xmm9, xmmword [rsp + 0x80]
movups xmm8, xmmword [rsp + 0x70]
movups xmm10, xmmword [rsp + 0x90]
movups xmm11, xmmword [rsp + 0xa0]
movups xmm12, xmmword [rsp + 0xb0]
movups xmm13, xmmword [rsp + 0xc0]
movups xmm14, xmmword [rsp + 0xd0]
movups xmm15, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, str.The_expression_PIXMAN_FORMAT_TYPE__image__bits.format___PIXMAN_TYPE_A_was_false
movups xmm6, xmmword [rsp + 0x50]
movups xmm7, xmmword [rsp + 0x60]
lea rcx, str.pixman_rasterize_edges
movups xmm9, xmmword [rsp + 0x80]
movups xmm8, xmmword [rsp + 0x70]
movups xmm10, xmmword [rsp + 0x90]
movups xmm11, xmmword [rsp + 0xa0]
movups xmm12, xmmword [rsp + 0xb0]
movups xmm13, xmmword [rsp + 0xc0]
movups xmm14, xmmword [rsp + 0xd0]
movups xmm15, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.697b1800
movsxd rcx, dword [r11 + 0xb8]
mov eax, r9d
sub ebx, r9d
xor esi, esi
sar eax, 0x10
mov r10d, dword [r11 + 0xa0]
shr ebx, 0x10
xor r13d, r13d
imul eax, ecx
mov r8, qword [r11 + 0xa8]
shl rcx, 2
mov ebp, ebx
mov r14d, r10d
mov r9, rcx
mov ebx, r10d
shl r14d, 0x10
cdqe
lea rdi, [r8 + rax*4]
mov eax, dword [r15]
jmp 0x699176ca
cmp ebp, esi
je 0x69917536
mov r8d, dword [r12 + 0x1c]
mov edx, dword [r12 + 0x24]
add r8d, dword [r12]
add edx, dword [r12 + 4]
mov dword [r12], r8d
mov dword [r12 + 4], edx
test edx, edx
jle 0x6991769b
sub edx, dword [r12 + 0x10]
add r8d, dword [r12 + 0xc]
mov dword [r12 + 4], edx
mov dword [r12], r8d
mov eax, dword [r15 + 0x1c]
mov ecx, dword [r15 + 0x24]
add eax, dword [r15]
add ecx, dword [r15 + 4]
mov dword [r15], eax
mov dword [r15 + 4], ecx
test ecx, ecx
jle 0x699176c4
sub ecx, dword [r15 + 0x10]
add eax, dword [r15 + 0xc]
mov dword [r15 + 4], ecx
mov dword [r15], eax
add rdi, r9
add esi, 1
mov edx, dword [r12]
add eax, 0x7fff
mov r11d, eax
add edx, 0x7fff
cmovs edx, r13d
sar r11d, 0x10
cmp ebx, r11d
cmovle eax, r14d
cmp edx, eax
jge 0x69917660
mov r8d, edx
sar eax, 0x10
mov r11d, 0xffffffff
sar r8d, 0x10
sar edx, 0x15
sub eax, r8d
movsxd rcx, edx
and r8d, 0x1f
lea r10, [rdi + rcx*4]
lea ecx, [rax + r8]
neg ecx
shr r11d, cl
and ecx, 0x1f
cmove r11d, r13d
test r8d, r8d
jne 0x69918120
sar eax, 5
test eax, eax
je 0x69917770
sub eax, 1
mov rcx, r10
mov edx, 0xff
mov qword [rsp + 0x38], r9
lea r8, [rax*4 + 4]
mov dword [rsp + 0x34], r11d
mov qword [rsp + 0x28], r8
call sub.msvcrt.dll_memset
mov r9, qword [rsp + 0x28]
mov r11d, dword [rsp + 0x34]
mov r10, rax
add r10, r9
mov r9, qword [rsp + 0x38]
test r11d, r11d
je 0x69917660
or dword [r10], r11d
jmp 0x69917660
mov r14d, dword [r11 + 0xa0]
movsxd rdi, dword [r11 + 0xb8]
mov eax, r9d
mov dword [rsp + 0x34], 0
sar eax, 0x10
mov r11, qword [r11 + 0xa8]
movdqu xmm6, xmmword [0x699f7a50]
mov edx, r14d
imul eax, edi
lea rbp, [rdi*4]
movdqu xmm9, xmmword [0x699f7a60]
shl edx, 0x10
mov qword [rsp + 0x38], rbp
movdqu xmm12, xmmword [0x699f7a70]
movdqu xmm8, xmm6
sub edx, 1
movdqu xmm10, xmm9
movdqu xmm11, xmmword [0x699f7a80]
mov dword [rsp + 0x28], edx
cdqe
lea rsi, [r11 + rax*4]
mov r11d, dword [r8]
mov rax, 0xffffffffffffffff
mov r8d, 0xffffffff
nop dword [rax + rax]
mov r10d, dword [r12]
mov ecx, r11d
mov r13d, 0
test r10d, r10d
cmovs r10d, r13d
sar ecx, 0x10
cmp r14d, ecx
cmovle r11d, dword [rsp + 0x28]
cmp r10d, r11d
jge 0x6991790c
movzx edi, r10w
mov ecx, r11d
movzx r11d, r11w
mov edx, 0x88008801
mov ebp, r10d
lea r13, [rdi + 0x788]
lea r10, [r11 + 0x788]
sar ecx, 0x10
imul r13, rdx
sar ebp, 0x10
imul r10, rdx
movsxd rdi, ebp
lea rdx, [rsi + rdi]
movzx r11d, byte [rdx]
shr r13, 0x2b
shr r10, 0x2b
cmp ebp, ecx
je 0x69918100
add r11d, 0x11
sub r11d, r13d
mov r13d, 0xff
cmp r11d, 0xff
cmovg r11d, r13d
mov byte [rdx], r11b
lea edx, [rbp + 1]
mov r11d, ecx
sub r11d, edx
cmp r11d, 4
jle 0x699184d0
test eax, eax
js 0x699184c0
cmp edx, r8d
jge 0x6991859c
cmp ecx, eax
jl 0x6991859c
cmp edx, eax
jg 0x69918c20
jl 0x69918f71
cmp ecx, r8d
jl 0x699188e7
jg 0x69919310
add dword [rsp + 0x34], 1
movsxd rcx, ecx
mov r11d, 0xff
add rcx, rsi
movzx edx, byte [rcx]
add r10d, edx
cmp r10d, 0xff
cmovg r10d, r11d
mov byte [rcx], r10b
cmp ebx, r9d
je 0x69918150
mov r10d, dword [r12]
mov edi, dword [r12 + 4]
cmp r9w, 0xf777
je 0x69917b90
add r10d, dword [r12 + 0x18]
add edi, dword [r12 + 0x20]
mov dword [r12], r10d
mov dword [r12 + 4], edi
test edi, edi
jle 0x69917954
sub edi, dword [r12 + 0x10]
add r10d, dword [r12 + 0xc]
mov dword [r12 + 4], edi
mov dword [r12], r10d
mov r11d, dword [r15 + 0x18]
mov ecx, dword [r15 + 0x20]
add r11d, dword [r15]
add ecx, dword [r15 + 4]
mov dword [r15], r11d
mov dword [r15 + 4], ecx
test ecx, ecx
jle 0x6991797d
sub ecx, dword [r15 + 0x10]
add r11d, dword [r15 + 0xc]
mov dword [r15 + 4], ecx
mov dword [r15], r11d
add r9d, 0x1111
jmp 0x69917810
movsxd rbp, dword [r11 + 0xb8]
mov eax, r9d
mov r8, qword [r11 + 0xa8]
sar eax, 0x10
mov edi, dword [r11 + 0xa0]
imul eax, ebp
lea r13, [rbp*4]
mov dword [rsp + 0x28], edi
shl edi, 0x10
mov qword [rsp + 0x40], r13
sub edi, 1
cdqe
mov dword [rsp + 0x34], edi
mov edi, 0xf
lea r10, [r8 + rax*4]
mov eax, dword [r15]
mov qword [rsp + 0x38], r10
nop dword [rax]
mov r11d, dword [r12]
mov ecx, eax
mov r14d, 0
test r11d, r11d
cmovs r11d, r14d
sar ecx, 0x10
cmp dword [rsp + 0x28], ecx
cmovle eax, dword [rsp + 0x34]
cmp r11d, eax
jge 0x69917a9e
mov ebp, r11d
mov edx, r11d
movzx r11d, r11w
mov esi, eax
sar ebp, 0x10
sar edx, 0x11
lea r11, [r11 + 0x199a]
movzx eax, ax
mov r13d, ebp
movsxd r10, edx
mov edx, 0xa000a001
add r10, qword [rsp + 0x38]
and r13d, 1
imul r11, rdx
movzx r8d, byte [r10]
mov edx, edi
lea ecx, [r13*4]
add rax, 0x199a
sar esi, 0x10
shl edx, cl
mov r14d, r8d
sar r8d, cl
not edx
and r8d, 0xf
shr r11, 0x2d
and edx, r14d
mov r14d, 0xa000a001
imul rax, r14
shr rax, 0x2d
cmp ebp, esi
jne 0x69917f70
sub r8d, r11d
add r8d, eax
mov r14d, r8d
shr r14b, 4
movzx ebp, r14b
neg ebp
or ebp, r8d
and ebp, 0xf
shl ebp, cl
or edx, ebp
mov byte [r10], dl
cmp ebx, r9d
je 0x69917536
mov r10d, dword [r12]
mov r13d, dword [r12 + 4]
cmp r9w, 0xd555
je 0x69917b20
add r10d, dword [r12 + 0x18]
add r13d, dword [r12 + 0x20]
mov dword [r12], r10d
mov dword [r12 + 4], r13d
test r13d, r13d
jle 0x69917ae3
sub r13d, dword [r12 + 0x10]
add r10d, dword [r12 + 0xc]
mov dword [r12 + 4], r13d
mov dword [r12], r10d
mov eax, dword [r15 + 0x18]
mov r8d, dword [r15 + 0x20]
add eax, dword [r15]
add r8d, dword [r15 + 4]
mov dword [r15], eax
mov dword [r15 + 4], r8d
test r8d, r8d
jle 0x69917b0d
sub r8d, dword [r15 + 0x10]
add eax, dword [r15 + 0xc]
mov dword [r15 + 4], r8d
mov dword [r15], eax
add r9d, 0x5555
jmp 0x699179e0
add r10d, dword [r12 + 0x1c]
add r13d, dword [r12 + 0x24]
mov dword [r12], r10d
mov dword [r12 + 4], r13d
test r13d, r13d
jle 0x69917b4b
sub r13d, dword [r12 + 0x10]
add r10d, dword [r12 + 0xc]
mov dword [r12 + 4], r13d
mov dword [r12], r10d
mov eax, dword [r15 + 0x1c]
mov ecx, dword [r15 + 0x24]
add eax, dword [r15]
add ecx, dword [r15 + 4]
mov dword [r15], eax
mov dword [r15 + 4], ecx
test ecx, ecx
jle 0x69917b74
sub ecx, dword [r15 + 0x10]
add eax, dword [r15 + 0xc]
mov dword [r15 + 4], ecx
mov dword [r15], eax
mov rsi, qword [rsp + 0x40]
add r9d, 0x5556
add qword [rsp + 0x38], rsi
jmp 0x699179e0
add r10d, dword [r12 + 0x1c]
add edi, dword [r12 + 0x24]
mov dword [r12], r10d
mov dword [r12 + 4], edi
test edi, edi
jle 0x69917bba
sub edi, dword [r12 + 0x10]
add r10d, dword [r12 + 0xc]
mov dword [r12 + 4], edi
mov dword [r12], r10d
mov r11d, dword [r15 + 0x1c]
mov r13d, dword [r15 + 0x24]
add r11d, dword [r15]
add r13d, dword [r15 + 4]
mov dword [r15], r11d
mov dword [r15 + 4], r13d
test r13d, r13d
jle 0x69917be4
sub r13d, dword [r15 + 0x10]
add r11d, dword [r15 + 0xc]
mov dword [r15 + 4], r13d
mov dword [r15], r11d
add r9d, 0x1112
cmp eax, r8d
je 0x69917f5a
sub r8d, eax
cmp dword [rsp + 0x34], 0xf
lea rcx, [rsi + rax]
je 0x69918560
mov eax, dword [rsp + 0x34]
lea r11d, [r8 - 1]
mov ebp, eax
shl ebp, 4
add ebp, eax
cmp r11d, 0xe
jbe 0x69917d88
mov r10d, r8d
movd xmm4, ebp
pxor xmm5, xmm5
mov rdx, rcx
shr r10d, 4
pshufd xmm4, xmm4, 0
pxor xmm3, xmm3
movdqu xmm2, xmmword [0x699f7a50]
shl r10, 4
movdqu xmm7, xmmword [0x699f7a60]
add r10, rcx
nop dword [rax]
movdqu xmm15, xmmword [rdx]
movdqu xmm0, xmm2
add rdx, 0x10
movdqu xmm14, xmm15
punpckhbw xmm15, xmm5
punpcklbw xmm14, xmm5
movdqu xmm13, xmm14
punpckhwd xmm14, xmm3
punpcklwd xmm13, xmm3
paddd xmm14, xmm4
paddd xmm13, xmm4
movdqu xmm1, xmm13
pcmpgtd xmm1, xmm2
pand xmm0, xmm1
pandn xmm1, xmm13
movdqu xmm13, xmm2
por xmm1, xmm0
movdqu xmm0, xmm14
pcmpgtd xmm0, xmm2
pand xmm13, xmm0
pandn xmm0, xmm14
movdqu xmm14, xmm1
por xmm0, xmm13
movdqu xmm13, xmm2
punpcklwd xmm1, xmm0
punpckhwd xmm14, xmm0
movdqu xmm0, xmm1
punpcklwd xmm1, xmm14
punpckhwd xmm0, xmm14
movdqu xmm14, xmm15
punpckhwd xmm15, xmm3
punpcklwd xmm14, xmm3
punpcklwd xmm1, xmm0
paddd xmm15, xmm4
paddd xmm14, xmm4
pand xmm1, xmm7
movdqu xmm0, xmm14
pcmpgtd xmm0, xmm2
pand xmm13, xmm0
pandn xmm0, xmm14
movdqu xmm14, xmm2
por xmm0, xmm13
movdqu xmm13, xmm15
pcmpgtd xmm13, xmm2
pand xmm14, xmm13
pandn xmm13, xmm15
movdqu xmm15, xmm0
por xmm13, xmm14
punpcklwd xmm0, xmm13
punpckhwd xmm15, xmm13
movdqu xmm13, xmm0
punpcklwd xmm0, xmm15
punpckhwd xmm13, xmm15
punpcklwd xmm0, xmm13
pand xmm0, xmm7
packuswb xmm1, xmm0
movups xmmword [rdx - 0x10], xmm1
cmp r10, rdx
jne 0x69917c58
mov edi, r8d
and edi, 0xfffffff0
mov r13d, edi
sub r11d, edi
add rcx, r13
cmp edi, r8d
je 0x69917f48
movzx r8d, byte [rcx]
mov eax, 0xff
add r8d, ebp
cmp r8d, 0xff
cmovg r8d, eax
mov byte [rcx], r8b
test r11d, r11d
je 0x69917f48
movzx edx, byte [rcx + 1]
add edx, ebp
cmp edx, 0xff
cmovg edx, eax
mov byte [rcx + 1], dl
cmp r11d, 1
je 0x69917f48
movzx r10d, byte [rcx + 2]
add r10d, ebp
cmp r10d, 0xff
cmovg r10d, eax
mov byte [rcx + 2], r10b
cmp r11d, 2
je 0x69917f48
movzx edi, byte [rcx + 3]
add edi, ebp
cmp edi, 0xff
cmovg edi, eax
mov byte [rcx + 3], dil
cmp r11d, 3
je 0x69917f48
movzx r13d, byte [rcx + 4]
add r13d, ebp
cmp r13d, 0xff
cmovg r13d, eax
mov byte [rcx + 4], r13b
cmp r11d, 4
je 0x69917f48
movzx r8d, byte [rcx + 5]
add r8d, ebp
cmp r8d, 0xff
cmovg r8d, eax
mov byte [rcx + 5], r8b
cmp r11d, 5
je 0x69917f48
movzx edx, byte [rcx + 6]
add edx, ebp
cmp edx, 0xff
cmovg edx, eax
mov byte [rcx + 6], dl
cmp r11d, 6
je 0x69917f48
movzx r10d, byte [rcx + 7]
add r10d, ebp
cmp r10d, 0xff
cmovg r10d, eax
mov byte [rcx + 7], r10b
cmp r11d, 7
je 0x69917f48
movzx edi, byte [rcx + 8]
add edi, ebp
cmp edi, 0xff
cmovg edi, eax
mov byte [rcx + 8], dil
cmp r11d, 8
je 0x69917f48
movzx r13d, byte [rcx + 9]
add r13d, ebp
cmp r13d, 0xff
cmovle eax, r13d
mov byte [rcx + 9], al
cmp r11d, 9
je 0x69917f48
movzx eax, byte [rcx + 0xa]
mov r8d, 0xff
add eax, ebp
cmp eax, 0xff
cmovg eax, r8d
mov byte [rcx + 0xa], al
cmp r11d, 0xa
je 0x69917f48
movzx edx, byte [rcx + 0xb]
add edx, ebp
cmp edx, 0xff
cmovg edx, r8d
mov byte [rcx + 0xb], dl
cmp r11d, 0xb
je 0x69917f48
movzx r10d, byte [rcx + 0xc]
add r10d, ebp
cmp r10d, 0xff
cmovg r10d, r8d
mov byte [rcx + 0xc], r10b
cmp r11d, 0xc
je 0x69917f48
movzx edi, byte [rcx + 0xd]
add edi, ebp
cmp edi, 0xff
cmovg edi, r8d
mov byte [rcx + 0xd], dil
cmp r11d, 0xd
je 0x69917f48
movzx r11d, byte [rcx + 0xe]
add ebp, r11d
cmp ebp, 0xff
cmovg ebp, r8d
mov byte [rcx + 0xe], bpl
nop dword [rax]
mov dword [rsp + 0x34], 0
mov r11d, dword [r15]
mov rax, 0xffffffffffffffff
add rsi, qword [rsp + 0x38]
mov r8d, eax
jmp 0x69917810
mov r14d, 5
sub r14d, r11d
add r14d, r8d
mov r8d, r14d
shr r8b, 4
movzx r11d, r8b
mov r8d, r13d
neg r11d
xor r8d, 1
or r11d, r14d
and r11d, 0xf
shl r11d, cl
movsxd rcx, r13d
or r11d, edx
mov byte [r10], r11b
lea r11d, [rbp + 1]
add r10, rcx
cmp esi, r11d
jle 0x699180b6
mov edx, esi
sub edx, r11d
and edx, 1
je 0x69918018
movzx r14d, byte [r10]
lea ecx, [r8*4]
movsxd r8, r8d
mov r11d, r14d
sar r14d, cl
and r14d, 0xf
lea r14d, [r14 + 5]
mov edx, r14d
shr dl, 4
movzx edx, dl
neg edx
or edx, r14d
mov r14d, edi
shl r14d, cl
and edx, 0xf
not r14d
shl edx, cl
and r11d, r14d
or edx, r11d
lea r11d, [rbp + 2]
mov byte [r10], dl
add r10, r8
mov r8d, r13d
cmp esi, r11d
je 0x699180b6
nop dword [rax + rax]
movzx r13d, byte [r10]
lea ecx, [r8*4]
add r11d, 2
mov ebp, r13d
sar r13d, cl
and r13d, 0xf
lea r14d, [r13 + 5]
mov edx, r14d
shr dl, 4
movzx r13d, dl
neg r13d
or r13d, r14d
mov r14d, edi
shl r14d, cl
and r13d, 0xf
not r14d
shl r13d, cl
and ebp, r14d
or r13d, ebp
movsxd rbp, r8d
mov byte [r10], r13b
add r10, rbp
mov ebp, r8d
movzx edx, byte [r10]
xor ebp, 1
lea ecx, [rbp*4]
movsxd rbp, ebp
mov r13d, edx
sar edx, cl
and edx, 0xf
lea r14d, [rdx + 5]
mov edx, r14d
shr dl, 4
movzx edx, dl
neg edx
or edx, r14d
mov r14d, edi
shl r14d, cl
and edx, 0xf
not r14d
shl edx, cl
and r13d, r14d
or edx, r13d
mov byte [r10], dl
add r10, rbp
cmp esi, r11d
jne 0x69918018
movzx r13d, byte [r10]
lea ecx, [r8*4]
mov r11d, edi
shl r11d, cl
movzx esi, r13b
mov edx, r11d
sar esi, cl
not edx
and esi, 0xf
and r13d, edx
add esi, eax
mov eax, esi
shr al, 4
movzx r8d, al
neg r8d
or r8d, esi
and r8d, 0xf
shl r8d, cl
or r8d, r13d
mov byte [r10], r8b
jmp 0x69917a9e
add r10d, r11d
mov ebp, 0xff
sub r10d, r13d
cmp r10d, 0xff
cmovg r10d, ebp
mov byte [rdx], r10b
jmp 0x6991790c
mov edx, 0xffffffff
mov ecx, r8d
lea eax, [rax + r8 - 0x20]
shl edx, cl
test eax, eax
js 0x6991858e
or dword [r10], edx
sar eax, 5
add r10, 4
jmp 0x69917730
cmp eax, r8d
je 0x69917536
sub r8d, eax
cmp dword [rsp + 0x34], 0xf
lea rcx, [rsi + rax]
je 0x699196ac
mov r15d, dword [rsp + 0x34]
lea ebx, [r8 - 1]
mov r9d, r15d
shl r9d, 4
add r15d, r9d
mov r12d, r15d
cmp ebx, 0xe
jbe 0x699182ef
mov r14d, r8d
movd xmm6, r15d
pxor xmm4, xmm4
xor esi, esi
shr r14d, 4
pshufd xmm12, xmm6, 0
pxor xmm2, xmm2
movdqu xmm11, xmmword [0x699f7a50]
movdqu xmm10, xmmword [0x699f7a60]
shl r14, 4
nop dword [rax]
movdqu xmm8, xmmword [rcx + rsi]
movdqu xmm9, xmm11
movdqu xmm0, xmm11
movdqu xmm7, xmm8
punpckhbw xmm8, xmm4
punpcklbw xmm7, xmm4
movdqu xmm6, xmm8
punpckhwd xmm8, xmm2
movdqu xmm5, xmm7
punpckhwd xmm7, xmm2
punpcklwd xmm6, xmm2
punpcklwd xmm5, xmm2
paddd xmm7, xmm12
paddd xmm8, xmm12
paddd xmm5, xmm12
movdqu xmm1, xmm7
paddd xmm6, xmm12
movdqu xmm3, xmm5
pcmpgtd xmm1, xmm11
pcmpgtd xmm3, xmm11
pand xmm0, xmm1
pandn xmm1, xmm7
movdqu xmm7, xmm11
pand xmm9, xmm3
pandn xmm3, xmm5
por xmm1, xmm0
por xmm3, xmm9
movdqu xmm5, xmm6
movdqu xmm9, xmm11
movdqu xmm14, xmm3
pcmpgtd xmm5, xmm11
punpcklwd xmm3, xmm1
punpckhwd xmm14, xmm1
movdqu xmm15, xmm3
punpckhwd xmm15, xmm14
punpcklwd xmm3, xmm14
punpcklwd xmm3, xmm15
pand xmm7, xmm5
pandn xmm5, xmm6
movdqu xmm13, xmm3
movdqu xmm3, xmm8
por xmm5, xmm7
pcmpgtd xmm3, xmm11
pand xmm13, xmm10
pand xmm9, xmm3
pandn xmm3, xmm8
movdqu xmm8, xmm5
por xmm3, xmm9
punpcklwd xmm5, xmm3
punpckhwd xmm8, xmm3
movdqu xmm1, xmm5
punpcklwd xmm5, xmm8
punpckhwd xmm1, xmm8
punpcklwd xmm5, xmm1
pand xmm5, xmm10
packuswb xmm13, xmm5
movups xmmword [rcx + rsi], xmm13
add rsi, 0x10
cmp rsi, r14
jne 0x699181c0
mov ebp, r8d
and ebp, 0xfffffff0
mov r13d, ebp
sub ebx, ebp
add rcx, r13
cmp ebp, r8d
je 0x69917536
movzx edx, byte [rcx]
mov r10d, 0xff
add edx, r12d
cmp edx, 0xff
cmovg edx, r10d
mov byte [rcx], dl
test ebx, ebx
je 0x69917536
movzx edi, byte [rcx + 1]
add edi, r12d
cmp edi, 0xff
cmovg edi, r10d
mov byte [rcx + 1], dil
cmp ebx, 1
je 0x69917536
movzx r11d, byte [rcx + 2]
add r11d, r12d
cmp r11d, 0xff
cmovg r11d, r10d
mov byte [rcx + 2], r11b
cmp ebx, 2
je 0x69917536
movzx eax, byte [rcx + 3]
add eax, r12d
cmp eax, 0xff
cmovg eax, r10d
mov byte [rcx + 3], al
cmp ebx, 3
je 0x69917536
movzx r8d, byte [rcx + 4]
add r8d, r12d
cmp r8d, 0xff
cmovg r8d, r10d
mov byte [rcx + 4], r8b
cmp ebx, 4
je 0x69917536
movzx r15d, byte [rcx + 5]
add r15d, r12d
cmp r15d, 0xff
cmovg r15d, r10d
mov byte [rcx + 5], r15b
cmp ebx, 5
je 0x69917536
movzx r9d, byte [rcx + 6]
add r9d, r12d
cmp r9d, 0xff
cmovg r9d, r10d
mov byte [rcx + 6], r9b
cmp ebx, 6
je 0x69917536
movzx r14d, byte [rcx + 7]
add r14d, r12d
cmp r14d, 0xff
cmovg r14d, r10d
mov byte [rcx + 7], r14b
cmp ebx, 7
je 0x69917536
movzx esi, byte [rcx + 8]
add esi, r12d
cmp esi, 0xff
cmovg esi, r10d
mov byte [rcx + 8], sil
cmp ebx, 8
je 0x69917536
movzx ebp, byte [rcx + 9]
add ebp, r12d
cmp ebp, 0xff
cmovg ebp, r10d
mov byte [rcx + 9], bpl
cmp ebx, 9
je 0x69917536
movzx r13d, byte [rcx + 0xa]
add r13d, r12d
cmp r13d, 0xff
cmovg r13d, r10d
mov byte [rcx + 0xa], r13b
cmp ebx, 0xa
je 0x69917536
movzx edx, byte [rcx + 0xb]
add edx, r12d
cmp edx, 0xff
cmovg edx, r10d
mov byte [rcx + 0xb], dl
cmp ebx, 0xb
je 0x69917536
movzx edi, byte [rcx + 0xc]
add edi, r12d
cmp edi, 0xff
cmovg edi, r10d
mov byte [rcx + 0xc], dil
cmp ebx, 0xc
je 0x69917536
movzx r11d, byte [rcx + 0xd]
add r11d, r12d
cmp r11d, 0xff
cmovg r11d, r10d
mov byte [rcx + 0xd], r11b
cmp ebx, 0xd
je 0x69917536
movzx ebx, byte [rcx + 0xe]
add r12d, ebx
cmp r12d, 0xff
cmovg r12d, r10d
mov byte [rcx + 0xe], r12b
jmp 0x69917536
add dword [rsp + 0x34], 1
mov r8d, ecx
movsxd rax, edx
jmp 0x699178ec
movsxd rdx, edx
add rdx, rsi
test r11d, r11d
je 0x699178ec
movzx r13d, byte [rdx]
mov ebp, 0xffffffff
lea edi, [r13 + 0x11]
cmp r13b, 0xee
cmova edi, ebp
mov byte [rdx], dil
cmp r11d, 1
je 0x699178ec
movzx r13d, byte [rdx + 1]
lea edi, [r13 + 0x11]
cmp r13b, 0xee
cmova edi, ebp
mov byte [rdx + 1], dil
cmp r11d, 2
je 0x699178ec
movzx r13d, byte [rdx + 2]
lea edi, [r13 + 0x11]
cmp r13b, 0xee
cmova edi, ebp
mov byte [rdx + 2], dil
cmp r11d, 3
je 0x699178ec
movzx r13d, byte [rdx + 3]
lea r11d, [r13 + 0x11]
cmp r13b, 0xee
cmovbe ebp, r11d
mov byte [rdx + 3], bpl
jmp 0x699178ec
movsxd r8, r8d
mov edx, 0xff
mov dword [rsp + 0x40], r9d
call sub.msvcrt.dll_memset
mov dword [rsp + 0x34], 0
mov r11d, dword [r15]
mov rax, 0xffffffffffffffff
mov r9d, dword [rsp + 0x40]
jmp 0x69917f5a
and r11d, edx
jne 0x69917779
jmp 0x69917660
sub r8d, eax
lea r11, [rsi + rax]
mov eax, dword [rsp + 0x34]
lea r13d, [r8 - 1]
mov ebp, eax
shl ebp, 4
add ebp, eax
test r8d, r8d
je 0x699188d4
cmp r13d, 0xe
jbe 0x69918711
mov edi, r8d
movd xmm15, ebp
pxor xmm5, xmm5
mov rax, r11
shr edi, 4
pshufd xmm4, xmm15, 0
pxor xmm3, xmm3
shl rdi, 4
add rdi, r11
nop dword [rax + rax]
movdqu xmm7, xmmword [rax]
movdqu xmm13, xmm6
movdqu xmm15, xmm6
add rax, 0x10
movdqu xmm2, xmm7
punpckhbw xmm7, xmm5
punpcklbw xmm2, xmm5
movdqu xmm0, xmm2
punpckhwd xmm2, xmm3
punpcklwd xmm0, xmm3
paddd xmm2, xmm4
paddd xmm0, xmm4
movdqu xmm14, xmm2
movdqu xmm1, xmm0
pcmpgtd xmm14, xmm6
pcmpgtd xmm1, xmm6
pand xmm15, xmm14
pandn xmm14, xmm2
pand xmm13, xmm1
pandn xmm1, xmm0
por xmm14, xmm15
por xmm1, xmm13
movdqu xmm13, xmm6
movdqu xmm2, xmm1
punpcklwd xmm1, xmm14
punpckhwd xmm2, xmm14
movdqu xmm14, xmm7
punpckhwd xmm7, xmm3
punpcklwd xmm14, xmm3
paddd xmm7, xmm4
movdqu xmm0, xmm1
paddd xmm14, xmm4
punpckhwd xmm0, xmm2
punpcklwd xmm1, xmm2
movdqu xmm15, xmm14
movdqu xmm2, xmm7
punpcklwd xmm1, xmm0
pcmpgtd xmm15, xmm6
pcmpgtd xmm2, xmm6
movdqu xmm0, xmm6
pand xmm1, xmm9
pand xmm13, xmm15
pand xmm0, xmm2
pandn xmm15, xmm14
pandn xmm2, xmm7
por xmm15, xmm13
por xmm2, xmm0
movdqu xmm7, xmm15
punpcklwd xmm15, xmm2
punpckhwd xmm7, xmm2
movdqu xmm14, xmm15
punpcklwd xmm15, xmm7
punpckhwd xmm14, xmm7
punpcklwd xmm15, xmm14
pand xmm15, xmm9
packuswb xmm1, xmm15
movups xmmword [rax - 0x10], xmm1
cmp rax, rdi
jne 0x699185f0
mov eax, r8d
and eax, 0xfffffff0
mov edi, eax
sub r13d, eax
add r11, rdi
cmp eax, r8d
je 0x699188d4
movzx r8d, byte [r11]
mov eax, 0xff
add r8d, ebp
cmp r8d, 0xff
cmovg r8d, eax
mov byte [r11], r8b
test r13d, r13d
je 0x699188d4
movzx edi, byte [r11 + 1]
add edi, ebp
cmp edi, 0xff
cmovg edi, eax
mov byte [r11 + 1], dil
cmp r13d, 1
je 0x699188d4
movzx r8d, byte [r11 + 2]
add r8d, ebp
cmp r8d, 0xff
cmovg r8d, eax
mov byte [r11 + 2], r8b
cmp r13d, 2
je 0x699188d4
movzx edi, byte [r11 + 3]
add edi, ebp
cmp edi, 0xff
cmovg edi, eax
mov byte [r11 + 3], dil
cmp r13d, 3
je 0x699188d4
movzx r8d, byte [r11 + 4]
add r8d, ebp
cmp r8d, 0xff
cmovg r8d, eax
mov byte [r11 + 4], r8b
cmp r13d, 4
je 0x699188d4
movzx edi, byte [r11 + 5]
add edi, ebp
cmp edi, 0xff
cmovg edi, eax
mov byte [r11 + 5], dil
cmp r13d, 5
je 0x699188d4
movzx r8d, byte [r11 + 6]
add r8d, ebp
cmp r8d, 0xff
cmovg r8d, eax
mov byte [r11 + 6], r8b
cmp r13d, 6
je 0x699188d4
movzx edi, byte [r11 + 7]
add edi, ebp
cmp edi, 0xff
cmovg edi, eax
mov byte [r11 + 7], dil
cmp r13d, 7
je 0x699188d4
movzx r8d, byte [r11 + 8]
add r8d, ebp
cmp r8d, 0xff
cmovg r8d, eax
mov byte [r11 + 8], r8b
cmp r13d, 8
je 0x699188d4
movzx edi, byte [r11 + 9]
add edi, ebp
cmp edi, 0xff
cmovle eax, edi
mov byte [r11 + 9], al
cmp r13d, 9
je 0x699188d4
movzx eax, byte [r11 + 0xa]
mov r8d, 0xff
add eax, ebp
cmp eax, 0xff
cmovg eax, r8d
mov byte [r11 + 0xa], al
cmp r13d, 0xa
je 0x699188d4
movzx edi, byte [r11 + 0xb]
add edi, ebp
cmp edi, 0xff
cmovg edi, r8d
mov byte [r11 + 0xb], dil
cmp r13d, 0xb
je 0x699188d4
movzx eax, byte [r11 + 0xc]
add eax, ebp
cmp eax, 0xff
cmovg eax, r8d
mov byte [r11 + 0xc], al
cmp r13d, 0xc
je 0x699188d4
movzx edi, byte [r11 + 0xd]
add edi, ebp
cmp edi, 0xff
cmovg edi, r8d
mov byte [r11 + 0xd], dil
cmp r13d, 0xd
je 0x699188d4
movzx r13d, byte [r11 + 0xe]
add ebp, r13d
cmp ebp, 0xff
cmovg ebp, r8d
mov byte [r11 + 0xe], bpl
mov dword [rsp + 0x34], 1
mov r8d, ecx
movsxd rax, edx
jmp 0x699178ec
mov edx, dword [rsp + 0x34]
sub r8d, ecx
movsxd r11, ecx
lea r13d, [r8 - 1]
add r11, rsi
mov ebp, edx
shl ebp, 4
add ebp, edx
cmp r13d, 0xe
jle 0x69918a53
mov edi, r8d
movd xmm4, ebp
pxor xmm5, xmm5
mov rdx, r11
shr edi, 4
pshufd xmm15, xmm4, 0
pxor xmm3, xmm3
shl rdi, 4
add rdi, r11
nop dword [rax + rax]
movdqu xmm7, xmmword [rdx]
movdqu xmm13, xmm8
movdqu xmm4, xmm8
add rdx, 0x10
movdqu xmm2, xmm7
punpckhbw xmm7, xmm5
punpcklbw xmm2, xmm5
movdqu xmm1, xmm2
punpckhwd xmm2, xmm3
punpcklwd xmm1, xmm3
paddd xmm2, xmm15
paddd xmm1, xmm15
movdqu xmm14, xmm2
movdqu xmm0, xmm1
pcmpgtd xmm14, xmm8
pcmpgtd xmm0, xmm8
pand xmm4, xmm14
pandn xmm14, xmm2
pand xmm13, xmm0
pandn xmm0, xmm1
por xmm14, xmm4
por xmm0, xmm13
movdqu xmm13, xmm8
movdqu xmm2, xmm0
punpcklwd xmm0, xmm14
punpckhwd xmm2, xmm14
movdqu xmm14, xmm7
punpckhwd xmm7, xmm3
punpcklwd xmm14, xmm3
paddd xmm7, xmm15
movdqu xmm1, xmm0
paddd xmm14, xmm15
punpckhwd xmm1, xmm2
punpcklwd xmm0, xmm2
movdqu xmm4, xmm14
movdqu xmm2, xmm7
punpcklwd xmm0, xmm1
pcmpgtd xmm4, xmm8
pcmpgtd xmm2, xmm8
movdqu xmm1, xmm8
pand xmm0, xmm10
pand xmm13, xmm4
pand xmm1, xmm2
pandn xmm4, xmm14
pandn xmm2, xmm7
por xmm4, xmm13
por xmm2, xmm1
movdqu xmm7, xmm4
punpcklwd xmm4, xmm2
punpckhwd xmm7, xmm2
movdqu xmm14, xmm4
punpcklwd xmm4, xmm7
punpckhwd xmm14, xmm7
punpcklwd xmm4, xmm14
pand xmm4, xmm10
packuswb xmm0, xmm4
movups xmmword [rdx - 0x10], xmm0
cmp rdx, rdi
jne 0x69918930
mov edx, r8d
and edx, 0xfffffff0
mov edi, edx
sub r13d, edx
add r11, rdi
cmp edx, r8d
je 0x69918c18
movzx r8d, byte [r11]
mov edx, 0xff
add r8d, ebp
cmp r8d, 0xff
cmovg r8d, edx
mov byte [r11], r8b
test r13d, r13d
je 0x69918c18
movzx edi, byte [r11 + 1]
add edi, ebp
cmp edi, 0xff
cmovg edi, edx
mov byte [r11 + 1], dil
cmp r13d, 1
je 0x69918c18
movzx r8d, byte [r11 + 2]
add r8d, ebp
cmp r8d, 0xff
cmovg r8d, edx
mov byte [r11 + 2], r8b
cmp r13d, 2
je 0x69918c18
movzx edi, byte [r11 + 3]
add edi, ebp
cmp edi, 0xff
cmovg edi, edx
mov byte [r11 + 3], dil
cmp r13d, 3
je 0x69918c18
movzx r8d, byte [r11 + 4]
add r8d, ebp
cmp r8d, 0xff
cmovg r8d, edx
mov byte [r11 + 4], r8b
cmp r13d, 4
je 0x69918c18
movzx edi, byte [r11 + 5]
add edi, ebp
cmp edi, 0xff
cmovg edi, edx
mov byte [r11 + 5], dil
cmp r13d, 5
je 0x69918c18
movzx r8d, byte [r11 + 6]
add r8d, ebp
cmp r8d, 0xff
cmovg r8d, edx
mov byte [r11 + 6], r8b
cmp r13d, 6
je 0x69918c18
movzx edi, byte [r11 + 7]
add edi, ebp
cmp edi, 0xff
cmovg edi, edx
mov byte [r11 + 7], dil
cmp r13d, 7
je 0x69918c18
movzx r8d, byte [r11 + 8]
add r8d, ebp
cmp r8d, 0xff
cmovg r8d, edx
mov byte [r11 + 8], r8b
cmp r13d, 8
je 0x69918c18
movzx edi, byte [r11 + 9]
add edi, ebp
cmp edi, 0xff
cmovle edx, edi
mov byte [r11 + 9], dl
cmp r13d, 9
je 0x69918c18
movzx edx, byte [r11 + 0xa]
mov r8d, 0xff
add edx, ebp
cmp edx, 0xff
cmovg edx, r8d
mov byte [r11 + 0xa], dl
cmp r13d, 0xa
je 0x69918c18
movzx edi, byte [r11 + 0xb]
add edi, ebp
cmp edi, 0xff
cmovg edi, r8d
mov byte [r11 + 0xb], dil
cmp r13d, 0xb
je 0x69918c18
movzx edx, byte [r11 + 0xc]
add edx, ebp
cmp edx, 0xff
cmovg edx, r8d
mov byte [r11 + 0xc], dl
cmp r13d, 0xc
je 0x69918c18
movzx edi, byte [r11 + 0xd]
add edi, ebp
cmp edi, 0xff
cmovg edi, r8d
mov byte [r11 + 0xd], dil
cmp r13d, 0xd
je 0x69918c18
movzx r13d, byte [r11 + 0xe]
add ebp, r13d
cmp ebp, 0xff
cmovg ebp, r8d
mov byte [r11 + 0xe], bpl
mov r8d, ecx
jmp 0x699178e7
mov r11d, dword [rsp + 0x34]
mov edi, edx
sub edi, eax
add rax, rsi
mov ebp, r11d
mov dword [rsp + 0x40], edi
lea r13d, [rdi - 1]
shl ebp, 4
add ebp, r11d
test edi, edi
je 0x69918f69
cmp r13d, 0xe
jbe 0x69918db6
shr edi, 4
movd xmm3, ebp
pxor xmm5, xmm5
mov r11, rax
shl rdi, 4
movdqu xmm2, xmmword [0x699f7a50]
pshufd xmm4, xmm3, 0
movdqu xmm7, xmmword [0x699f7a60]
add rdi, rax
pxor xmm3, xmm3
nop dword [rax]
movdqu xmm15, xmmword [r11]
movdqu xmm1, xmm2
add r11, 0x10
movdqu xmm14, xmm15
punpckhbw xmm15, xmm5
punpcklbw xmm14, xmm5
movdqu xmm13, xmm14
punpckhwd xmm14, xmm3
punpcklwd xmm13, xmm3
paddd xmm14, xmm4
paddd xmm13, xmm4
movdqu xmm0, xmm13
pcmpgtd xmm0, xmm2
pand xmm1, xmm0
pandn xmm0, xmm13
movdqu xmm13, xmm2
por xmm0, xmm1
movdqu xmm1, xmm14
pcmpgtd xmm1, xmm2
pand xmm13, xmm1
pandn xmm1, xmm14
movdqu xmm14, xmm0
por xmm1, xmm13
movdqu xmm13, xmm2
punpcklwd xmm0, xmm1
punpckhwd xmm14, xmm1
movdqu xmm1, xmm0
punpcklwd xmm0, xmm14
punpckhwd xmm1, xmm14
movdqu xmm14, xmm15
punpckhwd xmm15, xmm3
punpcklwd xmm14, xmm3
punpcklwd xmm0, xmm1
paddd xmm15, xmm4
paddd xmm14, xmm4
pand xmm0, xmm7
movdqu xmm1, xmm14
pcmpgtd xmm1, xmm2
pand xmm13, xmm1
pandn xmm1, xmm14
movdqu xmm14, xmm2
por xmm1, xmm13
movdqu xmm13, xmm15
pcmpgtd xmm13, xmm2
pand xmm14, xmm13
pandn xmm13, xmm15
movdqu xmm15, xmm1
por xmm13, xmm14
punpcklwd xmm1, xmm13
punpckhwd xmm15, xmm13
movdqu xmm13, xmm1
punpcklwd xmm1, xmm15
punpckhwd xmm13, xmm15
punpcklwd xmm1, xmm13
pand xmm1, xmm7
packuswb xmm0, xmm1
movups xmmword [r11 - 0x10], xmm0
cmp rdi, r11
jne 0x69918c80
mov r11d, dword [rsp + 0x40]
and r11d, 0xfffffff0
mov edi, r11d
sub r13d, r11d
add rax, rdi
cmp r11d, dword [rsp + 0x40]
je 0x69918f69
movzx edi, byte [rax]
mov r11d, 0xff
add edi, ebp
cmp edi, 0xff
cmovg edi, r11d
mov byte [rax], dil
test r13d, r13d
je 0x69918f69
movzx edi, byte [rax + 1]
add edi, ebp
cmp edi, 0xff
cmovg edi, r11d
mov byte [rax + 1], dil
cmp r13d, 1
je 0x69918f69
movzx edi, byte [rax + 2]
add edi, ebp
cmp edi, 0xff
cmovg edi, r11d
mov byte [rax + 2], dil
cmp r13d, 2
je 0x69918f69
movzx edi, byte [rax + 3]
add edi, ebp
cmp edi, 0xff
cmovg edi, r11d
mov byte [rax + 3], dil
cmp r13d, 3
je 0x69918f69
movzx edi, byte [rax + 4]
add edi, ebp
cmp edi, 0xff
cmovg edi, r11d
mov byte [rax + 4], dil
cmp r13d, 4
je 0x69918f69
movzx edi, byte [rax + 5]
add edi, ebp
cmp edi, 0xff
cmovg edi, r11d
mov byte [rax + 5], dil
cmp r13d, 5
je 0x69918f69
movzx edi, byte [rax + 6]
add edi, ebp
cmp edi, 0xff
cmovg edi, r11d
mov byte [rax + 6], dil
cmp r13d, 6
je 0x69918f69
movzx edi, byte [rax + 7]
add edi, ebp
cmp edi, 0xff
cmovg edi, r11d
mov byte [rax + 7], dil
cmp r13d, 7
je 0x69918f69
movzx edi, byte [rax + 8]
add edi, ebp
cmp edi, 0xff
cmovg edi, r11d
mov byte [rax + 8], dil
cmp r13d, 8
je 0x69918f69
movzx edi, byte [rax + 9]
add edi, ebp
cmp edi, 0xff
cmovle r11d, edi
mov byte [rax + 9], r11b
cmp r13d, 9
je 0x69918f69
movzx edi, byte [rax + 0xa]
mov r11d, 0xff
add edi, ebp
cmp edi, 0xff
cmovg edi, r11d
mov byte [rax + 0xa], dil
cmp r13d, 0xa
je 0x69918f69
movzx edi, byte [rax + 0xb]
add edi, ebp
cmp edi, 0xff
cmovg edi, r11d
mov byte [rax + 0xb], dil
cmp r13d, 0xb
je 0x69918f69
movzx edi, byte [rax + 0xc]
add edi, ebp
cmp edi, 0xff
cmovg edi, r11d
mov byte [rax + 0xc], dil
cmp r13d, 0xc
je 0x69918f69
movzx edi, byte [rax + 0xd]
add edi, ebp
cmp edi, 0xff
cmovg edi, r11d
mov byte [rax + 0xd], dil
cmp r13d, 0xd
je 0x69918f69
movzx r13d, byte [rax + 0xe]
add ebp, r13d
cmp ebp, 0xff
cmovg ebp, r11d
mov byte [rax + 0xe], bpl
movsxd rax, edx
jmp 0x699178d8
mov ebp, eax
sub ebp, edx
movsxd rdx, edx
mov dword [rsp + 0x40], ebp
lea r11, [rsi + rdx]
lea r13d, [rbp - 1]
je 0x699178d8
cmp r13d, 0xe
jbe 0x6991914d
lea rdx, [rsi + rdi + 1]
pxor xmm2, xmm2
pcmpeqd xmm1, xmm1
mov edi, ebp
shr edi, 4
movdqu xmm3, xmmword [0x699f7a70]
movdqu xmm4, xmmword [0x699f7a80]
shl rdi, 4
lea rbp, [rdi + rdx]
sub rdi, 0x10
shr rdi, 4
mov qword [rsp + 0x48], rbp
add rdi, 1
and edi, 3
je 0x69919077
cmp rdi, 1
je 0x6991903b
cmp rdi, 2
je 0x6991900c
movdqu xmm0, xmmword [rdx]
movdqu xmm5, xmmword [rdx]
add rdx, 0x10
psubusb xmm0, xmm3
paddb xmm5, xmm4
pcmpeqb xmm0, xmm2
pand xmm5, xmm0
pandn xmm0, xmm1
por xmm0, xmm5
movups xmmword [rdx - 0x10], xmm0
movdqu xmm13, xmmword [rdx]
movdqu xmm7, xmmword [rdx]
add rdx, 0x10
psubusb xmm13, xmm3
paddb xmm7, xmm4
pcmpeqb xmm13, xmm2
pand xmm7, xmm13
pandn xmm13, xmm1
por xmm13, xmm7
movups xmmword [rdx - 0x10], xmm13
movdqu xmm15, xmmword [rdx]
movdqu xmm14, xmmword [rdx]
add rdx, 0x10
psubusb xmm15, xmm3
paddb xmm14, xmm4
pcmpeqb xmm15, xmm2
pand xmm14, xmm15
pandn xmm15, xmm1
por xmm15, xmm14
movups xmmword [rdx - 0x10], xmm15
cmp rdx, qword [rsp + 0x48]
je 0x69919134
mov edi, dword [rsp + 0x40]
movdqu xmm0, xmmword [rdx]
movdqu xmm5, xmmword [rdx]
add rdx, 0x40
movdqu xmm13, xmmword [rdx - 0x30]
movdqu xmm15, xmmword [rdx - 0x20]
psubusb xmm0, xmm3
paddb xmm5, xmm4
movdqu xmm7, xmmword [rdx - 0x30]
movdqu xmm14, xmmword [rdx - 0x20]
pcmpeqb xmm0, xmm2
psubusb xmm13, xmm3
psubusb xmm15, xmm3
pcmpeqb xmm13, xmm2
pcmpeqb xmm15, xmm2
paddb xmm7, xmm4
paddb xmm14, xmm4
pand xmm5, xmm0
pandn xmm0, xmm1
por xmm0, xmm5
movdqu xmm5, xmmword [rdx - 0x10]
pand xmm7, xmm13
pand xmm14, xmm15
movups xmmword [rdx - 0x40], xmm0
movdqu xmm0, xmmword [rdx - 0x10]
pandn xmm13, xmm1
pandn xmm15, xmm1
paddb xmm5, xmm4
por xmm13, xmm7
por xmm15, xmm14
psubusb xmm0, xmm3
movups xmmword [rdx - 0x30], xmm13
pcmpeqb xmm0, xmm2
movups xmmword [rdx - 0x20], xmm15
pand xmm5, xmm0
pandn xmm0, xmm1
por xmm0, xmm5
movups xmmword [rdx - 0x10], xmm0
cmp rdx, qword [rsp + 0x48]
jne 0x6991907b
mov dword [rsp + 0x40], edi
mov ebp, dword [rsp + 0x40]
mov edx, ebp
and edx, 0xfffffff0
mov edi, edx
sub r13d, edx
add r11, rdi
cmp ebp, edx
je 0x699178d8
movzx ebp, byte [r11]
mov edx, 0xffffffff
lea edi, [rbp + 0x11]
cmp bpl, 0xee
cmova edi, edx
mov byte [r11], dil
test r13d, r13d
je 0x699178d8
movzx ebp, byte [r11 + 1]
lea edi, [rbp + 0x11]
cmp bpl, 0xee
cmova edi, edx
mov byte [r11 + 1], dil
cmp r13d, 1
je 0x699178d8
movzx ebp, byte [r11 + 2]
lea edi, [rbp + 0x11]
cmp bpl, 0xee
cmova edi, edx
mov byte [r11 + 2], dil
cmp r13d, 2
je 0x699178d8
movzx ebp, byte [r11 + 3]
lea edi, [rbp + 0x11]
cmp bpl, 0xee
cmova edi, edx
mov byte [r11 + 3], dil
cmp r13d, 3
je 0x699178d8
movzx ebp, byte [r11 + 4]
lea edi, [rbp + 0x11]
cmp bpl, 0xee
cmova edi, edx
mov byte [r11 + 4], dil
cmp r13d, 4
je 0x699178d8
movzx ebp, byte [r11 + 5]
lea edi, [rbp + 0x11]
cmp bpl, 0xee
cmova edi, edx
mov byte [r11 + 5], dil
cmp r13d, 5
je 0x699178d8
movzx ebp, byte [r11 + 6]
lea edi, [rbp + 0x11]
cmp bpl, 0xee
cmova edi, edx
mov byte [r11 + 6], dil
cmp r13d, 6
je 0x699178d8
movzx ebp, byte [r11 + 7]
lea edi, [rbp + 0x11]
cmp bpl, 0xee
cmova edi, edx
mov byte [r11 + 7], dil
cmp r13d, 7
je 0x699178d8
movzx ebp, byte [r11 + 8]
lea edi, [rbp + 0x11]
cmp bpl, 0xee
cmovbe edx, edi
mov byte [r11 + 8], dl
cmp r13d, 8
je 0x699178d8
movzx edx, byte [r11 + 9]
cmp dl, 0xee
ja 0x6991974f
add edx, 0x11
mov byte [r11 + 9], dl
cmp r13d, 9
je 0x699178d8
movzx ebp, byte [r11 + 0xa]
cmp bpl, 0xee
ja 0x69919745
add ebp, 0x11
mov byte [r11 + 0xa], bpl
cmp r13d, 0xa
je 0x699178d8
movzx edi, byte [r11 + 0xb]
cmp dil, 0xee
ja 0x6991973b
add edi, 0x11
mov byte [r11 + 0xb], dil
cmp r13d, 0xb
je 0x699178d8
movzx edx, byte [r11 + 0xc]
cmp dl, 0xee
ja 0x69919759
add edx, 0x11
mov byte [r11 + 0xc], dl
cmp r13d, 0xc
je 0x699178d8
movzx ebp, byte [r11 + 0xd]
cmp bpl, 0xee
ja 0x69919763
add ebp, 0x11
mov byte [r11 + 0xd], bpl
cmp r13d, 0xd
je 0x699178d8
movzx r13d, byte [r11 + 0xe]
mov edi, 0xffffffff
lea edx, [r13 + 0x11]
cmp r13b, 0xee
cmova edx, edi
mov byte [r11 + 0xe], dl
jmp 0x699178d8
mov edi, ecx
movsxd rdx, r8d
sub edi, r8d
add rdx, rsi
lea ebp, [rdi - 1]
mov dword [rsp + 0x40], edi
cmp ebp, 0xe
jle 0x699194e1
shr edi, 4
pxor xmm4, xmm4
pcmpeqd xmm2, xmm2
mov r11, rdx
shl rdi, 4
lea r13, [rdi + rdx]
sub rdi, 0x10
shr rdi, 4
mov qword [rsp + 0x48], r13
add rdi, 1
and edi, 3
je 0x699193f9
cmp rdi, 1
je 0x699193bd
cmp rdi, 2
je 0x69919390
movdqu xmm5, xmmword [rdx]
movdqu xmm7, xmmword [rdx]
lea r11, [rdx + 0x10]
psubusb xmm5, xmm12
paddb xmm7, xmm11
pcmpeqb xmm5, xmm4
pand xmm7, xmm5
pandn xmm5, xmm2
por xmm5, xmm7
movups xmmword [rdx], xmm5
movdqu xmm0, xmmword [r11]
movdqu xmm3, xmmword [r11]
add r11, 0x10
psubusb xmm0, xmm12
paddb xmm3, xmm11
pcmpeqb xmm0, xmm4
pand xmm3, xmm0
pandn xmm0, xmm2
por xmm0, xmm3
movups xmmword [r11 - 0x10], xmm0
movdqu xmm14, xmmword [r11]
movdqu xmm1, xmmword [r11]
add r11, 0x10
psubusb xmm14, xmm12
paddb xmm1, xmm11
pcmpeqb xmm14, xmm4
pand xmm1, xmm14
pandn xmm14, xmm2
por xmm14, xmm1
movups xmmword [r11 - 0x10], xmm14
cmp r11, qword [rsp + 0x48]
je 0x699194c3
mov edi, dword [rsp + 0x40]
movdqu xmm13, xmmword [r11]
movdqu xmm5, xmmword [r11 + 0x10]
add r11, 0x40
movdqu xmm0, xmmword [r11 - 0x20]
movdqu xmm14, xmmword [r11 - 0x10]
psubusb xmm13, xmm12
psubusb xmm5, xmm12
movdqu xmm15, xmmword [r11 - 0x40]
movdqu xmm7, xmmword [r11 - 0x30]
psubusb xmm0, xmm12
psubusb xmm14, xmm12
pcmpeqb xmm13, xmm4
movdqu xmm3, xmmword [r11 - 0x20]
movdqu xmm1, xmmword [r11 - 0x10]
pcmpeqb xmm5, xmm4
pcmpeqb xmm0, xmm4
paddb xmm15, xmm11
pcmpeqb xmm14, xmm4
paddb xmm7, xmm11
paddb xmm3, xmm11
paddb xmm1, xmm11
pand xmm15, xmm13
pandn xmm13, xmm2
pand xmm7, xmm5
pand xmm3, xmm0
pandn xmm5, xmm2
pand xmm1, xmm14
pandn xmm0, xmm2
pandn xmm14, xmm2
por xmm13, xmm15
por xmm5, xmm7
por xmm0, xmm3
por xmm14, xmm1
movups xmmword [r11 - 0x40], xmm13
movups xmmword [r11 - 0x30], xmm5
movups xmmword [r11 - 0x20], xmm0
movups xmmword [r11 - 0x10], xmm14
cmp r11, qword [rsp + 0x48]
jne 0x699193fd
mov dword [rsp + 0x40], edi
mov r13d, dword [rsp + 0x40]
mov r11d, r13d
and r11d, 0xfffffff0
mov edi, r11d
sub ebp, r11d
add rdx, rdi
cmp r11d, r13d
je 0x699178e7
movzx r13d, byte [rdx]
mov r11d, 0xffffffff
lea edi, [r13 + 0x11]
cmp r13b, 0xee
cmova edi, r11d
mov byte [rdx], dil
test ebp, ebp
je 0x699178e7
movzx r13d, byte [rdx + 1]
lea edi, [r13 + 0x11]
cmp r13b, 0xee
cmova edi, r11d
mov byte [rdx + 1], dil
cmp ebp, 1
je 0x699178e7
movzx r13d, byte [rdx + 2]
lea edi, [r13 + 0x11]
cmp r13b, 0xee
cmova edi, r11d
mov byte [rdx + 2], dil
cmp ebp, 2
je 0x699178e7
movzx r13d, byte [rdx + 3]
lea edi, [r13 + 0x11]
cmp r13b, 0xee
cmova edi, r11d
mov byte [rdx + 3], dil
cmp ebp, 3
je 0x699178e7
movzx r13d, byte [rdx + 4]
lea edi, [r13 + 0x11]
cmp r13b, 0xee
cmova edi, r11d
mov byte [rdx + 4], dil
cmp ebp, 4
je 0x699178e7
movzx r13d, byte [rdx + 5]
lea edi, [r13 + 0x11]
cmp r13b, 0xee
cmova edi, r11d
mov byte [rdx + 5], dil
cmp ebp, 5
je 0x699178e7
movzx r13d, byte [rdx + 6]
lea edi, [r13 + 0x11]
cmp r13b, 0xee
cmova edi, r11d
mov byte [rdx + 6], dil
cmp ebp, 6
je 0x699178e7
movzx r13d, byte [rdx + 7]
lea edi, [r13 + 0x11]
cmp r13b, 0xee
cmova edi, r11d
mov byte [rdx + 7], dil
cmp ebp, 7
je 0x699178e7
movzx r13d, byte [rdx + 8]
lea edi, [r13 + 0x11]
cmp r13b, 0xee
cmova edi, r11d
mov byte [rdx + 8], dil
cmp ebp, 8
je 0x699178e7
movzx r13d, byte [rdx + 9]
lea edi, [r13 + 0x11]
cmp r13b, 0xee
cmovbe r11d, edi
mov byte [rdx + 9], r11b
cmp ebp, 9
je 0x699178e7
movzx r11d, byte [rdx + 0xa]
cmp r11b, 0xee
ja 0x69919730
add r11d, 0x11
mov byte [rdx + 0xa], r11b
cmp ebp, 0xa
je 0x699178e7
movzx r13d, byte [rdx + 0xb]
cmp r13b, 0xee
ja 0x69919725
add r13d, 0x11
mov byte [rdx + 0xb], r13b
cmp ebp, 0xb
je 0x699178e7
movzx edi, byte [rdx + 0xc]
cmp dil, 0xee
ja 0x6991971b
add edi, 0x11
mov byte [rdx + 0xc], dil
cmp ebp, 0xc
je 0x699178e7
movzx r11d, byte [rdx + 0xd]
cmp r11b, 0xee
ja 0x6991976d
add r11d, 0x11
mov byte [rdx + 0xd], r11b
cmp ebp, 0xd
je 0x699178e7
movzx ebp, byte [rdx + 0xe]
mov edi, 0xffffffff
lea r13d, [rbp + 0x11]
cmp bpl, 0xee
cmova r13d, edi
mov byte [rdx + 0xe], r13b
jmp 0x699178e7
movups xmm6, xmmword [rsp + 0x50]
movups xmm7, xmmword [rsp + 0x60]
movsxd r8, r8d
mov edx, 0xff
movups xmm9, xmmword [rsp + 0x80]
movups xmm8, xmmword [rsp + 0x70]
movups xmm10, xmmword [rsp + 0x90]
movups xmm11, xmmword [rsp + 0xa0]
movups xmm12, xmmword [rsp + 0xb0]
movups xmm13, xmmword [rsp + 0xc0]
movups xmm14, xmmword [rsp + 0xd0]
movups xmm15, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sub.msvcrt.dll_memset
mov edi, 0xffffffff
jmp 0x69919661
mov r13d, 0xffffffff
jmp 0x69919643
mov r11d, 0xffffffff
jmp 0x69919623
mov edi, 0xffffffff
jmp 0x699192a5
mov ebp, 0xffffffff
jmp 0x69919285
mov edx, 0xffffffff
jmp 0x69919265
mov edx, 0xffffffff
jmp 0x699192c4
mov ebp, 0xffffffff
jmp 0x699192e4
mov r11d, 0xffffffff
jmp 0x69919681
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rsi, rcx
mov ecx, dword [rcx + 0x90]
mov r15, rdx
mov rbx, r8
mov dword [rsp + 0xc8], r9d
mov eax, ecx
shr ecx, 0x16
shr eax, 0x18
and ecx, 3
shl eax, cl
cmp eax, 4
je 0x699197e0
cmp eax, 8
je 0x6991a010
cmp eax, 1
je 0x69919c60
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsxd rdx, dword [rsi + 0xb8]
mov eax, r9d
mov edi, dword [rsi + 0xa0]
sar eax, 0x10
mov rbp, qword [rsi + 0xa8]
mov r12d, dword [rbx]
imul eax, edx
mov dword [rsp + 0x38], edi
shl edi, 0x10
lea r9, [rdx*4]
sub edi, 1
mov qword [rsp + 0x50], r9
mov dword [rsp + 0x48], edi
cdqe
lea r8, [rbp + rax*4]
mov qword [rsp + 0x28], r8
nop word [rax + rax]
mov r14d, dword [r15]
mov r10d, 0
mov r11d, r12d
mov edx, r12d
test r14d, r14d
cmovs r14d, r10d
sar r11d, 0x10
cmp dword [rsp + 0x38], r11d
cmovle edx, dword [rsp + 0x48]
cmp r14d, edx
jge 0x69919924
mov r13d, r14d
mov r12d, r14d
movzx ebp, r14w
movzx edi, dx
sar r13d, 0x10
mov rax, qword [rsp + 0x28]
sar r12d, 0x11
mov r9d, edx
mov r10d, r13d
mov r11d, 0xa000a001
movsxd rcx, r12d
sar r9d, 0x10
and r10d, 1
lea rbp, [rbp + 0x199a]
lea r12, [rax + rcx]
mov r14d, 0xf
lea rdi, [rdi + 0x199a]
lea r8d, [r10*4]
mov rax, qword [rsi + 0xf8]
imul rbp, r11
mov ecx, r8d
imul rdi, r11
shl r14d, cl
not r14d
shr rbp, 0x2d
shr rdi, 0x2d
cmp r13d, r9d
jne 0x69919a10
mov dword [rsp + 0x30], r8d
mov edx, 1
mov rcx, r12
sub edi, ebp
call rax
mov r9d, dword [rsp + 0x30]
mov r8d, 1
movzx eax, al
mov ecx, r9d
mov edx, eax
and r14d, eax
sar edx, cl
and edx, 0xf
add edi, edx
mov ebp, edi
shr bpl, 4
movzx edx, bpl
neg edx
or edx, edi
and edx, 0xf
shl edx, cl
mov rcx, r12
or edx, r14d
call qword [rsi + 0x100]
mov r10d, dword [rsp + 0xc8]
cmp dword [rsp + 0xd0], r10d
je 0x699197cb
cmp word [rsp + 0xc8], 0xd555
mov r8d, dword [r15]
mov r11d, dword [r15 + 4]
je 0x699199a8
add r8d, dword [r15 + 0x18]
add r11d, dword [r15 + 0x20]
mov dword [r15], r8d
mov dword [r15 + 4], r11d
test r11d, r11d
jle 0x69919970
sub r11d, dword [r15 + 0x10]
add r8d, dword [r15 + 0xc]
mov dword [r15 + 4], r11d
mov dword [r15], r8d
mov r12d, dword [rbx + 0x18]
mov edi, dword [rbx + 0x20]
add r12d, dword [rbx]
add edi, dword [rbx + 4]
mov dword [rbx], r12d
mov dword [rbx + 4], edi
test edi, edi
jle 0x69919994
sub edi, dword [rbx + 0x10]
add r12d, dword [rbx + 0xc]
mov dword [rbx + 4], edi
mov dword [rbx], r12d
add dword [rsp + 0xc8], 0x5555
jmp 0x69919830
add r8d, dword [r15 + 0x1c]
add r11d, dword [r15 + 0x24]
mov dword [r15], r8d
mov dword [r15 + 4], r11d
test r11d, r11d
jle 0x699199cb
sub r11d, dword [r15 + 0x10]
add r8d, dword [r15 + 0xc]
mov dword [r15 + 4], r11d
mov dword [r15], r8d
mov r12d, dword [rbx + 0x1c]
mov r14d, dword [rbx + 0x24]
add r12d, dword [rbx]
add r14d, dword [rbx + 4]
mov dword [rbx], r12d
mov dword [rbx + 4], r14d
test r14d, r14d
jle 0x699199f5
sub r14d, dword [rbx + 0x10]
add r12d, dword [rbx + 0xc]
mov dword [rbx + 4], r14d
mov dword [rbx], r12d
add dword [rsp + 0xc8], 0x5556
mov r13, qword [rsp + 0x50]
add qword [rsp + 0x28], r13
jmp 0x69919830
mov rcx, r12
mov dword [rsp + 0x4c], r8d
mov edx, 1
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x30], r9d
call rax
mov r10d, dword [rsp + 0x4c]
mov r8d, 1
movzx r9d, al
mov ecx, r10d
mov edx, r9d
and r14d, r9d
sar edx, cl
and edx, 0xf
sub edx, ebp
lea eax, [rdx + 5]
mov edx, eax
shr dl, 4
movzx edx, dl
neg edx
or edx, eax
and edx, 0xf
shl edx, cl
mov rcx, r12
or edx, r14d
lea r14d, [r13 + 1]
call qword [rsi + 0x100]
movsxd r8, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x30]
mov ebp, r8d
add r12, r8
xor ebp, 1
cmp ecx, r14d
jle 0x69919c01
mov eax, ecx
sub eax, r14d
test al, 1
je 0x69919b16
mov dword [rsp + 0x40], r8d
mov edx, 1
mov dword [rsp + 0x30], ecx
mov rcx, r12
call qword [rsi + 0xf8]
lea ecx, [rbp*4]
movsxd rbp, ebp
mov r8d, 0xf
movzx r14d, al
shl r8d, cl
mov r9d, r14d
mov r11d, r8d
mov r8d, 1
sar r9d, cl
not r11d
and r9d, 0xf
and r14d, r11d
lea r10d, [r9 + 5]
mov edx, r10d
shr dl, 4
movzx edx, dl
neg edx
or edx, r10d
and edx, 0xf
shl edx, cl
mov rcx, r12
add r12, rbp
or edx, r14d
lea r14d, [r13 + 2]
call qword [rsi + 0x100]
mov ecx, dword [rsp + 0x30]
mov ebp, dword [rsp + 0x40]
cmp ecx, r14d
je 0x69919c01
mov qword [rsp + 0xc0], rbx
mov r13d, ecx
mov rcx, r12
mov edx, 1
add r14d, 2
call qword [rsi + 0xf8]
lea ecx, [rbp*4]
mov r8d, 0xf
movzx eax, al
shl r8d, cl
mov ebx, eax
mov r11d, r8d
mov r8d, 1
sar ebx, cl
not r11d
and ebx, 0xf
and eax, r11d
lea r9d, [rbx + 5]
mov r10d, r9d
shr r10b, 4
movzx edx, r10b
neg edx
or edx, r9d
and edx, 0xf
shl edx, cl
mov rcx, r12
or edx, eax
call qword [rsi + 0x100]
movsxd rdx, ebp
lea rbx, [r12 + rdx]
mov edx, 1
mov r12d, ebp
mov rcx, rbx
xor r12d, 1
call qword [rsi + 0xf8]
lea ecx, [r12*4]
movsxd r12, r12d
mov r11d, 0xf
movzx eax, al
shl r11d, cl
add r12, rbx
mov r9d, eax
not r11d
sar r9d, cl
and eax, r11d
and r9d, 0xf
lea r10d, [r9 + 5]
mov r8d, r10d
shr r8b, 4
movzx edx, r8b
mov r8d, 1
neg edx
or edx, r10d
and edx, 0xf
shl edx, cl
mov rcx, rbx
or edx, eax
call qword [rsi + 0x100]
cmp r13d, r14d
jne 0x69919b21
mov rbx, qword [rsp + 0xc0]
mov rcx, r12
mov edx, 1
call qword [rsi + 0xf8]
lea ecx, [rbp*4]
mov r8d, 1
movzx r14d, al
mov ebp, r14d
sar ebp, cl
and ebp, 0xf
add edi, ebp
mov r13d, edi
shr r13b, 4
movzx edx, r13b
neg edx
or edx, edi
mov edi, 0xf
shl edi, cl
and edx, 0xf
not edi
shl edx, cl
mov rcx, r12
and r14d, edi
or edx, r14d
call qword [rsi + 0x100]
jmp 0x69919924
movsxd r10, dword [rsi + 0xb8]
mov eax, r9d
xor ebp, ebp
mov edi, dword [rsp + 0xd0]
sar eax, 0x10
mov edx, dword [rsi + 0xa0]
mov rcx, qword [rsi + 0xa8]
imul eax, r10d
sub edi, r9d
lea r14, [r10*4]
mov dword [rsp + 0x28], edx
shr edi, 0x10
shl edx, 0x10
mov dword [rsp + 0x30], edx
cdqe
mov qword [rsp + 0x38], r14
lea r13, [rcx + rax*4]
mov dword [rsp + 0x48], edi
mov eax, dword [r8]
jmp 0x69919d18
cmp ebp, dword [rsp + 0x48]
je 0x699197cb
mov ecx, dword [r15 + 0x1c]
mov eax, dword [r15 + 0x24]
add ecx, dword [r15]
add eax, dword [r15 + 4]
mov dword [r15], ecx
mov dword [r15 + 4], eax
test eax, eax
jle 0x69919ceb
sub eax, dword [r15 + 0x10]
add ecx, dword [r15 + 0xc]
mov dword [r15 + 4], eax
mov dword [r15], ecx
mov eax, dword [rbx + 0x1c]
mov r8d, dword [rbx + 0x24]
add eax, dword [rbx]
add r8d, dword [rbx + 4]
mov dword [rbx], eax
mov dword [rbx + 4], r8d
test r8d, r8d
jle 0x69919d10
sub r8d, dword [rbx + 0x10]
add eax, dword [rbx + 0xc]
mov dword [rbx + 4], r8d
mov dword [rbx], eax
add r13, qword [rsp + 0x38]
add ebp, 1
mov r9d, dword [r15]
add eax, 0x7fff
mov r8d, 0
mov r12d, eax
add r9d, 0x7fff
cmovs r9d, r8d
sar r12d, 0x10
cmp dword [rsp + 0x28], r12d
cmovle eax, dword [rsp + 0x30]
cmp r9d, eax
jge 0x69919cb8
mov r10d, r9d
sar eax, 0x10
mov r14d, 0xffffffff
sar r10d, 0x10
sar r9d, 0x15
sub eax, r10d
and r10d, 0x1f
movsxd r11, r9d
lea ecx, [rax + r10]
lea r12, [r13 + r11*4]
neg ecx
shr r14d, cl
and ecx, 0x1f
cmove r14d, r8d
test r10d, r10d
jne 0x69919fa0
sar eax, 5
mov edi, eax
lea edx, [rax - 1]
test edi, edi
je 0x6991ab68
lea rdi, [r12 + rdx*4 + 4]
add rdx, 1
and edx, 7
je 0x69919e86
cmp rdx, 1
je 0x69919e65
cmp rdx, 2
je 0x69919e4d
cmp rdx, 3
je 0x69919e35
cmp rdx, 4
je 0x69919e1d
cmp rdx, 5
je 0x69919e05
cmp rdx, 6
je 0x69919ded
mov rcx, r12
mov r8d, 4
add r12, 4
mov edx, 0xffffffff
call qword [rsi + 0x100]
mov rcx, r12
mov r8d, 4
add r12, 4
mov edx, 0xffffffff
call qword [rsi + 0x100]
mov rcx, r12
mov r8d, 4
add r12, 4
mov edx, 0xffffffff
call qword [rsi + 0x100]
mov rcx, r12
mov r8d, 4
add r12, 4
mov edx, 0xffffffff
call qword [rsi + 0x100]
mov rcx, r12
mov r8d, 4
add r12, 4
mov edx, 0xffffffff
call qword [rsi + 0x100]
mov rcx, r12
mov r8d, 4
add r12, 4
mov edx, 0xffffffff
call qword [rsi + 0x100]
mov rcx, r12
add r12, 4
mov r8d, 4
mov edx, 0xffffffff
call qword [rsi + 0x100]
cmp r12, rdi
je 0x69919f6a
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x4c], r14d
lea r13, [r12 + 4]
mov rcx, r12
lea r14, [r12 + 8]
mov r8d, 4
mov edx, 0xffffffff
call qword [rsi + 0x100]
mov rcx, r13
lea r13, [r12 + 0xc]
mov r8d, 4
mov edx, 0xffffffff
call qword [rsi + 0x100]
mov rcx, r14
mov edx, 0xffffffff
lea r14, [r12 + 0x10]
mov r8d, 4
call qword [rsi + 0x100]
mov rcx, r13
lea r13, [r12 + 0x14]
mov r8d, 4
mov edx, 0xffffffff
call qword [rsi + 0x100]
mov rcx, r14
mov edx, 0xffffffff
mov r8d, 4
call qword [rsi + 0x100]
lea r14, [r12 + 0x18]
mov rcx, r13
lea r13, [r12 + 0x1c]
add r12, 0x20
mov r8d, 4
mov edx, 0xffffffff
call qword [rsi + 0x100]
mov r8d, 4
mov edx, 0xffffffff
mov rcx, r14
call qword [rsi + 0x100]
mov r8d, 4
mov edx, 0xffffffff
mov rcx, r13
call qword [rsi + 0x100]
cmp r12, rdi
jne 0x69919e90
mov r13, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x4c]
test r14d, r14d
je 0x69919cb8
mov rcx, rdi
mov r12, qword [rsi + 0x100]
mov edx, 4
call qword [rsi + 0xf8]
mov r8d, 4
mov rcx, rdi
or eax, r14d
mov edx, eax
call r12
jmp 0x69919cb8
lea eax, [rax + r10 - 0x20]
mov r9d, 0xffffffff
mov ecx, r10d
mov edi, eax
shl r9d, cl
sar edi, 5
lea r8d, [rdi - 1]
test eax, eax
js 0x6991a4d8
mov r10, qword [rsi + 0x100]
mov rcx, r12
mov dword [rsp + 0x50], r8d
mov edx, 4
mov dword [rsp + 0x4c], r9d
mov qword [rsp + 0x40], r10
call qword [rsi + 0xf8]
mov r11d, dword [rsp + 0x4c]
mov rcx, r12
mov r9, qword [rsp + 0x40]
mov r8d, 4
add r12, 4
or eax, r11d
mov edx, eax
call r9
mov edx, dword [rsp + 0x50]
jmp 0x69919d8f
movsxd rdx, dword [rsi + 0xb8]
mov eax, r9d
mov r9d, dword [rsi + 0xa0]
mov dword [rsp + 0x48], 0
sar eax, 0x10
mov rbp, qword [rsi + 0xa8]
mov dword [rsp + 0x38], 0xffffffff
imul eax, edx
mov r10d, r9d
lea r8, [rdx*4]
mov dword [rsp + 0x4c], r9d
shl r10d, 0x10
mov qword [rsp + 0x58], r8
sub r10d, 1
mov dword [rsp + 0x28], 0xffffffff
cdqe
mov dword [rsp + 0x50], r10d
mov r10d, dword [rbx]
lea rcx, [rbp + rax*4]
mov qword [rsp + 0x30], rcx
nop word [rax + rax]
mov r11d, dword [r15]
mov r14d, r10d
mov r12d, 0
test r11d, r11d
cmovs r11d, r12d
sar r14d, 0x10
cmp dword [rsp + 0x4c], r14d
cmovle r10d, dword [rsp + 0x50]
cmp r11d, r10d
jge 0x6991a1ef
movzx eax, r10w
mov ecx, 0x88008801
movzx edx, r11w
mov edi, r11d
add rax, 0x788
lea r12, [rdx + 0x788]
sar edi, 0x10
mov ebp, r10d
imul rax, rcx
movsxd r14, edi
sar ebp, 0x10
add r14, qword [rsp + 0x30]
imul r12, rcx
mov r13, qword [rsi + 0x100]
mov edx, 1
mov rcx, r14
mov r9, qword [rsi + 0xf8]
shr rax, 0x2b
mov qword [rsp + 0x40], rax
shr r12, 0x2b
cmp edi, ebp
je 0x6991a390
call r9
mov r8d, 0x11
mov r11d, 0xff
mov rcx, r14
sub r8d, r12d
add r8d, eax
cmp r8d, 0x100
movzx edx, r8b
mov r8d, 1
cmovge edx, r11d
add edi, 1
call r13
mov r13d, ebp
sub r13d, edi
cmp r13d, 4
jle 0x6991a470
mov r9d, dword [rsp + 0x28]
test r9d, r9d
js 0x6991a1a0
cmp edi, dword [rsp + 0x38]
jge 0x6991a760
cmp ebp, dword [rsp + 0x28]
jl 0x6991a760
cmp edi, dword [rsp + 0x28]
jg 0x6991a4f8
jl 0x6991aad0
movsxd rdi, ebp
cmp ebp, dword [rsp + 0x38]
jl 0x6991a818
jg 0x6991aa60
add dword [rsp + 0x48], 1
jmp 0x6991a1b0
add dword [rsp + 0x48], 1
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x28], edi
movsxd rdi, ebp
mov rax, qword [rsp + 0x30]
mov edx, 1
mov rbp, qword [rsi + 0x100]
lea r13, [rax + rdi]
mov rcx, r13
call qword [rsi + 0xf8]
add eax, dword [rsp + 0x40]
mov r8d, 0xff
mov rcx, r13
movzx edx, al
cmp eax, 0x100
cmovge edx, r8d
mov r8d, 1
call rbp
mov edx, dword [rsp + 0xc8]
cmp dword [rsp + 0xd0], edx
je 0x6991a3d8
cmp word [rsp + 0xc8], 0xf777
mov r12d, dword [r15]
mov r10d, dword [r15 + 4]
je 0x6991a270
add r12d, dword [r15 + 0x18]
add r10d, dword [r15 + 0x20]
mov dword [r15], r12d
mov dword [r15 + 4], r10d
test r10d, r10d
jle 0x6991a239
sub r10d, dword [r15 + 0x10]
add r12d, dword [r15 + 0xc]
mov dword [r15 + 4], r10d
mov dword [r15], r12d
mov r10d, dword [rbx + 0x18]
mov edx, dword [rbx + 0x20]
add r10d, dword [rbx]
add edx, dword [rbx + 4]
mov dword [rbx], r10d
mov dword [rbx + 4], edx
test edx, edx
jle 0x6991a25d
sub edx, dword [rbx + 0x10]
add r10d, dword [rbx + 0xc]
mov dword [rbx + 4], edx
mov dword [rbx], r10d
add dword [rsp + 0xc8], 0x1111
jmp 0x6991a080
add r12d, dword [r15 + 0x1c]
add r10d, dword [r15 + 0x24]
mov dword [r15], r12d
mov dword [r15 + 4], r10d
test r10d, r10d
jle 0x6991a293
sub r10d, dword [r15 + 0x10]
add r12d, dword [r15 + 0xc]
mov dword [r15 + 4], r10d
mov dword [r15], r12d
mov r10d, dword [rbx + 0x1c]
mov r14d, dword [rbx + 0x24]
add r10d, dword [rbx]
add r14d, dword [rbx + 4]
mov dword [rbx], r10d
mov dword [rbx + 4], r14d
test r14d, r14d
jle 0x6991a2bd
sub r14d, dword [rbx + 0x10]
add r10d, dword [rbx + 0xc]
mov dword [rbx + 4], r14d
mov dword [rbx], r10d
movsxd rdi, dword [rsp + 0x28]
mov ebp, dword [rsp + 0x38]
add dword [rsp + 0xc8], 0x1112
cmp edi, ebp
je 0x6991a373
cmp dword [rsp + 0x48], 0xf
je 0x6991a5a0
mov eax, dword [rsp + 0x48]
mov r13d, dword [rsp + 0x38]
sub r13d, dword [rsp + 0x28]
add rdi, qword [rsp + 0x30]
mov r12d, eax
sub r13d, 1
shl r12d, 4
lea r14, [rdi + r13 + 1]
add r12d, eax
jmp 0x6991a327
mov rcx, rdi
add rdi, 1
movzx edx, al
mov r8d, 1
call rbp
cmp rdi, r14
je 0x6991a360
mov rbp, qword [rsi + 0x100]
mov edx, 1
mov rcx, rdi
call qword [rsi + 0xf8]
add eax, r12d
cmp eax, 0xff
jle 0x6991a310
mov rcx, rdi
add rdi, 1
mov r8d, 1
mov edx, 0xff
call rbp
cmp rdi, r14
jne 0x6991a327
nop
mov dword [rsp + 0x48], 0
mov r10d, dword [rbx]
mov dword [rsp + 0x28], 0xffffffff
mov ecx, dword [rsp + 0x28]
mov r9, qword [rsp + 0x58]
add qword [rsp + 0x30], r9
mov dword [rsp + 0x38], ecx
jmp 0x6991a080
call r9
mov r9d, dword [rsp + 0x40]
mov ecx, 0xff
mov r8d, 1
sub r9d, r12d
add r9d, eax
movzx edx, r9b
cmp r9d, 0x100
cmovge edx, ecx
mov rcx, r14
call r13
mov edx, dword [rsp + 0xc8]
cmp dword [rsp + 0xd0], edx
jne 0x6991a203
nop dword [rax]
mov r15d, dword [rsp + 0x28]
mov ebx, dword [rsp + 0x38]
cmp r15d, ebx
je 0x699197cb
cmp dword [rsp + 0x48], 0xf
movsxd r14, r15d
je 0x6991a8a0
mov edi, dword [rsp + 0x48]
mov eax, dword [rsp + 0x38]
sub eax, dword [rsp + 0x28]
add r14, qword [rsp + 0x30]
mov r13d, edi
sub eax, 1
shl r13d, 4
lea rbp, [r14 + rax + 1]
add r13d, edi
jmp 0x6991a43c
movzx edx, al
mov r8d, 1
mov rcx, r14
add r14, 1
call r12
cmp r14, rbp
je 0x699197cb
mov r12, qword [rsi + 0x100]
mov edx, 1
mov rcx, r14
call qword [rsi + 0xf8]
add eax, r13d
cmp eax, 0xff
jle 0x6991a420
mov r8d, 1
mov edx, 0xff
jmp 0x6991a429
movsxd rdi, edi
add rdi, qword [rsp + 0x30]
test r13d, r13d
je 0x6991a4cb
sub r13d, 1
lea r14, [rdi + r13 + 1]
nop word cs:[rax + rax]
mov r12, qword [rsi + 0x100]
mov edx, 1
mov rcx, rdi
call qword [rsi + 0xf8]
add eax, 0x11
cmp eax, 0xff
jg 0x6991a588
movzx edx, al
mov r8d, 1
mov rcx, rdi
add rdi, 1
call r12
cmp rdi, r14
jne 0x6991a490
movsxd rdi, ebp
jmp 0x6991a1b0
and r9d, r14d
je 0x69919cb8
mov r8d, 0xffffffff
xor r14d, r14d
xor edi, edi
jmp 0x69919fc2
mov r8d, dword [rsp + 0x48]
movsxd rcx, dword [rsp + 0x28]
mov r11d, edi
mov rax, qword [rsp + 0x30]
mov r13d, r8d
shl r13d, 4
lea r14, [rax + rcx]
add r13d, r8d
sub r11d, ecx
je 0x6991a808
sub r11d, 1
lea r12, [r14 + r11 + 1]
mov qword [rsp + 0x28], r12
jmp 0x6991a556
movzx edx, al
mov r8d, 1
mov rcx, r14
add r14, 1
call r12
cmp r14, qword [rsp + 0x28]
je 0x6991a808
mov r12, qword [rsi + 0x100]
mov edx, 1
mov rcx, r14
call qword [rsi + 0xf8]
add eax, r13d
cmp eax, 0xff
jle 0x6991a538
mov r8d, 1
mov edx, 0xff
jmp 0x6991a541
mov r8d, 1
mov edx, 0xff
jmp 0x6991a4bc
movsxd r12, ebp
cmp r12, rdi
je 0x6991ab50
mov r8, qword [rsp + 0x30]
add r12, r8
add rdi, r8
mov r11, r12
sub r11, rdi
and r11d, 7
je 0x6991a6a4
cmp r11, 1
je 0x6991a683
cmp r11, 2
je 0x6991a66b
cmp r11, 3
je 0x6991a653
cmp r11, 4
je 0x6991a63b
cmp r11, 5
je 0x6991a623
cmp r11, 6
je 0x6991a60b
mov rcx, rdi
mov r8d, 1
mov edx, 0xff
add rdi, 1
call qword [rsi + 0x100]
mov rcx, rdi
mov r8d, 1
mov edx, 0xff
add rdi, 1
call qword [rsi + 0x100]
mov rcx, rdi
mov r8d, 1
mov edx, 0xff
add rdi, 1
call qword [rsi + 0x100]
mov rcx, rdi
mov r8d, 1
mov edx, 0xff
add rdi, 1
call qword [rsi + 0x100]
mov rcx, rdi
mov r8d, 1
mov edx, 0xff
add rdi, 1
call qword [rsi + 0x100]
mov rcx, rdi
mov r8d, 1
mov edx, 0xff
add rdi, 1
call qword [rsi + 0x100]
mov rcx, rdi
add rdi, 1
mov r8d, 1
mov edx, 0xff
call qword [rsi + 0x100]
cmp r12, rdi
je 0x6991a360
mov rcx, rdi
mov r8d, 1
mov edx, 0xff
call qword [rsi + 0x100]
lea rcx, [rdi + 1]
mov edx, 0xff
mov r8d, 1
call qword [rsi + 0x100]
lea rcx, [rdi + 2]
mov edx, 0xff
mov r8d, 1
call qword [rsi + 0x100]
lea rcx, [rdi + 3]
mov edx, 0xff
mov r8d, 1
call qword [rsi + 0x100]
lea rcx, [rdi + 4]
mov edx, 0xff
mov r8d, 1
call qword [rsi + 0x100]
lea rcx, [rdi + 5]
mov edx, 0xff
mov r8d, 1
call qword [rsi + 0x100]
lea rcx, [rdi + 6]
mov edx, 0xff
mov r8d, 1
call qword [rsi + 0x100]
lea rcx, [rdi + 7]
add rdi, 8
mov r8d, 1
mov edx, 0xff
call qword [rsi + 0x100]
cmp r12, rdi
jne 0x6991a6a4
jmp 0x6991a360
mov ecx, dword [rsp + 0x48]
movsxd r11, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov r14d, dword [rsp + 0x38]
mov r12d, ecx
shl r12d, 4
lea r13, [rdx + r11]
add r12d, ecx
sub r14d, r11d
je 0x6991a7f0
sub r14d, 1
lea r10, [r13 + r14 + 1]
mov qword [rsp + 0x28], r10
jmp 0x6991a7ba
movzx edx, al
mov r8d, 1
mov rcx, r13
add r13, 1
call r14
cmp r13, qword [rsp + 0x28]
je 0x6991a7f0
mov r14, qword [rsi + 0x100]
mov edx, 1
mov rcx, r13
call qword [rsi + 0xf8]
add eax, r12d
cmp eax, 0xff
jle 0x6991a7a0
mov r8d, 1
mov edx, 0xff
jmp 0x6991a7a9
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x48], 1
jmp 0x6991a4cb
mov dword [rsp + 0x28], edi
jmp 0x6991a17d
mov eax, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
sub eax, ebp
mov r13d, r10d
lea r14, [rcx + rdi]
sub eax, 1
shl r13d, 4
lea r8, [r14 + rax + 1]
add r13d, r10d
mov qword [rsp + 0x38], r8
jmp 0x6991a862
movzx edx, al
mov r8d, 1
mov rcx, r14
add r14, 1
call r12
cmp r14, qword [rsp + 0x38]
je 0x6991a890
mov r12, qword [rsi + 0x100]
mov edx, 1
mov rcx, r14
call qword [rsi + 0xf8]
add eax, r13d
cmp eax, 0xff
jle 0x6991a848
mov r8d, 1
mov edx, 0xff
jmp 0x6991a851
mov dword [rsp + 0x38], ebp
jmp 0x6991a190
movsxd r15, dword [rsp + 0x38]
cmp r15, r14
je 0x699197cb
mov r8, qword [rsp + 0x30]
add r15, r8
add r14, r8
mov r11, r15
sub r11, r14
and r11d, 7
je 0x6991a9a6
cmp r11, 1
je 0x6991a985
cmp r11, 2
je 0x6991a96d
cmp r11, 3
je 0x6991a955
cmp r11, 4
je 0x6991a93d
cmp r11, 5
je 0x6991a925
cmp r11, 6
je 0x6991a90d
mov rcx, r14
mov r8d, 1
mov edx, 0xff
add r14, 1
call qword [rsi + 0x100]
mov rcx, r14
mov r8d, 1
mov edx, 0xff
add r14, 1
call qword [rsi + 0x100]
mov rcx, r14
mov r8d, 1
mov edx, 0xff
add r14, 1
call qword [rsi + 0x100]
mov rcx, r14
mov r8d, 1
mov edx, 0xff
add r14, 1
call qword [rsi + 0x100]
mov rcx, r14
mov r8d, 1
mov edx, 0xff
add r14, 1
call qword [rsi + 0x100]
mov rcx, r14
mov r8d, 1
mov edx, 0xff
add r14, 1
call qword [rsi + 0x100]
mov rcx, r14
add r14, 1
mov r8d, 1
mov edx, 0xff
call qword [rsi + 0x100]
cmp r15, r14
je 0x699197cb
mov rcx, r14
mov r8d, 1
mov edx, 0xff
call qword [rsi + 0x100]
lea rcx, [r14 + 1]
mov edx, 0xff
mov r8d, 1
call qword [rsi + 0x100]
lea rcx, [r14 + 2]
mov edx, 0xff
mov r8d, 1
call qword [rsi + 0x100]
lea rcx, [r14 + 3]
mov edx, 0xff
mov r8d, 1
call qword [rsi + 0x100]
lea rcx, [r14 + 4]
mov edx, 0xff
mov r8d, 1
call qword [rsi + 0x100]
lea rcx, [r14 + 5]
mov edx, 0xff
mov r8d, 1
call qword [rsi + 0x100]
lea rcx, [r14 + 6]
mov edx, 0xff
mov r8d, 1
call qword [rsi + 0x100]
lea rcx, [r14 + 7]
add r14, 8
mov r8d, 1
mov edx, 0xff
call qword [rsi + 0x100]
cmp r15, r14
jne 0x6991a9a6
jmp 0x699197cb
movsxd r14, dword [rsp + 0x38]
mov edx, ebp
mov r9, r14
add r14, qword [rsp + 0x30]
sub edx, r9d
sub edx, 1
lea r13, [r14 + rdx + 1]
jmp 0x6991aa9b
movzx edx, al
mov r8d, 1
mov rcx, r14
add r14, 1
call rdi
cmp r14, r13
je 0x6991ab40
mov rdi, qword [rsi + 0x100]
mov edx, 1
mov rcx, r14
call qword [rsi + 0xf8]
add eax, 0x11
cmp eax, 0xff
jle 0x6991aa80
mov r8d, 1
mov edx, 0xff
jmp 0x6991aa89
mov edx, dword [rsp + 0x28]
movsxd r13, edi
add r13, qword [rsp + 0x30]
sub edx, edi
je 0x6991a17d
sub edx, 1
lea r14, [r13 + rdx + 1]
jmp 0x6991ab0b
movzx edx, al
mov r8d, 1
mov rcx, r13
add r13, 1
call rdi
cmp r13, r14
je 0x6991a17d
mov rdi, qword [rsi + 0x100]
mov edx, 1
mov rcx, r13
call qword [rsi + 0xf8]
add eax, 0x11
cmp eax, 0xff
jle 0x6991aaf0
mov r8d, 1
mov edx, 0xff
jmp 0x6991aaf9
movsxd rdi, ebp
jmp 0x6991a190
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x28], 0xffffffff
jmp 0x6991a373
mov rdi, r12
jmp 0x69919f6a