Function at 0x1400449a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
movups xmmword [rsp + 0xa0], xmm6
movups xmmword [rsp + 0xb0], xmm7
mov rax, qword [rcx]
mov rbx, rdx
mov r12, r8
mov rsi, rcx
mov rdi, r9
call qword [rax + 0x150]
mov r8, r12
mov rdx, rbx
mov r9, rdi
mov rbp, rax
mov rax, qword [rax]
mov rcx, rbp
lea r12, [rbp + 8]
call qword [rax + 0x38]
mov rax, qword [rbp + 8]
mov rcx, r12
call qword [rax + 0x30]
mov rcx, r12
mov ebx, eax
mov rax, qword [rbp + 8]
call qword [rax + 0x30]
cmp eax, 0x10
jne 0x140045931
mov rax, qword [0x140387e50]
cmp byte [rax], 0
je 0x1400455d9
mov rdx, qword [0x140387e00]
mov rax, qword [rdi]
mov rcx, rdi
lea r9, [rsp + 0x80]
mov r8, qword [0x1403884d0]
cmp byte [rdx], 0
mov rax, qword [rax + 0x10]
lea rdx, str.TableSize
je 0x140044cec
call rax
lea eax, [rbx*8]
mov edx, eax
mov dword [rsp + 0x80], edx
mov rdi, qword [rsi + 0x28]
lea edx, [rbx + rbx*2]
lea r13d, [rdx + rax]
mov rdx, qword [rsi + 0x30]
cmp r13, rdi
je 0x1400458ed
test r13, r13
je 0x1400458da
mov rcx, r13
mov qword [rsp + 0x28], rdx
call method.CryptoPP.AlignedAllocate_unsigned_long_long_
mov rdx, qword [rsp + 0x28]
mov r15, rax
test rdx, rdx
je 0x140044d34
test rax, rax
je 0x140044d34
cmp r13, rdi
mov r8, rdi
mov rcx, rax
mov qword [rsp + 0x28], rdx
cmovbe r8, r13
lea rbx, [r15 + 0x30]
lea r14, [r15 + 0x20]
call sym.memcpy
mov rdx, qword [rsp + 0x28]
mov rcx, rdi
xor eax, eax
mov rdi, rdx
rep stosb byte [rdi], al
mov rcx, rdx
call method.CryptoPP.AlignedDeallocate_void_
pxor xmm0, xmm0
mov qword [rsi + 0x30], r15
xor r8d, r8d
mov r9, r14
mov qword [rsi + 0x28], r13
mov rdx, r14
mov rcx, r12
mov qword [rsi + 0x20], 0xffffffffffffffff
movups xmmword [r14], xmm0
mov rax, qword [rbp + 8]
call qword [rax + 0x28]
mov rax, qword [0x140387e50]
cmp byte [rax], 0
je 0x1400455e3
mov rax, qword [0x140387e00]
mov r8d, dword [rsp + 0x80]
cmp byte [rax], 0
jne 0x1400458fd
mov rax, qword [r15 + 0x20]
mov rdx, qword [r15 + 0x28]
bswap rax
bswap rdx
cmp r8d, 0x10000
je 0x1400455ed
movzx ecx, byte [0x14042b200]
test cl, cl
jne 0x140044c39
mov edi, 7
mov r8d, 2
mov dword [0x14042b220], 0xc2010000
mov esi, 0x1c2
lea rcx, [0x14042b220]
nop
add esi, esi
mov r11d, r8d
mov r9d, esi
rol r9w, 8
mov word [rcx + r11*2], r9w
cmp r8d, 1
jbe 0x140044fb0
lea r10d, [r8 + 1]
xor r9w, word [0x14042b222]
mov r12d, 4
mov word [rcx + r10*2], r9w
cmp r8d, 2
je 0x140044c26
lea r14d, [r8 - 3]
cmp r14d, 2
jbe 0x140044bf3
lea r9d, [r8 - 2]
lea r13, [r11 + 2]
lea rbp, [r11 + r11 + 2]
mov r12, r9
add r9, r13
add r9, r9
lea r15, [rbp - 2]
lea r10, [rbp + 2]
cmp r9, r15
jle 0x140044d50
cmp rbp, r10
jle 0x140044d50
lea r10, [0x14042b224]
lea r9d, [r8 + 2]
lea r12d, [r8 + r8]
nop word [rax + rax]
movzx r8d, word [rcx + r11*2]
mov ebp, r9d
xor r8w, word [r10]
add r9d, 1
mov word [rcx + rbp*2], r8w
add r10, 2
cmp r9d, r12d
jne 0x140044c08
mov r8d, r12d
sub edi, 1
jne 0x140044b80
mov byte [0x14042b200], 1
xor r8d, r8d
mov edi, 0xb
mov r11d, 1
mov esi, 7
movabs r10, 0xe100000000000000
jmp 0x140044cba
mov r9d, r8d
mov ecx, esi
mov r14, r11
sar r9d, 5
sub ecx, ebp
shl r9d, 8
shl r14, cl
movsxd r9, r9d
lea rcx, [r9 + r14 + 0x400]
add rcx, rbx
mov r9, rax
bswap r9
mov qword [rcx], r9
mov r9, rdx
bswap r9
mov qword [rcx + 8], r9
mov ecx, edx
add r8d, 1
shrd rdx, rax, 1
and ecx, 1
shr rax, 1
neg rcx
and rcx, r10
xor rax, rcx
cmp r8d, 0x68
je 0x140044fc5
mov ebp, r8d
and ebp, 0x1f
test r8b, 0x1c
je 0x140044c60
test r8b, 0x18
jne 0x140044c96
mov r9d, r8d
mov ecx, edi
mov r15, r11
sub ecx, ebp
sar r9d, 5
shl r9d, 8
shl r15, cl
movsxd r9, r9d
mov rcx, r15
add rcx, r9
jmp 0x140044c80
call rax
test al, al
je 0x140044d11
mov edx, 0x10000
mov eax, 0x800
cmp dword [rsp + 0x80], 0x10000
cmovge eax, edx
mov edx, eax
jmp 0x140044a5b
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x158]
mov edx, 0x10000
cmp eax, 1
mov eax, 0x800
cmove eax, edx
mov edx, eax
jmp 0x140044a5b
lea rbx, [r15 + 0x30]
lea r14, [r15 + 0x20]
test rdx, rdx
je 0x140044ae0
jmp 0x140044ace
cmp r14d, 6
jbe 0x14004591e
movzx ebp, word [rcx + r11*2]
movdqu xmm1, xmmword [0x14042b224]
mov r9d, r12d
add r10, rcx
shr r9d, 3
movd xmm0, ebp
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
pxor xmm1, xmm0
movups xmmword [r10], xmm1
cmp r9d, 1
je 0x14004590d
movdqu xmm1, xmmword [0x14042b234]
pxor xmm1, xmm0
movups xmmword [r10 + 0x10], xmm1
cmp r9d, 2
je 0x140044f01
movdqu xmm1, xmmword [0x14042b244]
pxor xmm1, xmm0
movups xmmword [r10 + 0x20], xmm1
cmp r9d, 3
je 0x140044f01
movdqu xmm1, xmmword [0x14042b254]
pxor xmm1, xmm0
movups xmmword [r10 + 0x30], xmm1
cmp r9d, 4
je 0x140044f01
movdqu xmm1, xmmword [0x14042b264]
pxor xmm1, xmm0
movups xmmword [r10 + 0x40], xmm1
cmp r9d, 5
je 0x140044f01
movdqu xmm1, xmmword [0x14042b274]
pxor xmm1, xmm0
movups xmmword [r10 + 0x50], xmm1
cmp r9d, 6
je 0x140044f01
movdqu xmm1, xmmword [0x14042b284]
pxor xmm1, xmm0
movups xmmword [r10 + 0x60], xmm1
cmp r9d, 7
je 0x140044f01
movdqu xmm1, xmmword [0x14042b294]
pxor xmm1, xmm0
movups xmmword [r10 + 0x70], xmm1
cmp r9d, 8
je 0x140044f01
movdqu xmm1, xmmword [0x14042b2a4]
pxor xmm1, xmm0
movups xmmword [r10 + 0x80], xmm1
cmp r9d, 9
je 0x140044f01
movdqu xmm1, xmmword [0x14042b2b4]
pxor xmm1, xmm0
movups xmmword [r10 + 0x90], xmm1
cmp r9d, 0xa
je 0x140044f01
movdqu xmm1, xmmword [0x14042b2c4]
pxor xmm1, xmm0
movups xmmword [r10 + 0xa0], xmm1
cmp r9d, 0xb
je 0x140044f01
movdqu xmm1, xmmword [0x14042b2d4]
pxor xmm1, xmm0
movups xmmword [r10 + 0xb0], xmm1
cmp r9d, 0xc
je 0x140044f01
movdqu xmm1, xmmword [0x14042b2e4]
pxor xmm1, xmm0
movups xmmword [r10 + 0xc0], xmm1
cmp r9d, 0xd
je 0x140044f01
movdqu xmm1, xmmword [0x14042b2f4]
pxor xmm1, xmm0
movups xmmword [r10 + 0xd0], xmm1
cmp r9d, 0xf
jne 0x140044f01
movdqu xmm6, xmmword [0x14042b304]
pxor xmm0, xmm6
movups xmmword [r10 + 0xe0], xmm0
mov r9d, r12d
and r9d, 0xfffffff8
and r12d, 7
lea r10d, [r9 + 2]
je 0x140044fb0
mov r12d, r8d
sub r12d, r9d
lea ebp, [r12 - 2]
sub r12d, 3
cmp r12d, 2
jbe 0x140044f62
movq xmm0, qword [rcx + r9*2 + 4]
pinsrw xmm1, word [rcx + r11*2], 0
pshuflw xmm1, xmm1, 0
add r9, r13
lea r12d, [r8 + r8]
pxor xmm0, xmm1
movq qword [rcx + r9*2], xmm0
mov r9d, ebp
and r9d, 0xfffffffc
add r10d, r9d
and ebp, 3
je 0x140044c26
mov ebp, r10d
movzx r9d, word [rcx + r11*2]
lea r12d, [r8 + r10]
xor r9w, word [rcx + rbp*2]
mov word [rcx + r12*2], r9w
lea r9d, [r10 + 1]
cmp r9d, r8d
jae 0x140044fb0
movzx ebp, word [rcx + r11*2]
lea r12d, [r8 + r9]
xor bp, word [rcx + r9*2]
add r10d, 2
mov word [rcx + r12*2], bp
cmp r10d, r8d
jae 0x140044fb0
movzx r9d, word [rcx + r11*2]
lea ebp, [r8 + r10]
xor r9w, word [rcx + r10*2]
mov word [rcx + rbp*2], r9w
lea r12d, [r8 + r8]
mov r8d, r12d
sub edi, 1
jne 0x140044b80
jmp 0x140044c32
mov rax, qword [0x140387ec0]
lea rsi, [rbx + 0x10]
mov r13d, 0x10
mov qword [rsp + 0x28], 0
pxor xmm6, xmm6
mov qword [rsp + 0x40], rax
lea rax, [rbx + 0x20]
mov qword [rsp + 0x50], rax
mov rbp, qword [rsp + 0x28]
mov rax, qword [0x140387e50]
movups xmmword [rsi - 0x10], xmm6
movups xmmword [rsi + 0x3f0], xmm6
shl rbp, 4
cmp byte [rax], 0
je 0x1400455cf
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
jne 0x140045510
lea rax, [r13 + 0x420]
mov r14d, 3
mov ecx, 2
mov qword [rsp + 0x30], rax
cmp ecx, 1
jle 0x14004529a
mov r8d, ecx
lea r9d, [rcx - 2]
shl r8d, 4
movsxd rax, r8d
add rax, rbp
lea rdx, [rbx + rax]
lea rax, [rbx + rax + 0x400]
cmp r9d, 1
jbe 0x1400452f0
mov rdi, qword [rsp + 0x28]
movsxd r10, ecx
add r10, rdi
lea edi, [rcx - 1]
mov r11, r10
shl r11, 4
lea r12, [r11 + 0x30]
lea r9, [r11 + 0x410]
cmp r12, r13
mov r12, qword [rsp + 0x30]
setle r15b
cmp r9, r12
setge r12b
test r15b, r12b
je 0x1400452f0
mov r12d, edi
lea r10, [r10 + r12 + 1]
shl r10, 4
cmp r11, r10
jl 0x1400452f0
movdqu xmm0, xmmword [rsi]
movddup xmm5, qword [rdx]
movdqu xmm7, xmmword [rsi + 0x10]
movddup xmm4, qword [rdx + 8]
lea r11, [rbx + r11 + 0x10]
movddup xmm3, qword [rax]
movddup xmm2, qword [rax + 8]
mov r10d, edi
movdqa xmm1, xmm0
punpckhqdq xmm0, xmm7
add r9, rbx
shr r10d, 1
punpcklqdq xmm1, xmm7
pxor xmm0, xmm4
mov r8d, 3
pxor xmm1, xmm5
movdqa xmm7, xmm1
punpckhqdq xmm1, xmm0
punpcklqdq xmm7, xmm0
movups xmmword [r11 + 0x10], xmm1
movups xmmword [r11], xmm7
movdqu xmm0, xmmword [rsi + 0x400]
movdqu xmm7, xmmword [rsi + 0x410]
movdqa xmm1, xmm0
punpckhqdq xmm0, xmm7
punpcklqdq xmm1, xmm7
pxor xmm0, xmm2
pxor xmm1, xmm3
movdqa xmm7, xmm1
punpckhqdq xmm1, xmm0
punpcklqdq xmm7, xmm0
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm7
cmp r10d, 1
je 0x14004523e
movdqu xmm0, xmmword [rsi + 0x20]
movdqu xmm7, xmmword [rsi + 0x30]
movdqa xmm1, xmm0
punpckhqdq xmm0, xmm7
punpcklqdq xmm1, xmm7
pxor xmm0, xmm4
pxor xmm1, xmm5
movdqa xmm7, xmm1
punpckhqdq xmm1, xmm0
punpcklqdq xmm7, xmm0
movups xmmword [r11 + 0x30], xmm1
movups xmmword [r11 + 0x20], xmm7
movdqu xmm0, xmmword [rsi + 0x420]
movdqu xmm7, xmmword [rsi + 0x430]
movdqa xmm1, xmm0
punpckhqdq xmm0, xmm7
punpcklqdq xmm1, xmm7
pxor xmm0, xmm2
pxor xmm1, xmm3
movdqa xmm7, xmm1
punpckhqdq xmm1, xmm0
punpcklqdq xmm7, xmm0
movups xmmword [r9 + 0x30], xmm1
movups xmmword [r9 + 0x20], xmm7
cmp r10d, 3
jne 0x140045238
movdqu xmm0, xmmword [rsi + 0x40]
movdqu xmm7, xmmword [rsi + 0x50]
movdqa xmm1, xmm0
punpckhqdq xmm0, xmm7
punpcklqdq xmm1, xmm7
pxor xmm0, xmm4
pxor xmm1, xmm5
movdqa xmm4, xmm1
punpckhqdq xmm1, xmm0
punpcklqdq xmm4, xmm0
movups xmmword [r11 + 0x50], xmm1
movups xmmword [r11 + 0x40], xmm4
movdqu xmm0, xmmword [rsi + 0x440]
movdqu xmm4, xmmword [rsi + 0x450]
movdqa xmm1, xmm0
punpckhqdq xmm0, xmm4
punpcklqdq xmm1, xmm4
pxor xmm0, xmm2
pxor xmm1, xmm3
movdqa xmm2, xmm1
punpckhqdq xmm1, xmm0
punpcklqdq xmm2, xmm0
movups xmmword [r9 + 0x50], xmm1
movups xmmword [r9 + 0x40], xmm2
or edi, 1
mov r8d, edi
mov r9d, r8d
add r8d, ecx
mov r10, qword [rdx]
shl r9d, 4
shl r8d, 4
movsxd r9, r9d
movsxd r8, r8d
add r9, rbp
add r8, rbp
lea r11, [rbx + r9]
lea rdi, [rbx + r8]
xor r10, qword [r11]
lea r9, [rbx + r9 + 0x400]
lea r8, [rbx + r8 + 0x400]
mov qword [rdi], r10
mov rdx, qword [rdx + 8]
xor rdx, qword [r11 + 8]
mov qword [rdi + 8], rdx
mov rdx, qword [rax]
xor rdx, qword [r9]
mov qword [r8], rdx
mov rax, qword [rax + 8]
xor rax, qword [r9 + 8]
mov qword [r8 + 8], rax
add ecx, ecx
sub r14d, 1
jne 0x14004503a
add qword [rsp + 0x28], 0x10
mov rax, qword [rsp + 0x28]
add rsi, 0x100
add r13, 0x100
cmp rax, 0x40
jne 0x140044ff1
movups xmm6, xmmword [rsp + 0xa0]
movups xmm7, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r9d, [r8 + 0x10]
mov r10, qword [rdx]
xor r10, qword [rsi]
movsxd r9, r9d
add r9, rbp
lea r11, [rbx + r9]
mov qword [r11], r10
mov r10, qword [rdx + 8]
xor r10, qword [rsi + 8]
mov qword [r11 + 8], r10
lea r10, [rbx + r9 + 0x400]
mov r9, qword [rax]
xor r9, qword [rsi + 0x400]
mov qword [r10], r9
mov r9, qword [rax + 8]
xor r9, qword [rsi + 0x408]
mov qword [r10 + 8], r9
cmp ecx, 2
je 0x14004529a
lea r9d, [r8 + 0x20]
mov r10, qword [rdx]
xor r10, qword [rsi + 0x10]
movsxd r9, r9d
add r9, rbp
lea r11, [rbx + r9]
mov qword [r11], r10
mov r10, qword [rdx + 8]
xor r10, qword [rsi + 0x18]
mov qword [r11 + 8], r10
lea r10, [rbx + r9 + 0x400]
mov r9, qword [rax]
xor r9, qword [rsi + 0x410]
mov qword [r10], r9
mov r9, qword [rax + 8]
xor r9, qword [rsi + 0x418]
mov qword [r10 + 8], r9
lea r9d, [r8 + 0x30]
mov r10, qword [rdx]
movsxd r9, r9d
xor r10, qword [rsi + 0x20]
add r9, rbp
lea r11, [rbx + r9]
mov qword [r11], r10
mov r10, qword [rdx + 8]
xor r10, qword [rsi + 0x28]
mov qword [r11 + 8], r10
lea r10, [rbx + r9 + 0x400]
mov r9, qword [rsi + 0x420]
xor r9, qword [rax]
mov qword [r10], r9
mov r9, qword [rax + 8]
xor r9, qword [rsi + 0x428]
mov qword [r10 + 8], r9
cmp ecx, 4
je 0x14004529a
lea r9d, [r8 + 0x40]
mov r10, qword [rdx]
xor r10, qword [rsi + 0x30]
movsxd r9, r9d
add r9, rbp
lea r11, [rbx + r9]
mov qword [r11], r10
mov r10, qword [rdx + 8]
xor r10, qword [rsi + 0x38]
mov qword [r11 + 8], r10
lea r10, [rbx + r9 + 0x400]
mov r9, qword [rax]
xor r9, qword [rsi + 0x430]
mov qword [r10], r9
mov r9, qword [rax + 8]
xor r9, qword [rsi + 0x438]
mov qword [r10 + 8], r9
lea r9d, [r8 + 0x50]
mov r10, qword [rdx]
movsxd r9, r9d
xor r10, qword [rsi + 0x40]
add r9, rbp
lea r11, [rbx + r9]
mov qword [r11], r10
mov r10, qword [rdx + 8]
xor r10, qword [rsi + 0x48]
mov qword [r11 + 8], r10
lea r10, [rbx + r9 + 0x400]
mov r9, qword [rax]
xor r9, qword [rsi + 0x440]
mov qword [r10], r9
mov r9, qword [rax + 8]
xor r9, qword [rsi + 0x448]
mov qword [r10 + 8], r9
cmp ecx, 6
je 0x14004529a
lea r9d, [r8 + 0x60]
mov r10, qword [rdx]
xor r10, qword [rsi + 0x50]
movsxd r9, r9d
add r9, rbp
lea r11, [rbx + r9]
mov qword [r11], r10
mov r10, qword [rdx + 8]
xor r10, qword [rsi + 0x58]
mov qword [r11 + 8], r10
lea r10, [rbx + r9 + 0x400]
mov r9, qword [rax]
xor r9, qword [rsi + 0x450]
mov qword [r10], r9
mov r9, qword [rax + 8]
xor r9, qword [rsi + 0x458]
mov qword [r10 + 8], r9
cmp ecx, 8
jne 0x14004529a
add r8d, 0x70
mov r10, qword [rdx]
xor r10, qword [rsi + 0x60]
movsxd r8, r8d
add r8, rbp
lea r9, [rbx + r8]
lea r8, [rbx + r8 + 0x400]
mov qword [r9], r10
mov rdx, qword [rdx + 8]
xor rdx, qword [rsi + 0x68]
mov qword [r9 + 8], rdx
mov rdx, qword [rax]
xor rdx, qword [rsi + 0x460]
mov qword [r8], rdx
mov rax, qword [rax + 8]
xor rax, qword [rsi + 0x468]
mov qword [r8 + 8], rax
jmp 0x14004529a
mov qword [rsp + 0x48], rbp
mov r8d, 2
mov r9d, 3
mov r14, rbx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x58], r13
mov r13d, r8d
mov r8d, r9d
cmp r13d, 1
jle 0x1400455b0
mov edx, r13d
mov rax, qword [rsp + 0x48]
lea edi, [r13 - 2]
mov dword [rsp + 0x30], r8d
shl edx, 4
mov rbx, qword [rsp + 0x38]
movsxd rsi, edx
add rax, rsi
lea r12, [rsi + 0x400]
lea rbp, [r14 + rax]
lea r15, [r14 + rax + 0x400]
mov rax, qword [rsp + 0x28]
add rdi, rax
mov rax, qword [rsp + 0x50]
shl rdi, 4
add rdi, rax
lea rcx, [rsi + rbx]
mov r8, rbx
mov rdx, rbp
call method.CryptoPP.GCM_Xor16_SSE2_unsigned_char__unsigned_char_const__unsigned_char_const_
lea rcx, [r12 + rbx]
lea r8, [rbx + 0x400]
mov rdx, r15
call method.CryptoPP.GCM_Xor16_SSE2_unsigned_char__unsigned_char_const__unsigned_char_const_
add rbx, 0x10
cmp rdi, rbx
jne 0x140045580
mov r8d, dword [rsp + 0x30]
add r13d, r13d
sub r8d, 1
jne 0x140045534
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x38]
mov rbx, r14
jmp 0x1400452a6
call method.CryptoPP.DetectX86Features__
jmp 0x140045015
call method.CryptoPP.DetectX86Features__
jmp 0x140044a20
call method.CryptoPP.DetectX86Features__
jmp 0x140044b1b
xor r8d, r8d
mov r11d, 0xb
mov r10d, 1
movabs r9, 0xe100000000000000
nop word cs:[rax + rax]
mov esi, r8d
mov ecx, r11d
mov rdi, r10
and esi, 7
sub ecx, esi
mov esi, r8d
add r8d, 1
sar esi, 3
shl rdi, cl
shl esi, 0xc
mov rcx, rdi
movsxd rsi, esi
add rcx, rsi
mov rsi, rax
add rcx, rbx
bswap rsi
mov qword [rcx], rsi
mov rsi, rdx
bswap rsi
mov qword [rcx + 8], rsi
mov ecx, edx
shrd rdx, rax, 1
and ecx, 1
shr rax, 1
neg rcx
and rcx, r9
xor rax, rcx
cmp r8d, 0x80
jne 0x140045610
mov rax, qword [0x140387ec0]
mov r12, rbx
mov edi, 0x10
mov qword [rsp + 0x28], 0
pxor xmm6, xmm6
mov qword [rsp + 0x40], rax
lea rax, [rbx + 0x20]
mov qword [rsp + 0x38], rax
nop word cs:[rax + rax]
mov rax, qword [0x140387e50]
lea rbp, [rdi - 0x10]
movups xmmword [r12], xmm6
cmp byte [rax], 0
je 0x1400458d0
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
jne 0x140045840
mov r13, qword [rsp + 0x28]
mov r11d, 7
lea rsi, [rbx + 0x10]
lea r10, [rbx + rdi]
mov r9d, 2
lea r14, [rdi + 0x20]
nop dword [rax]
cmp r9d, 1
jle 0x140045759
mov r8d, r9d
lea eax, [r9 - 2]
shl r8d, 4
movsxd r8, r8d
lea rcx, [r8 + rbp]
add rcx, rbx
cmp eax, 1
jbe 0x140045722
movsxd rdx, r9d
lea rdx, [r13 + rdx + 1]
shl rdx, 4
lea r15, [rdx + 0x20]
cmp r15, rdi
jle 0x140045798
cmp rdx, r14
jge 0x140045798
mov r15d, eax
mov rax, r12
add r15, r13
shl r15, 4
add r15, rsi
nop word [rax + rax]
mov rdx, qword [rax + 0x10]
xor rdx, qword [rcx]
add rax, 0x10
mov qword [rax + r8], rdx
mov rdx, qword [rax + 8]
xor rdx, qword [rcx + 8]
mov qword [rax + r8 + 8], rdx
cmp rax, r15
jne 0x140045738
add r9d, r9d
sub r11d, 1
jne 0x1400456e8
nop word [rax + rax]
add rdi, 0x1000
add r12, 0x1000
add qword [rsp + 0x28], 0x100
cmp rdi, 0x10010
jne 0x1400456a0
jmp 0x1400452c9
lea eax, [r9 - 1]
lea r8, [rbx + rdx]
xor edx, edx
movddup xmm4, qword [rcx]
mov r15d, eax
movddup xmm3, qword [rcx + 8]
shr r15d, 1
shl r15, 5
nop dword [rax]
movdqu xmm0, xmmword [r10 + rdx]
movdqu xmm5, xmmword [r10 + rdx + 0x10]
movdqa xmm1, xmm0
punpckhqdq xmm0, xmm5
punpcklqdq xmm1, xmm5
pxor xmm0, xmm3
pxor xmm1, xmm4
movdqa xmm2, xmm1
punpckhqdq xmm1, xmm0
punpcklqdq xmm2, xmm0
movups xmmword [r8 + rdx + 0x10], xmm1
movups xmmword [r8 + rdx], xmm2
add rdx, 0x20
cmp r15, rdx
jne 0x1400457b8
or eax, 1
mov edx, eax
add eax, r9d
add r9d, r9d
shl edx, 4
shl eax, 4
movsxd rdx, edx
cdqe
add rdx, rbp
add rax, rbp
add rdx, rbx
add rax, rbx
mov r8, qword [rdx]
xor r8, qword [rcx]
mov qword [rax], r8
mov rdx, qword [rdx + 8]
xor rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub r11d, 1
jne 0x1400456e8
jmp 0x140045768
mov qword [rsp + 0x30], rbp
mov r8d, 7
mov esi, 2
mov qword [rsp + 0x48], r12
mov r15d, r8d
mov r12d, esi
nop dword [rax + rax]
cmp r12d, 1
jle 0x1400458b9
mov eax, r12d
lea r13d, [r12 - 2]
lea rsi, [rbx + rdi]
shl eax, 4
movsxd rbp, eax
mov rax, qword [rsp + 0x30]
lea r14, [rbp + rax]
mov rax, qword [rsp + 0x28]
add r14, rbx
add r13, rax
mov rax, qword [rsp + 0x38]
shl r13, 4
add r13, rax
nop dword [rax]
lea rcx, [rbp + rsi]
mov r8, rsi
mov rdx, r14
add rsi, 0x10
call method.CryptoPP.GCM_Xor16_SSE2_unsigned_char__unsigned_char_const__unsigned_char_const_
cmp r13, rsi
jne 0x1400458a0
add r12d, r12d
sub r15d, 1
jne 0x140045860
mov r12, qword [rsp + 0x48]
jmp 0x140045768
call method.CryptoPP.DetectX86Features__
jmp 0x1400456b9
mov r14d, 0x20
mov ebx, 0x30
xor r15d, r15d
jmp 0x140044d3c
lea r14, [rdx + 0x20]
lea rbx, [rdx + 0x30]
mov r15, rdx
jmp 0x140044ae0
mov rdx, rbx
mov rcx, r14
call method.CryptoPP.GCM_SetKeyWithoutResync_CLMUL_unsigned_char_const__unsigned_char__unsigned_int_
jmp 0x1400452c9
mov r10d, 0xa
mov r9d, 8
jmp 0x140044f16
mov ebp, 6
xor r9d, r9d
mov r10d, 2
jmp 0x140044f2b
mov ecx, 0x30
lea rbp, [rsp + 0x60]
call sym.__cxa_allocate_exception
mov rdx, rsi
mov rcx, rbp
mov rdi, rax
mov rax, qword [rsi]
call qword [rax + 0xb0]
lea rdx, str.:_block_size_of_underlying_block_cipher_is_not_16
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.append_char_const_
lea rsi, [rsp + 0x80]
mov rdx, rax
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov r8, rsi
mov edx, 1
mov rcx, rdi
call fcn.140244f70
lea rax, fcn.1402132b0
mov rcx, rsi
mov qword [rdi], rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea r8, [fcn.1402132b0]
lea rdx, [0x1403982a0]
mov rcx, rdi
call sym.__cxa_throw
mov rbx, rax
jmp 0x1400459cc
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov rcx, rdi
call sym.__cxa_free_exception
mov rcx, rbx
call sym._Unwind_Resume
mov rbx, rax
jmp 0x1400459c4