Function at 0x6d9438d0
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
movzx r8d, word [rcx + 8]
movzx ebp, word [rcx + 0xe]
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x58], rax
xor eax, eax
mov dword [rsp + 0x4c], edx
movzx ebx, word [rcx + 0xc]
movzx r10d, word [rcx + 0xa]
movzx r9d, word [rcx + 6]
mov esi, r8d
movzx edi, word [rcx + 4]
movzx eax, word [rcx + 2]
xor esi, ebp
test edx, edx
movzx r14d, word [rcx]
je 0x6d941950
mov r15d, esi
mov edx, ebx
mov word [rsp + 0x44], si
mov esi, r8d
xor r8d, r9d
xor edx, ebp
mov r13d, r8d
mov word [rsp + 0x2e], dx
mov r11d, r14d
mov edx, r14d
not word [rsp + 0x2e]
xor r14d, r13d
xor esi, ebx
mov word [rsp + 0x36], r14w
movzx r14d, word [rsp + 0x2e]
xor r15d, ebx
not esi
xor edx, eax
mov word [rsp + 0x2c], r15w
mov r15d, esi
xor r11d, r9d
xor r15d, edx
not r11d
xor ebx, eax
mov r12d, r15d
mov word [rsp + 0x30], r15w
mov r15d, r14d
xor r14d, edx
not word [rsp + 0x2c]
xor r15d, r11d
mov word [rsp + 0x3e], r14w
mov r14d, r11d
xor edx, r13d
xor r14d, ebx
mov word [rsp + 0x32], dx
mov word [rsp + 0x3c], r8w
mov word [rsp + 0x42], r14w
mov r8d, r15d
mov edx, r13d
movzx r14d, word [rsp + 0x2c]
xor eax, edi
xor r13d, r10d
mov word [rsp + 0x38], r15w
mov r15d, r12d
mov r12d, edi
xor r15d, r10d
mov edi, edx
movzx edx, word [rsp + 0x32]
mov word [rsp + 0x3a], r15w
mov r15d, eax
not word [rsp + 0x36]
xor r14d, r9d
xor r9d, r10d
not r15d
not r9d
not word [rsp + 0x3a]
xor edi, r15d
xor r12d, r10d
xor r9d, ebx
mov eax, r8d
not r12d
mov word [rsp + 0x34], r14w
xor eax, edi
mov r14d, ebp
xor edx, r9d
not r13d
xor r14d, r12d
mov word [rsp + 0x40], ax
xor r12d, esi
xor r15d, r8d
mov word [rsp + 0x46], dx
movzx r10d, word [rsp + 0x38]
movzx edx, word [rsp + 0x40]
movzx eax, word [rsp + 0x34]
and dx, word [rsp + 0x3c]
and r10w, word [rsp + 0x2e]
movzx ebx, word [rsp + 0x3e]
movzx r8d, word [rsp + 0x44]
movzx ebp, word [rsp + 0x32]
and r8w, word [rsp + 0x2c]
and eax, edi
xor eax, edx
xor r10d, edx
movzx edx, word [rsp + 0x30]
and ebx, r12d
and ebp, r9d
xor r8d, ebx
xor r8d, r15d
and edx, r14d
xor r8d, eax
xor edx, ebx
movzx ebx, word [rsp + 0x36]
xor edx, r11d
xor edx, r10d
and ebx, esi
xor ebx, ebp
xor bx, word [rsp + 0x46]
xor ebx, eax
movzx eax, word [rsp + 0x42]
and ax, word [rsp + 0x3a]
mov r15d, ebx
and r15d, r8d
mov r11d, r15d
xor eax, ebp
xor eax, r13d
xor eax, r10d
mov r10d, r15d
xor r11d, eax
mov r13d, eax
mov ebp, r11d
mov r11d, edx
xor r11d, r8d
and ebp, r11d
mov r11d, r15d
xor r15d, edx
xor r11d, r8d
and r8d, eax
xor ebp, edx
or r8d, edx
xor r11d, r8d
xor r13d, ebx
and edx, ebx
or edx, eax
xor r10d, ebx
mov r8d, r15d
xor r10d, edx
and r8d, r13d
and esi, r11d
mov r15d, r10d
xor r8d, eax
xor r15d, r11d
and r14d, r8d
mov r13d, r8d
mov ebx, r15d
mov r15d, ebp
mov word [rsp + 0x48], r14w
xor r15d, r11d
movzx r14d, word [rsp + 0x36]
xor r13d, ebp
mov edx, r15d
mov r15d, r8d
and r8w, word [rsp + 0x30]
and r9d, edx
xor r15d, r10d
and dx, word [rsp + 0x32]
mov word [rsp + 0x4a], r9w
movzx r9d, word [rsp + 0x3a]
mov eax, r15d
and r14d, r11d
and r12d, eax
mov r15d, r13d
mov word [rsp + 0x36], r14w
movzx r14d, word [rsp + 0x38]
xor r15d, ebx
mov word [rsp + 0x46], r12w
movzx r12d, word [rsp + 0x2c]
and edi, r15d
and r9d, ebp
and ax, word [rsp + 0x3e]
mov word [rsp + 0x30], dx
mov word [rsp + 0x3a], r9w
movzx r9d, word [rsp + 0x40]
and r14d, ebx
and bx, word [rsp + 0x2e]
and bp, word [rsp + 0x42]
and r12d, r10d
and r15w, word [rsp + 0x34]
and r10w, word [rsp + 0x44]
mov word [rsp + 0x38], r8w
and r9d, r13d
and r13w, word [rsp + 0x3c]
mov word [rsp + 0x2c], r13w
mov word [rsp + 0x2e], bx
mov edx, dword [rsp + 0x4c]
test edx, edx
jne 0x6d941a30
movzx r13d, word [rsp + 0x2c]
movzx edx, word [rsp + 0x4a]
xor r12d, eax
movzx r8d, word [rsp + 0x36]
xor r14w, word [rsp + 0x30]
movzx ebx, word [rsp + 0x46]
xor si, word [rsp + 0x3a]
xor bx, word [rsp + 0x48]
xor edx, r13d
mov r11d, r13d
xor edx, r15d
xor r11d, r15d
movzx r15d, word [rsp + 0x46]
xor r8d, r10d
xor eax, r8d
xor ebp, ebx
xor eax, edx
xor r15d, r12d
mov r13d, r15d
mov r15d, edi
xor edi, r14d
xor r15d, r9d
xor r9w, word [rsp + 0x2c]
xor r9w, word [rsp + 0x2e]
xor eax, r15d
mov word [rcx + 0xe], ax
mov eax, r11d
xor eax, r13d
xor r13d, edx
xor eax, r10d
xor r13d, r8d
xor r9d, r14d
movzx r14d, word [rsp + 0x3a]
xor eax, r15d
xor r14w, word [rsp + 0x48]
not eax
xor r9d, ebp
mov word [rcx + 0xc], ax
movzx eax, word [rsp + 0x36]
not r9d
mov word [rcx + 0xa], r9w
mov word [rcx + 8], r13w
xor r14d, r8d
xor r8w, word [rsp + 0x38]
xor r14d, r12d
xor eax, esi
xor r14d, r11d
mov word [rcx + 6], r14w
xor r8d, edx
xor r8d, edi
xor r8d, ebp
xor eax, r11d
xor si, word [rsp + 0x30]
xor eax, edi
mov word [rcx + 4], r8w
not eax
mov word [rcx + 2], ax
xor esi, ebx
xor esi, edx
not esi
mov word [rcx], si
mov rax, qword [rsp + 0x58]
xor rax, qword [0x6db6d1b0]
jne 0x6d941b13
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r11d, edi
xor r9d, eax
mov edx, edi
xor r11d, r8d
mov r12d, esi
xor edx, ebp
mov word [rsp + 0x34], r11w
mov r11d, r10d
xor r12d, r9d
xor r11d, ebx
xor ebx, edi
xor edi, r10d
movzx r10d, word [rsp + 0x34]
mov r15d, r12d
xor ebp, eax
xor r15d, r14d
xor r8d, r14d
xor eax, r14d
mov word [rsp + 0x2c], r15w
mov r15d, r11d
mov word [rsp + 0x30], r8w
xor r15d, r14d
xor word [rsp + 0x30], r11w
mov word [rsp + 0x3c], si
xor r10d, ebp
mov r13d, r15d
mov word [rsp + 0x36], r15w
mov word [rsp + 0x3e], r10w
mov r10d, r12d
mov r15d, r12d
xor r10d, ebx
xor ebx, r9d
xor r9d, edi
mov word [rsp + 0x40], bx
mov ebx, r13d
xor r15d, r11d
xor ebx, r9d
movzx r8d, word [rsp + 0x30]
mov word [rsp + 0x38], r15w
mov word [rsp + 0x3a], bx
mov r15d, r10d
mov r10d, ebx
mov ebx, esi
mov esi, eax
mov eax, edx
xor esi, r11d
movzx r11d, word [rsp + 0x38]
mov word [rsp + 0x32], bp
xor r8d, ebx
xor eax, esi
xor ebp, r9d
mov r13d, r8d
mov word [rsp + 0x2e], dx
mov word [rsp + 0x42], r8w
mov word [rsp + 0x44], ax
xor r13d, r10d
mov word [rsp + 0x46], bp
xor r11d, edx
xor edi, ebx
jmp 0x6d9416b3
xor r12w, word [rsp + 0x36]
xor r9d, r13d
movzx r13d, word [rsp + 0x30]
xor r10w, word [rsp + 0x48]
xor bp, word [rsp + 0x4a]
mov edx, r15d
xor edx, r14d
xor ax, word [rsp + 0x2e]
xor di, word [rsp + 0x36]
mov ebx, r12d
movzx r12d, word [rsp + 0x46]
xor r13d, esi
xor r12w, word [rsp + 0x3a]
xor esi, r14d
xor r8d, r10d
xor esi, r10d
xor r13d, r9d
mov word [rsp + 0x32], bx
xor r9d, ebx
xor esi, ebp
movzx ebx, word [rsp + 0x3a]
xor ebp, r8d
movzx r14d, word [rsp + 0x46]
xor bp, word [rsp + 0x30]
xor r8d, r12d
xor r12w, word [rsp + 0x32]
xor bx, word [rsp + 0x4a]
xor r14w, word [rsp + 0x48]
xor r8w, word [rsp + 0x2e]
mov r11d, r13d
xor edi, r13d
xor r11d, edx
xor esi, eax
xor ebp, edx
xor esi, r9d
xor r12d, edx
xor ebx, r11d
xor ebp, r9d
xor r8d, edi
xor r14d, r11d
xor r12d, r13d
xor r15w, word [rsp + 0x4a]
mov word [rcx + 6], r8w
mov word [rcx + 0xe], bx
mov word [rcx + 0xc], si
mov word [rcx + 0xa], bp
mov word [rcx + 8], r14w
mov word [rcx + 4], r12w
xor r15d, edi
movzx edi, word [rsp + 0x2c]
xor di, word [rsp + 0x38]
mov word [rcx + 2], r15w
mov r8d, edi
xor r8d, eax
mov word [rcx], r8w
jmp 0x6d941923
call fcn.6da2ca50
nop
nop dword [rax]
sub rsp, 0x38
xor r8d, r8d
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
movzx edx, word [rcx + r8]
mov eax, edx
mov r9d, edx
and eax, 0x10
and r9d, 0xe0
movzx eax, ax
sar r9d, 1
shl eax, 3
or eax, r9d
mov r9d, edx
and r9d, 0xf
or eax, r9d
mov r9d, edx
and r9d, 0x300
shl r9d, 2
or eax, r9d
mov r9d, edx
and r9d, 0xc00
sar r9d, 2
or eax, r9d
mov r9d, edx
and dx, 0x8000
and r9d, 0x7000
movzx edx, dx
add r9d, r9d
sar edx, 3
or eax, r9d
or eax, edx
mov word [rcx + r8], ax
add r8, 2
cmp r8, 0x10
jne 0x6d941b35
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d941bc0
add rsp, 0x38
ret
call fcn.6da2ca50
nop
nop word cs:[rax + rax]
sub rsp, 0x38
xor r8d, r8d
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
movzx edx, word [rcx + r8]
mov eax, edx
mov r9d, edx
and ax, 0x80
and r9d, 0x70
movzx eax, ax
add r9d, r9d
sar eax, 3
or eax, r9d
mov r9d, edx
and r9d, 0xf
or eax, r9d
mov r9d, edx
and r9d, 0x300
shl r9d, 2
or eax, r9d
mov r9d, edx
and r9d, 0xc00
sar r9d, 2
or eax, r9d
mov r9d, edx
and edx, 0xe000
and r9w, 0x1000
sar edx, 1
movzx r9d, r9w
shl r9d, 3
or eax, r9d
or eax, edx
mov word [rcx + r8], ax
add r8, 2
cmp r8, 0x10
jne 0x6d941be5
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d941c6f
add rsp, 0x38
ret
call fcn.6da2ca50
nop
nop word cs:[rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
movzx r9d, word [rcx]
movzx r8d, word [rcx + 2]
mov dword [rsp + 0x4c], edx
movzx edx, word [rcx + 4]
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x58], rax
xor eax, eax
movzx eax, word [rcx + 6]
movzx r11d, word [rcx + 8]
movzx r13d, r9w
movzx ebp, r8w
movzx r15d, word [rcx + 0xa]
mov r12d, r13d
mov r10d, r13d
mov esi, ebp
sar r10d, 4
shl r12d, 0xc
shl esi, 0xc
or r12d, r10d
xor r12d, r9d
mov r9d, ebp
sar r9d, 4
movzx r14d, r12w
or esi, r9d
xor esi, r8d
movzx edi, si
mov dword [rsp + 0x30], edi
movzx edi, dx
mov ebx, edi
mov r8d, edi
sar r8d, 4
shl ebx, 0xc
or ebx, r8d
mov word [rsp + 0x20], bx
xor word [rsp + 0x20], dx
movzx ebx, word [rsp + 0x20]
mov dword [rsp + 0x34], ebx
movzx ebx, ax
mov r9d, ebx
mov edx, ebx
sar edx, 4
shl r9d, 0xc
or r9d, edx
movzx edx, r11w
mov word [rsp + 0x24], r9w
xor word [rsp + 0x24], ax
mov r8d, edx
movzx eax, word [rsp + 0x24]
shl r8d, 0xc
mov r9d, r8d
movzx r8d, r15w
mov dword [rsp + 0x38], eax
mov eax, edx
sar eax, 4
or r9d, eax
mov eax, r8d
mov word [rsp + 0x28], r9w
mov r9d, r8d
xor word [rsp + 0x28], r11w
sar eax, 4
shl r9d, 0xc
movzx r11d, word [rsp + 0x28]
or r9d, eax
movzx eax, word [rcx + 0xc]
mov word [rsp + 0x2e], r9w
xor word [rsp + 0x2e], r15w
movzx r15d, word [rsp + 0x2e]
mov dword [rsp + 0x3c], r11d
mov r11d, eax
mov r9d, eax
shl r11d, 0xc
sar r9d, 4
mov dword [rsp + 0x40], r15d
mov r15d, r11d
movzx r11d, word [rcx + 0xe]
or r15d, r9d
xor r15w, word [rcx + 0xc]
mov r10d, r11d
movzx r9d, r15w
shl r10d, 0xc
mov dword [rsp + 0x44], r9d
mov r9d, r11d
sar r9d, 4
or r9d, r10d
xor r9w, word [rcx + 0xe]
movzx r10d, r9w
mov dword [rsp + 0x48], r10d
mov r10d, r14d
shl r10d, 0xc
sar r14d, 4
or r14d, r10d
mov r10d, r13d
sar r13d, 0xc
shl r10d, 4
or r13d, r10d
mov r10d, dword [rsp + 0x30]
xor r14d, r13d
mov r13d, r12d
xor r13d, r9d
xor r14d, r9d
mov r12d, r10d
sar r10d, 4
mov word [rcx], r14w
shl r12d, 0xc
or r12d, r10d
mov r10d, ebp
sar ebp, 0xc
shl r10d, 4
or ebp, r10d
movzx r10d, word [rsp + 0x20]
xor r12d, ebp
xor r13d, r12d
mov r12d, dword [rsp + 0x34]
mov word [rcx + 2], r13w
xor r10d, r9d
mov ebp, r12d
sar r12d, 4
shl ebp, 0xc
or r12d, ebp
mov ebp, edi
sar edi, 0xc
shl ebp, 4
or edi, ebp
xor r12d, edi
mov edi, dword [rsp + 0x38]
xor r12d, esi
mov word [rcx + 4], r12w
mov esi, edi
sar edi, 4
shl esi, 0xc
or esi, edi
mov edi, ebx
sar ebx, 0xc
shl edi, 4
or ebx, edi
xor esi, ebx
xor r10d, esi
mov esi, dword [rsp + 0x3c]
xor r9w, word [rsp + 0x24]
mov word [rcx + 6], r10w
mov ebx, esi
sar esi, 4
shl ebx, 0xc
or ebx, esi
mov esi, edx
sar edx, 0xc
shl esi, 4
or edx, esi
xor ebx, edx
mov edx, dword [rsp + 0x40]
xor r9d, ebx
mov word [rcx + 8], r9w
mov ebx, edx
sar edx, 4
shl ebx, 0xc
or edx, ebx
mov ebx, r8d
sar r8d, 0xc
shl ebx, 4
or r8d, ebx
xor edx, r8d
mov r8d, dword [rsp + 0x44]
xor dx, word [rsp + 0x28]
mov ebx, r8d
sar r8d, 4
shl ebx, 0xc
mov word [rcx + 0xa], dx
or r8d, ebx
mov ebx, eax
sar eax, 0xc
shl ebx, 4
or eax, ebx
xor r8d, eax
mov eax, dword [rsp + 0x48]
xor r8w, word [rsp + 0x2e]
mov ebx, eax
sar eax, 4
shl ebx, 0xc
mov word [rcx + 0xc], r8w
or eax, ebx
mov ebx, r11d
sar r11d, 0xc
shl ebx, 4
or r11d, ebx
xor eax, r11d
mov r11d, dword [rsp + 0x4c]
xor eax, r15d
mov word [rcx + 0xe], ax
test r11d, r11d
je 0x6d942042
movzx esi, r12w
movzx r11d, r8w
movzx ebx, r10w
mov dword [rsp + 0x24], esi
mov esi, r11d
sar r11d, 8
shl esi, 8
mov dword [rsp + 0x28], ebx
mov ebx, r11d
or ebx, esi
movzx esi, ax
movzx r15d, r14w
mov r11d, esi
xor ebx, r8d
sar esi, 8
shl r11d, 8
movzx edi, r13w
movzx ebp, r9w
or r11d, esi
mov esi, ebx
mov dword [rsp + 0x20], edi
xor esi, r14d
xor r11d, eax
movzx edi, dx
mov word [rcx], si
mov esi, ebx
xor esi, r11d
xor esi, r13d
mov word [rcx + 2], si
mov esi, r15d
sar r15d, 8
shl esi, 8
or r15d, esi
xor r15d, r14d
mov r14d, dword [rsp + 0x20]
xor r15d, r11d
xor r15d, r12d
mov esi, r14d
sar r14d, 8
mov word [rcx + 4], r15w
shl esi, 8
or r14d, esi
xor r14d, r13d
mov r13d, dword [rsp + 0x24]
xor r14d, ebx
xor r14d, r10d
mov esi, r13d
sar r13d, 8
mov word [rcx + 6], r14w
shl esi, 8
or r13d, esi
xor r13d, r12d
mov r12d, dword [rsp + 0x28]
xor r13d, ebx
xor r13d, r9d
mov ebx, r12d
sar r12d, 8
xor r13d, r11d
shl ebx, 8
mov word [rcx + 8], r13w
or r12d, ebx
xor r12d, r10d
mov r10d, ebp
sar ebp, 8
shl r10d, 8
xor r12d, r11d
or ebp, r10d
xor r12d, edx
xor ebp, r9d
mov word [rcx + 0xa], r12w
xor ebp, r8d
mov r8d, edi
sar edi, 8
shl r8d, 8
mov word [rcx + 0xc], bp
or edi, r8d
xor edi, edx
xor edi, eax
mov word [rcx + 0xe], di
mov rax, qword [rsp + 0x58]
xor rax, qword [0x6db6d1b0]
jne 0x6d942061
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call fcn.6da2ca50
nop
nop word [rax + rax]
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
mov r11d, 1
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x48], rax
xor eax, eax
test r9d, r9d
mov qword [rsp + 0x20], 0
mov rsi, rcx
mov edi, r8d
mov qword [rsp + 0x28], 0
mov word [rsp + 0x20], r11w
js 0x6d9420de
movsxd rax, r9d
shl rax, 4
lea r8, [rsi + rax + 0x10]
xor eax, eax
xor r10d, r10d
mov word [rcx + rax], r10w
add rax, 2
cmp rax, 0x10
jne 0x6d9420c3
add rcx, 0x10
cmp rcx, r8
jne 0x6d9420c1
xor ebp, ebp
test edi, edi
jle 0x6d94213a
mov ebx, ebp
mov ecx, ebp
xor r8d, r8d
sar ebx, 2
and ecx, 3
movsxd rbx, ebx
shl rbx, 4
add rbx, rsi
movzx r11d, byte [rdx + r8]
xor eax, eax
mov r10d, r11d
movzx r11d, r11b
and r10d, 1
shr r11d, 1
shl r10d, cl
or word [rbx + rax], r10w
add rax, 2
cmp rax, 0x10
jne 0x6d942102
add r8, 1
add ecx, 4
cmp r8, 4
jne 0x6d9420fb
add ebp, 1
add rdx, 4
cmp ebp, edi
jne 0x6d9420e4
lea r8d, [rdi - 1]
lea rbx, [rsp + 0x30]
xor eax, eax
mov ecx, r8d
sar r8d, 2
movsxd r8, r8d
and ecx, 3
shl r8, 4
add r8, rsi
nop dword [rax]
movzx edx, word [r8 + rax]
sar edx, cl
and dx, 0x1111
mov word [rbx + rax], dx
add rax, 2
cmp rax, 0x10
jne 0x6d942160
lea eax, [r9*4 + 4]
cmp edi, eax
jge 0x6d94223e
mov edx, edi
xor r13d, r13d
xor r12d, r12d
not edx
add eax, edx
lea rbp, [rax + 1]
nop word [rax + rax]
test r12d, r12d
lea r14d, [rdi + r13]
je 0x6d94225f
cmp r12d, 4
je 0x6d9422ec
add r12d, 1
mov eax, 0
mov r9d, r13d
cmp edi, r12d
mov r10d, r14d
mov r11d, r13d
cmove r12d, eax
sar r9d, 2
sar r14d, 2
movsxd r9, r9d
movsxd r8, r14d
and r11d, 3
shl r9, 4
shl r8, 4
and r10d, 3
add r9, rsi
add r8, rsi
xor eax, eax
nop word cs:[rax + rax]
movzx edx, word [r9 + rax]
mov ecx, r11d
sar edx, cl
mov ecx, r10d
and dx, 0x1111
xor dx, word [rbx + rax]
mov word [rbx + rax], dx
and edx, 0x1111
shl edx, cl
or word [r8 + rax], dx
add rax, 2
cmp rax, 0x10
jne 0x6d942200
add r13, 1
cmp r13, rbp
jne 0x6d9421a0
mov rax, qword [rsp + 0x48]
xor rax, qword [0x6db6d1b0]
jne 0x6d942304
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
xor edx, edx
mov rcx, rbx
call fcn.6d941560
lea r8, [rsp + 0x20]
xor eax, eax
movzx ecx, word [rbx + rax]
mov edx, ecx
sar ecx, 4
shl edx, 0xc
or edx, ecx
xor dx, word [r8 + rax]
mov word [rbx + rax], dx
add rax, 2
cmp rax, 0x10
jne 0x6d942270
movzx edx, word [rsp + 0x2c]
movzx eax, word [rsp + 0x2e]
mov word [rsp + 0x2e], dx
movzx edx, word [rsp + 0x2a]
mov word [rsp + 0x2c], dx
movzx edx, word [rsp + 0x28]
mov word [rsp + 0x2a], dx
mov edx, eax
xor dx, word [rsp + 0x26]
mov word [rsp + 0x28], dx
mov edx, eax
xor dx, word [rsp + 0x24]
mov word [rsp + 0x26], dx
movzx edx, word [rsp + 0x22]
mov word [rsp + 0x24], dx
mov edx, eax
xor dx, word [rsp + 0x20]
mov word [rsp + 0x20], ax
mov word [rsp + 0x22], dx
jmp 0x6d9421b7
cmp edi, 6
jle 0x6d9421b7
xor edx, edx
mov rcx, rbx
call fcn.6d941560
jmp 0x6d9421b7
call fcn.6da2ca50
nop
nop word [rax + rax]
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
lea rbx, [rsp + 0x20]
mov rsi, rcx
mov r12d, edx
lea rdi, [rsi + 0x10]
mov rdx, r9
mov rbp, r8
mov rcx, rbx
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x38], rax
xor eax, eax
call fcn.6d941450
xor eax, eax
nop dword [rax + rax]
movzx edx, word [rsi + rax]
xor word [rbx + rax], dx
add rax, 2
cmp rax, 0x10
jne 0x6d942360
cmp r12d, 1
jle 0x6d9423d4
mov rsi, rdi
mov r13d, 1
xor edx, edx
mov rcx, rbx
call fcn.6d941560
mov rcx, rbx
call 0x6d941b20
xor edx, edx
mov rcx, rbx
call 0x6d941c80
lea rdx, [rsi + 0x10]
xor eax, eax
movzx r9d, word [rsi + rax]
xor word [rbx + rax], r9w
add rax, 2
cmp rax, 0x10
jne 0x6d9423a3
add r13d, 1
cmp r13d, r12d
je 0x6d9423c5
mov rsi, rdx
jmp 0x6d942381
lea eax, [r13 - 2]
add rax, 1
shl rax, 4
add rdi, rax
xor edx, edx
mov rcx, rbx
call fcn.6d941560
mov rcx, rbx
call 0x6d941b20
xor eax, eax
nop dword [rax + rax]
movzx edx, word [rdi + rax]
xor word [rbx + rax], dx
add rax, 2
cmp rax, 0x10
jne 0x6d9423f0
mov rdx, rbx
mov rcx, rbp
call fcn.6d9414d0
mov rax, qword [rsp + 0x38]
xor rax, qword [0x6db6d1b0]
jne 0x6d942428
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
call fcn.6da2ca50
nop
nop
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x38], rax
xor eax, eax
movsxd rax, edx
lea rbx, [rsp + 0x20]
mov r13d, edx
shl rax, 4
mov rdx, r9
mov rbp, r8
lea rsi, [rcx + rax]
mov rcx, rbx
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
lea rdi, [rsi - 0x10]
call fcn.6d941450
xor eax, eax
movzx ecx, word [rsi + rax]
xor word [rbx + rax], cx
add rax, 2
cmp rax, 0x10
jne 0x6d942485
cmp r13d, 1
jle 0x6d94250a
sub r13d, 2
mov rax, r13
shl rax, 4
sub rsi, rax
lea r12, [rsi - 0x20]
mov rsi, rdi
mov rcx, rbx
lea r14, [rsi - 0x10]
call 0x6d941bd0
mov edx, 1
mov rcx, rbx
call fcn.6d941560
xor eax, eax
nop dword [rax]
movzx edx, word [rsi + rax]
xor word [rbx + rax], dx
add rax, 2
cmp rax, 0x10
jne 0x6d9424d0
mov edx, 1
mov rcx, rbx
call 0x6d941c80
cmp r14, r12
je 0x6d942500
mov rsi, r14
jmp 0x6d9424b2
not r13
shl r13, 4
add rdi, r13
mov rcx, rbx
call 0x6d941bd0
mov edx, 1
mov rcx, rbx
call fcn.6d941560
xor eax, eax
movzx edx, word [rdi + rax]
xor word [rbx + rax], dx
add rax, 2
cmp rax, 0x10
jne 0x6d942521
mov rdx, rbx
mov rcx, rbp
call fcn.6d9414d0
mov rax, qword [rsp + 0x38]
xor rax, qword [0x6db6d1b0]
jne 0x6d94255b
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
call fcn.6da2ca50
nop
nop word cs:[rax + rax]
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d9425a5
mov r9d, 0xa
mov r8d, 4
add rsp, 0x38
jmp 0x6d942070
call fcn.6da2ca50
nop
nop dword [rax + rax]
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test rdx, rdx
mov rbp, rcx
mov rdi, r8
mov rsi, r9
mov rbx, rdx
je 0x6d942601
nop word [rax + rax]
mov r9, rsi
mov r8, rdi
mov edx, 0xa
mov rcx, rbp
add rdi, 0x10
add rsi, 0x10
call 0x6d942310
sub rbx, 1
jne 0x6d9425e0
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942618
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
ret
call fcn.6da2ca50
nop
nop
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test rdx, rdx
mov rbp, rcx
mov rdi, r8
mov rsi, r9
mov rbx, rdx
je 0x6d942671
nop word [rax + rax]
mov r9, rsi
mov r8, rdi
mov edx, 0xa
mov rcx, rbp
add rsi, 0x10
add rdi, 0x10
call 0x6d942430
sub rbx, 1
jne 0x6d942650
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942688
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
ret
call fcn.6da2ca50
nop
nop
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d9426c5
mov r9d, 0xc
mov r8d, 6
add rsp, 0x38
jmp 0x6d942070
call fcn.6da2ca50
nop
nop dword [rax + rax]
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test rdx, rdx
mov rbp, rcx
mov rdi, r8
mov rsi, r9
mov rbx, rdx
je 0x6d942721
nop word [rax + rax]
mov r9, rsi
mov r8, rdi
mov edx, 0xc
mov rcx, rbp
add rdi, 0x10
add rsi, 0x10
call 0x6d942310
sub rbx, 1
jne 0x6d942700
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942738
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
ret
call fcn.6da2ca50
nop
nop
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test rdx, rdx
mov rbp, rcx
mov rdi, r8
mov rsi, r9
mov rbx, rdx
je 0x6d942791
nop word [rax + rax]
mov r9, rsi
mov r8, rdi
mov edx, 0xc
mov rcx, rbp
add rsi, 0x10
add rdi, 0x10
call 0x6d942430
sub rbx, 1
jne 0x6d942770
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d9427a8
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
ret
call fcn.6da2ca50
nop
nop
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d9427e5
mov r9d, 0xe
mov r8d, 8
add rsp, 0x38
jmp 0x6d942070
call fcn.6da2ca50
nop
nop dword [rax + rax]
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test rdx, rdx
mov rbp, rcx
mov rdi, r8
mov rsi, r9
mov rbx, rdx
je 0x6d942841
nop word [rax + rax]
mov r9, rsi
mov r8, rdi
mov edx, 0xe
mov rcx, rbp
add rdi, 0x10
add rsi, 0x10
call 0x6d942310
sub rbx, 1
jne 0x6d942820
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942858
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
ret
call fcn.6da2ca50
nop
nop
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test rdx, rdx
mov rbp, rcx
mov rdi, r8
mov rsi, r9
mov rbx, rdx
je 0x6d9428b1
nop word [rax + rax]
mov r9, rsi
mov r8, rdi
mov edx, 0xe
mov rcx, rbp
add rsi, 0x10
add rdi, 0x10
call 0x6d942430
sub rbx, 1
jne 0x6d942890
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d9428c8
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
ret
call fcn.6da2ca50
nop
nop
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942905
mov r9d, 0xa
mov r8d, 4
add rsp, 0x38
jmp 0x6d942070
call fcn.6da2ca50
nop
nop
nop dword [rax]
push rdi
sub rsp, 0x30
mov edx, 0xb0
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test cl, 1
mov rdi, rcx
jne 0x6d942980
test dil, 2
jne 0x6d942990
test dil, 4
jne 0x6d9429a3
mov ecx, edx
xor eax, eax
shr ecx, 3
test dl, 4
rep stosq qword [rdi], rax
je 0x6d942955
mov dword [rdi], 0
add rdi, 4
test dl, 2
je 0x6d942964
xor eax, eax
add rdi, 2
mov word [rdi - 2], ax
and edx, 1
je 0x6d94296c
mov byte [rdi], 0
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d9429b2
add rsp, 0x30
pop rdi
ret
add rdi, 1
mov byte [rcx], 0
mov dl, 0xaf
test dil, 2
je 0x6d942936
nop
xor ecx, ecx
add rdi, 2
sub edx, 2
mov word [rdi - 2], cx
test dil, 4
je 0x6d94293c
mov dword [rdi], 0
sub edx, 4
add rdi, 4
jmp 0x6d94293c
call fcn.6da2ca50
nop
nop dword [rax + rax]
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d9429f4
mov r9, r8
mov r8, rdx
mov edx, 0xa
add rsp, 0x38
jmp 0x6d942310
call fcn.6da2ca50
nop
nop word [rax + rax]
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942a35
mov r9d, 0xa
mov r8d, 4
add rsp, 0x38
jmp 0x6d942070
call fcn.6da2ca50
nop
nop
nop dword [rax]
push rdi
sub rsp, 0x30
mov edx, 0xb0
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test cl, 1
mov rdi, rcx
jne 0x6d942ab0
test dil, 2
jne 0x6d942ac0
test dil, 4
jne 0x6d942ad3
mov ecx, edx
xor eax, eax
shr ecx, 3
test dl, 4
rep stosq qword [rdi], rax
je 0x6d942a85
mov dword [rdi], 0
add rdi, 4
test dl, 2
je 0x6d942a94
xor eax, eax
add rdi, 2
mov word [rdi - 2], ax
and edx, 1
je 0x6d942a9c
mov byte [rdi], 0
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942ae2
add rsp, 0x30
pop rdi
ret
add rdi, 1
mov byte [rcx], 0
mov dl, 0xaf
test dil, 2
je 0x6d942a66
nop
xor ecx, ecx
add rdi, 2
sub edx, 2
mov word [rdi - 2], cx
test dil, 4
je 0x6d942a6c
mov dword [rdi], 0
sub edx, 4
add rdi, 4
jmp 0x6d942a6c
call fcn.6da2ca50
nop
nop dword [rax + rax]
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942b24
mov r9, r8
mov r8, rdx
mov edx, 0xa
add rsp, 0x38
jmp 0x6d942430
call fcn.6da2ca50
nop
nop word [rax + rax]
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942b65
mov r9d, 0xe
mov r8d, 8
add rsp, 0x38
jmp 0x6d942070
call fcn.6da2ca50
nop
nop
nop dword [rax]
push rdi
sub rsp, 0x30
mov edx, 0xf0
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test cl, 1
mov rdi, rcx
jne 0x6d942be0
test dil, 2
jne 0x6d942bf0
test dil, 4
jne 0x6d942c03
mov ecx, edx
xor eax, eax
shr ecx, 3
test dl, 4
rep stosq qword [rdi], rax
je 0x6d942bb5
mov dword [rdi], 0
add rdi, 4
test dl, 2
je 0x6d942bc4
xor eax, eax
add rdi, 2
mov word [rdi - 2], ax
and edx, 1
je 0x6d942bcc
mov byte [rdi], 0
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942c12
add rsp, 0x30
pop rdi
ret
add rdi, 1
mov byte [rcx], 0
mov dl, 0xef
test dil, 2
je 0x6d942b96
nop
xor ecx, ecx
add rdi, 2
sub edx, 2
mov word [rdi - 2], cx
test dil, 4
je 0x6d942b9c
mov dword [rdi], 0
sub edx, 4
add rdi, 4
jmp 0x6d942b9c
call fcn.6da2ca50
nop
nop dword [rax + rax]
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942c54
mov r9, r8
mov r8, rdx
mov edx, 0xe
add rsp, 0x38
jmp 0x6d942310
call fcn.6da2ca50
nop
nop word [rax + rax]
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942c95
mov r9d, 0xe
mov r8d, 8
add rsp, 0x38
jmp 0x6d942070
call fcn.6da2ca50
nop
nop
nop dword [rax]
push rdi
sub rsp, 0x30
mov edx, 0xf0
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test cl, 1
mov rdi, rcx
jne 0x6d942d10
test dil, 2
jne 0x6d942d20
test dil, 4
jne 0x6d942d33
mov ecx, edx
xor eax, eax
shr ecx, 3
test dl, 4
rep stosq qword [rdi], rax
je 0x6d942ce5
mov dword [rdi], 0
add rdi, 4
test dl, 2
je 0x6d942cf4
xor eax, eax
add rdi, 2
mov word [rdi - 2], ax
and edx, 1
je 0x6d942cfc
mov byte [rdi], 0
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942d42
add rsp, 0x30
pop rdi
ret
add rdi, 1
mov byte [rcx], 0
mov dl, 0xef
test dil, 2
je 0x6d942cc6
nop
xor ecx, ecx
add rdi, 2
sub edx, 2
mov word [rdi - 2], cx
test dil, 4
je 0x6d942ccc
mov dword [rdi], 0
sub edx, 4
add rdi, 4
jmp 0x6d942ccc
call fcn.6da2ca50
nop
nop dword [rax + rax]
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942d84
mov r9, r8
mov r8, rdx
mov edx, 0xe
add rsp, 0x38
jmp 0x6d942430
call fcn.6da2ca50
nop
nop word [rax + rax]
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rsi, r8
mov edi, r9d
mov r8d, 8
mov r9d, 0xe
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
call 0x6d942070
mov byte [rbx + 0xf0], dil
mov rax, qword [rsi]
mov qword [rbx + 0xf1], rax
mov rax, qword [rsi + 8]
mov qword [rbx + 0xf9], rax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d942df1
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
call fcn.6da2ca50
nop
nop
nop dword [rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x58], rax
xor eax, eax
movzx eax, byte [rcx + 0xf0]
test rdx, rdx
mov rsi, rcx
mov rdi, rdx
mov qword [rsp + 0x28], r9
mov byte [rsp + 0x36], al
je 0x6d942f90
test r8d, r8d
je 0x6d942f90
test r9, r9
je 0x6d942f90
mov eax, r8d
sar eax, 0x1f
shr eax, 0x1c
lea ebx, [r8 + rax]
and ebx, 0xf
sub ebx, eax
test ebx, ebx
mov r13d, ebx
setne byte [rsp + 0x37]
jne 0x6d942fb1
mov rax, qword [rsi + 0xf1]
mov rdx, qword [rsi + 0xf9]
cmp r8d, 0xf
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
jle 0x6d942fc0
lea eax, [r8 - 0x10]
mov rcx, qword [rsp + 0x28]
lea r15, [rsp + 0x40]
mov r14, rdi
mov dword [rsp + 0x30], eax
shr dword [rsp + 0x30], 4
mov eax, dword [rsp + 0x30]
mov r12, rcx
mov qword [rsp + 0x38], rax
shl rax, 4
lea rbp, [rcx + rax + 0x10]
xor eax, eax
movzx edx, byte [r15 + rax]
xor dl, byte [r14 + rax]
mov byte [r15 + rax], dl
add rax, 1
cmp rax, 0x10
jne 0x6d942ec4
mov rdx, r12
mov r8, r15
mov rcx, rsi
call 0x6d942c20
mov rax, qword [r12]
mov rdx, qword [r12 + 8]
add r12, 0x10
add r14, 0x10
cmp r12, rbp
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
jne 0x6d942ec2
mov r15, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x30]
add r15, 1
add r14d, 1
shl r15, 4
shl r14d, 4
add rdi, r15
cmp byte [rsp + 0x36], 0
mov eax, r14d
je 0x6d942f92
cmp byte [rsp + 0x37], 0
lea r15, [rsp + 0x40]
je 0x6d942f57
lea r15, [rsp + 0x40]
xor edx, edx
movzx eax, byte [r15 + rdx]
xor al, byte [rdi + rdx]
mov byte [r15 + rdx], al
add rdx, 1
cmp ebx, edx
jne 0x6d942f43
mov ecx, 0x10
sub ecx, ebx
nop
movsxd rax, r13d
add r13d, 1
xor byte [rsp + rax + 0x40], cl
cmp r13d, 0x10
jne 0x6d942f60
movsxd rdx, r14d
add rdx, qword [rsp + 0x28]
mov r8, r15
mov rcx, rsi
call 0x6d942c20
lea eax, [r14 + 0x10]
jmp 0x6d942f92
xor eax, eax
mov rcx, qword [rsp + 0x58]
xor rcx, qword [0x6db6d1b0]
jne 0x6d942fc8
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
cmp byte [rsp + 0x36], 1
je 0x6d942e71
jmp 0x6d942f92
xor r14d, r14d
jmp 0x6d942f26
nop dword [rax + rax]
call fcn.6da2ca50
nop
nop word cs:[rax + rax]
push rdi
sub rsp, 0x30
mov edx, 0xf0
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test cl, 1
mov qword [rcx + 0xf1], 0
mov qword [rcx + 0xf9], 0
mov rdi, rcx
jne 0x6d943070
test dil, 2
jne 0x6d943080
test dil, 4
jne 0x6d943093
mov ecx, edx
xor eax, eax
shr ecx, 3
test dl, 4
rep stosq qword [rdi], rax
je 0x6d94303b
mov dword [rdi], 0
add rdi, 4
test dl, 2
je 0x6d94304a
xor eax, eax
add rdi, 2
mov word [rdi - 2], ax
and edx, 1
je 0x6d943052
mov byte [rdi], 0
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d9430a2
add rsp, 0x30
pop rdi
ret
add rdi, 1
mov byte [rcx], 0
mov dl, 0xef
test dil, 2
je 0x6d94301c
nop
xor ecx, ecx
add rdi, 2
sub edx, 2
mov word [rdi - 2], cx
test dil, 4
je 0x6d943022
mov dword [rdi], 0
sub edx, 4
add rdi, 4
jmp 0x6d943022
call fcn.6da2ca50
nop
nop dword [rax + rax]
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rsi, r8
mov edi, r9d
mov r8d, 8
mov r9d, 0xe
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
call 0x6d942070
mov byte [rbx + 0xf0], dil
mov rax, qword [rsi]
mov qword [rbx + 0xf1], rax
mov rax, qword [rsi + 8]
mov qword [rbx + 0xf9], rax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d943111
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
call fcn.6da2ca50
nop
nop
nop dword [rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
movzx r13d, byte [rcx + 0xf0]
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test rdx, rdx
mov rbp, rcx
mov r12d, r8d
mov rbx, r9
je 0x6d943251
test r8d, r8d
je 0x6d943251
test r9, r9
je 0x6d943251
test r8b, 0xf
jne 0x6d943232
lea rsi, [rcx + 0xf1]
mov r14, rdx
xor r15d, r15d
mov r8, r14
mov rdx, rbx
mov rcx, rbp
call 0x6d942d50
mov rdi, r14
xor eax, eax
movzx r10d, byte [rsi + rax]
xor r10b, byte [rbx + rax]
mov byte [rbx + rax], r10b
add rax, 1
cmp rax, 0x10
jne 0x6d943194
add r15d, 0x10
add rbx, 0x10
add r14, 0x10
cmp r12d, r15d
je 0x6d9431c1
mov rsi, rdi
jmp 0x6d943181
test r13b, r13b
mov eax, 1
je 0x6d94322e
lea eax, [r10 - 1]
mov r11d, 0x10
mov edx, 0x10
cmp al, 0xf
seta r8b
sub rbx, 2
mov eax, r8d
xor eax, 1
imul eax, r10d
movzx esi, al
sub r11d, esi
jmp 0x6d943208
movzx r10d, byte [rbx]
sub rbx, 1
cmp edx, r11d
setg cl
cmp al, r10b
setne r9b
and ecx, r9d
or r8d, ecx
sub edx, 1
jne 0x6d943200
mov r15d, r12d
xor r8d, 1
sub r15d, esi
movzx eax, r8b
imul eax, r15d
mov rdi, qword [rsp + 0x28]
xor rdi, qword [0x6db6d1b0]
jne 0x6d943255
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
jmp 0x6d943232
call fcn.6da2ca50
nop
nop
nop dword [rax]
push rdi
sub rsp, 0x30
mov edx, 0xf0
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test cl, 1
mov qword [rcx + 0xf1], 0
mov qword [rcx + 0xf9], 0
mov rdi, rcx
jne 0x6d9432f0
test dil, 2
jne 0x6d943300
test dil, 4
jne 0x6d943313
mov ecx, edx
xor eax, eax
shr ecx, 3
test dl, 4
rep stosq qword [rdi], rax
je 0x6d9432bb
mov dword [rdi], 0
add rdi, 4
test dl, 2
je 0x6d9432ca
xor eax, eax
add rdi, 2
mov word [rdi - 2], ax
and edx, 1
je 0x6d9432d2
mov byte [rdi], 0
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d943322
add rsp, 0x30
pop rdi
ret
add rdi, 1
mov byte [rcx], 0
mov dl, 0xef
test dil, 2
je 0x6d94329c
nop
xor ecx, ecx
add rdi, 2
sub edx, 2
mov word [rdi - 2], cx
test dil, 4
je 0x6d9432a2
mov dword [rdi], 0
sub edx, 4
add rdi, 4
jmp 0x6d9432a2
call fcn.6da2ca50
nop
nop dword [rax + rax]
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rsi, r8
mov edi, r9d
mov r8d, 4
mov r9d, 0xa
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
call 0x6d942070
mov byte [rbx + 0xb0], dil
mov rax, qword [rsi]
mov qword [rbx + 0xb1], rax
mov rax, qword [rsi + 8]
mov qword [rbx + 0xb9], rax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d943391
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
call fcn.6da2ca50
nop
nop
nop dword [rax + rax]
push rdi
sub rsp, 0x30
mov edx, 0xb0
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test cl, 1
mov qword [rcx + 0xb1], 0
mov qword [rcx + 0xb9], 0
mov rdi, rcx
jne 0x6d943430
test dil, 2
jne 0x6d943440
test dil, 4
jne 0x6d943453
mov ecx, edx
xor eax, eax
shr ecx, 3
test dl, 4
rep stosq qword [rdi], rax
je 0x6d9433fb
mov dword [rdi], 0
add rdi, 4
test dl, 2
je 0x6d94340a
xor eax, eax
add rdi, 2
mov word [rdi - 2], ax
and edx, 1
je 0x6d943412
mov byte [rdi], 0
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d943462
add rsp, 0x30
pop rdi
ret
add rdi, 1
mov byte [rcx], 0
mov dl, 0xaf
test dil, 2
je 0x6d9433dc
nop
xor ecx, ecx
add rdi, 2
sub edx, 2
mov word [rdi - 2], cx
test dil, 4
je 0x6d9433e2
mov dword [rdi], 0
sub edx, 4
add rdi, 4
jmp 0x6d9433e2
call fcn.6da2ca50
nop
nop dword [rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x58], rax
xor eax, eax
movzx eax, byte [rcx + 0xb0]
test rdx, rdx
mov rsi, rcx
mov rdi, rdx
mov qword [rsp + 0x28], r9
mov byte [rsp + 0x36], al
je 0x6d943600
test r8d, r8d
je 0x6d943600
test r9, r9
je 0x6d943600
mov eax, r8d
sar eax, 0x1f
shr eax, 0x1c
lea ebx, [r8 + rax]
and ebx, 0xf
sub ebx, eax
test ebx, ebx
mov r13d, ebx
setne byte [rsp + 0x37]
jne 0x6d943621
mov rax, qword [rsi + 0xb1]
mov rdx, qword [rsi + 0xb9]
cmp r8d, 0xf
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
jle 0x6d943630
lea eax, [r8 - 0x10]
mov rcx, qword [rsp + 0x28]
lea r15, [rsp + 0x40]
mov r14, rdi
mov dword [rsp + 0x30], eax
shr dword [rsp + 0x30], 4
mov eax, dword [rsp + 0x30]
mov r12, rcx
mov qword [rsp + 0x38], rax
shl rax, 4
lea rbp, [rcx + rax + 0x10]
xor eax, eax
movzx edx, byte [r15 + rax]
xor dl, byte [r14 + rax]
mov byte [r15 + rax], dl
add rax, 1
cmp rax, 0x10
jne 0x6d943534
mov rdx, r12
mov r8, r15
mov rcx, rsi
call 0x6d9429c0
mov rax, qword [r12]
mov rdx, qword [r12 + 8]
add r12, 0x10
add r14, 0x10
cmp r12, rbp
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
jne 0x6d943532
mov r15, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x30]
add r15, 1
add r14d, 1
shl r15, 4
shl r14d, 4
add rdi, r15
cmp byte [rsp + 0x36], 0
mov eax, r14d
je 0x6d943602
cmp byte [rsp + 0x37], 0
lea r15, [rsp + 0x40]
je 0x6d9435c7
lea r15, [rsp + 0x40]
xor edx, edx
movzx eax, byte [r15 + rdx]
xor al, byte [rdi + rdx]
mov byte [r15 + rdx], al
add rdx, 1
cmp ebx, edx
jne 0x6d9435b3
mov ecx, 0x10
sub ecx, ebx
nop
movsxd rax, r13d
add r13d, 1
xor byte [rsp + rax + 0x40], cl
cmp r13d, 0x10
jne 0x6d9435d0
movsxd rdx, r14d
add rdx, qword [rsp + 0x28]
mov r8, r15
mov rcx, rsi
call 0x6d9429c0
lea eax, [r14 + 0x10]
jmp 0x6d943602
xor eax, eax
mov rcx, qword [rsp + 0x58]
xor rcx, qword [0x6db6d1b0]
jne 0x6d943638
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
cmp byte [rsp + 0x36], 1
je 0x6d9434e1
jmp 0x6d943602
xor r14d, r14d
jmp 0x6d943596
nop dword [rax + rax]
call fcn.6da2ca50
nop
nop word cs:[rax + rax]
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rsi, r8
mov edi, r9d
mov r8d, 4
mov r9d, 0xa
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
call 0x6d942070
mov byte [rbx + 0xb0], dil
mov rax, qword [rsi]
mov qword [rbx + 0xb1], rax
mov rax, qword [rsi + 8]
mov qword [rbx + 0xb9], rax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d9436b1
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
call fcn.6da2ca50
nop
nop
nop dword [rax + rax]
push rdi
sub rsp, 0x30
mov edx, 0xb0
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test cl, 1
mov qword [rcx + 0xb1], 0
mov qword [rcx + 0xb9], 0
mov rdi, rcx
jne 0x6d943750
test dil, 2
jne 0x6d943760
test dil, 4
jne 0x6d943773
mov ecx, edx
xor eax, eax
shr ecx, 3
test dl, 4
rep stosq qword [rdi], rax
je 0x6d94371b
mov dword [rdi], 0
add rdi, 4
test dl, 2
je 0x6d94372a
xor eax, eax
add rdi, 2
mov word [rdi - 2], ax
and edx, 1
je 0x6d943732
mov byte [rdi], 0
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d943782
add rsp, 0x30
pop rdi
ret
add rdi, 1
mov byte [rcx], 0
mov dl, 0xaf
test dil, 2
je 0x6d9436fc
nop
xor ecx, ecx
add rdi, 2
sub edx, 2
mov word [rdi - 2], cx
test dil, 4
je 0x6d943702
mov dword [rdi], 0
sub edx, 4
add rdi, 4
jmp 0x6d943702
call fcn.6da2ca50
nop
nop dword [rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
movzx r13d, byte [rcx + 0xb0]
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test rdx, rdx
mov rbp, rcx
mov r12d, r8d
mov rbx, r9
je 0x6d9438c1
test r8d, r8d
je 0x6d9438c1
test r9, r9
je 0x6d9438c1
test r8b, 0xf
jne 0x6d9438a2
lea rsi, [rcx + 0xb1]
mov r14, rdx
xor r15d, r15d
mov r8, r14
mov rdx, rbx
mov rcx, rbp
call 0x6d942af0
mov rdi, r14
xor eax, eax
movzx r10d, byte [rsi + rax]
xor r10b, byte [rbx + rax]
mov byte [rbx + rax], r10b
add rax, 1
cmp rax, 0x10
jne 0x6d943804
add r15d, 0x10
add rbx, 0x10
add r14, 0x10
cmp r12d, r15d
je 0x6d943831
mov rsi, rdi
jmp 0x6d9437f1
test r13b, r13b
mov eax, 1
je 0x6d94389e
mov rdi, qword [rsp + 0x28]
xor rdi, qword [0x6db6d1b0]
jne 0x6d9438c5
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
jmp 0x6d9438a2
call fcn.6da2ca50
nop
nop
nop
nop
nop
nop
sub rsp, 0x38
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
mov eax, dword [rdx]
cmp r8, 0x20
mov dword [rcx + 0x10], eax
mov eax, dword [rdx + 4]
mov dword [rcx + 0x14], eax
mov eax, dword [rdx + 8]
mov dword [rcx + 0x18], eax
mov eax, dword [rdx + 0xc]
mov dword [rcx + 0x1c], eax
lea rax, str.expand_16_byte_k
jne 0x6d943911
lea rax, str.expand_32_byte_k
add rdx, 0x10
mov r8d, dword [rdx]
mov dword [rcx + 0x20], r8d
mov r8d, dword [rdx + 4]
mov dword [rcx + 0x24], r8d
mov r8d, dword [rdx + 8]
mov dword [rcx + 0x28], r8d
mov edx, dword [rdx + 0xc]
mov dword [rcx + 0x2c], edx
mov edx, dword [rax]
mov dword [rcx], edx
mov edx, dword [rax + 4]
mov dword [rcx + 4], edx
mov edx, dword [rax + 8]
mov dword [rcx + 8], edx
mov eax, dword [rax + 0xc]
mov dword [rcx + 0x30], 0
mov dword [rcx + 0x34], 0
mov dword [rcx + 0x38], 0
mov dword [rcx + 0x3c], 0
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x28]
xor rax, qword [0x6db6d1b0]
jne 0x6d943973
add rsp, 0x38
ret
call fcn.6da2ca50
nop
nop
nop word [rax + rax]
push rdi
sub rsp, 0x30
mov edx, 0x40
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
test cl, 1
mov rdi, rcx
jne 0x6d9439f0
test dil, 2
jne 0x6d943a00
add rdi, 1
mov byte [rcx], 0
mov dl, 0x3f
test dil, 2
je 0x6d9439a6