Function at 0x140281ed0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
test ecx, ecx
mov dword [rsp + 0x7c], ecx
setle al
test rdx, rdx
mov qword [rsp + 0x80], rdx
sete bl
or ebx, eax
cmp byte [0x1402ba6c4], 0
je 0x140282472
mov ecx, 5
call qword [0x1402ba730]
mov qword [rsp + 0x88], rax
test rax, rax
je 0x140282472
mov rcx, rax
call qword [0x1402ba740]
test bl, bl
jne 0x1402822d8
mov ebx, dword [0x1402ba8e0]
test ebx, ebx
je 0x140282304
movzx edx, byte [0x1402ba960]
mov rax, rdx
cmp dword [rsp + 0x7c], edx
jle 0x1402823ca
test dl, dl
jne 0x14028228b
mov eax, dword [0x1402ba910]
mov r14d, dword [0x1402ba918]
mov r13d, dword [0x1402ba8e0]
mov esi, dword [0x1402ba8e4]
lea ecx, [rax + 1]
mov eax, dword [0x1402ba90c]
mov dword [rsp + 0x78], r14d
mov ebx, dword [0x1402ba8e8]
mov ebp, dword [0x1402ba8f0]
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x3c], eax
mov edi, dword [0x1402ba8f4]
mov eax, r14d
mov r11d, dword [0x1402ba8ec]
mov r8d, dword [0x1402ba8f8]
mov dword [0x1402ba910], ecx
mov r15d, dword [0x1402ba8fc]
mov r9d, dword [0x1402ba900]
mov dword [rsp + 0x5c], r13d
mov r10d, dword [0x1402ba904]
mov r12d, dword [0x1402ba908]
mov dword [rsp + 0x58], esi
mov edx, dword [0x1402ba914]
mov r14d, dword [0x1402ba91c]
mov dword [rsp + 0x4c], ebx
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x64], r8d
mov dword [rsp + 0x70], r15d
mov dword [rsp + 0x68], r9d
mov dword [rsp + 0x6c], r10d
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x74], r14d
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x38], 0xa
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x2c]
nop word cs:[rax + rax]
add r13d, ebp
add esi, edi
add ebx, r8d
xor ecx, r13d
xor edx, esi
xor eax, ebx
rol ecx, 0x10
rol edx, 0x10
add r9d, ecx
add r10d, edx
rol eax, 0x10
xor ebp, r9d
xor edi, r10d
add r12d, eax
rol ebp, 0xc
rol edi, 0xc
xor r8d, r12d
add r13d, ebp
add esi, edi
rol r8d, 0xc
xor ecx, r13d
xor edx, esi
add ebx, r8d
rol ecx, 8
rol edx, 8
xor eax, ebx
add r9d, ecx
add r10d, edx
xor ebp, r9d
xor edi, r10d
mov dword [rsp + 0x2c], r9d
rol ebp, 7
rol edi, 7
mov dword [rsp + 0x30], r10d
rol eax, 8
add r11d, r15d
add r13d, edi
xor r14d, r11d
add r12d, eax
mov r9d, r14d
mov r14d, dword [rsp + 0x34]
xor r8d, r12d
rol r9d, 0x10
rol r8d, 7
add r14d, r9d
add esi, r8d
xor r15d, r14d
mov r10d, r14d
xor ecx, esi
rol r15d, 0xc
rol ecx, 0x10
add r11d, r15d
xor r9d, r11d
rol r9d, 8
add r10d, r9d
xor r9d, r13d
rol r9d, 0x10
xor r15d, r10d
add r10d, ecx
add r12d, r9d
rol r15d, 7
xor edi, r12d
rol edi, 0xc
add r13d, edi
xor r9d, r13d
mov r14d, r9d
mov r9d, dword [rsp + 0x2c]
rol r14d, 8
add r12d, r14d
xor edi, r12d
rol edi, 7
xor r8d, r10d
add ebx, r15d
add r11d, ebp
rol r8d, 0xc
xor edx, ebx
xor eax, r11d
rol edx, 0x10
add esi, r8d
rol eax, 0x10
xor ecx, esi
add r9d, edx
rol ecx, 8
xor r15d, r9d
add r10d, ecx
rol r15d, 0xc
xor r8d, r10d
mov dword [rsp + 0x34], r10d
mov r10d, dword [rsp + 0x30]
add ebx, r15d
xor edx, ebx
rol r8d, 7
add r10d, eax
rol edx, 8
xor ebp, r10d
add r9d, edx
rol ebp, 0xc
xor r15d, r9d
add r11d, ebp
rol r15d, 7
xor eax, r11d
rol eax, 8
add r10d, eax
xor ebp, r10d
rol ebp, 7
sub dword [rsp + 0x38], 1
jne 0x140282040
add r13d, dword [rsp + 0x5c]
add esi, dword [rsp + 0x58]
mov byte [0x1402ba960], 0x40
add ebx, dword [rsp + 0x4c]
add r11d, dword [rsp + 0x48]
movd xmm3, esi
movd xmm2, r11d
movd xmm1, ebx
add ebp, dword [rsp + 0x44]
add edi, dword [rsp + 0x40]
movd xmm0, r13d
punpckldq xmm1, xmm2
add r8d, dword [rsp + 0x64]
add r15d, dword [rsp + 0x70]
punpckldq xmm0, xmm3
movd xmm4, r15d
movd xmm5, edi
add r9d, dword [rsp + 0x68]
punpcklqdq xmm0, xmm1
movd xmm1, r8d
add ecx, dword [rsp + 0x50]
add edx, dword [rsp + 0x60]
movups xmmword [0x1402ba920], xmm0
movd xmm0, ebp
punpckldq xmm1, xmm4
add r10d, dword [rsp + 0x6c]
punpckldq xmm0, xmm5
add r12d, dword [rsp + 0x54]
mov ebp, dword [rsp + 0x34]
movd xmm3, r10d
punpcklqdq xmm0, xmm1
add ebp, dword [rsp + 0x3c]
movd xmm5, edx
add eax, dword [rsp + 0x78]
movups xmmword [0x1402ba930], xmm0
movd xmm1, r12d
movd xmm0, r9d
movd xmm2, ebp
punpckldq xmm1, xmm2
punpckldq xmm0, xmm3
add r14d, dword [rsp + 0x74]
cmp dword [rsp + 0x7c], 0x40
punpcklqdq xmm0, xmm1
movd xmm4, r14d
movd xmm1, ecx
movups xmmword [0x1402ba940], xmm0
movd xmm0, eax
punpckldq xmm1, xmm5
punpckldq xmm0, xmm4
punpcklqdq xmm1, xmm0
movups xmmword [0x1402ba950], xmm1
jle 0x140282468
mov eax, 0x40
lea rsi, [0x1402ba920]
cmp eax, 8
jae 0x14028242f
test al, 4
jne 0x1402824fd
test eax, eax
je 0x1402822c0
movzx edx, byte [0x1402ba920]
mov rbx, qword [rsp + 0x80]
mov byte [rbx], dl
test al, 2
jne 0x1402825dd
movzx edx, byte [0x1402ba960]
sub dword [rsp + 0x7c], edx
add qword [rsp + 0x80], rdx
jmp 0x140281f60
mov dword [0x1402ba8e0], 0
mov rcx, qword [rsp + 0x88]
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp qword [0x1402ba750]
call sym.sqlite3_initialize
test eax, eax
jne 0x140282529
cmp byte [0x1402ba6c4], 0
mov rsi, qword [0x1402bab70]
je 0x140282354
mov ecx, 2
call qword [0x1402ba730]
mov rsi, qword [0x1402bab70]
mov r12, rax
test rax, rax
je 0x140282354
mov rcx, rax
call qword [0x1402ba740]
mov rsi, qword [0x1402bab70]
mov rcx, r12
call qword [0x1402ba750]
movabs rax, 0x3320646e61707865
movabs rdx, 0x6b20657479622d32
mov qword [0x1402ba8e0], rax
mov qword [0x1402ba8e8], rdx
test rsi, rsi
je 0x14028254b
mov eax, dword [0x1402ba870]
test eax, eax
jne 0x140282591
lea r8, [0x1402ba8f0]
mov edx, 0x2c
mov rcx, rsi
call qword [rsi + 0x68]
mov ebx, dword [0x1402ba910]
mov eax, dword [rsp + 0x7c]
mov dword [0x1402ba91c], ebx
xor edx, edx
mov dword [0x1402ba910], 0
mov byte [0x1402ba960], 0
test eax, eax
jg 0x140281f60
movsxd rax, dword [rsp + 0x7c]
sub edx, eax
lea esi, [rdx + 0x40]
lea rdx, [0x1402ba8e0]
movsxd rsi, esi
add rsi, rdx
cmp rax, 8
jae 0x140282499
test al, 4
jne 0x1402825f4
test rax, rax
jne 0x1402824d1
movzx eax, byte [rsp + 0x7c]
sub byte [0x1402ba960], al
mov rax, qword [rsp + 0x88]
mov rcx, rax
test rax, rax
jne 0x1402822ea
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, qword [rsp + 0x80]
mov rdx, qword [0x1402ba920]
lea rdi, [rbx + 8]
mov qword [rbx], rdx
mov rdx, qword [rsi + rax - 8]
and rdi, 0xfffffffffffffff8
mov qword [rbx + rax - 8], rdx
sub rbx, rdi
add eax, ebx
sub rsi, rbx
shr eax, 3
mov ecx, eax
rep movsq qword [rdi], qword [rsi]
jmp 0x1402822c0
mov edx, 0x40
jmp 0x1402823ca
test bl, bl
jne 0x14028251a
mov ebx, dword [0x1402ba8e0]
mov qword [rsp + 0x88], 0
test ebx, ebx
jne 0x140281f44
jmp 0x140282304
mov rdx, qword [rsi]
mov rbx, qword [rsp + 0x80]
mov qword [rbx], rdx
lea rdi, [rbx + 8]
mov rdx, qword [rsi + rax - 8]
and rdi, 0xfffffffffffffff8
mov qword [rbx + rax - 8], rdx
sub rbx, rdi
mov rcx, rbx
sub rsi, rbx
add rcx, rax
shr rcx, 3
rep movsq qword [rdi], qword [rsi]
jmp 0x1402823fc
movzx edx, byte [rsi]
mov rbx, qword [rsp + 0x80]
mov byte [rbx], dl
test al, 2
je 0x1402823fc
movzx edx, word [rsi + rax - 2]
mov rsi, qword [rsp + 0x80]
mov word [rsi + rax - 2], dx
jmp 0x1402823fc
mov edx, dword [0x1402ba920]
mov rbx, qword [rsp + 0x80]
mov dword [rbx], edx
mov edx, dword [rsi + rax - 4]
mov dword [rbx + rax - 4], edx
jmp 0x1402822c0
mov dword [0x1402ba8e0], 0
jmp 0x14028241b
movabs rax, 0x3320646e61707865
movabs rdx, 0x6b20657479622d32
mov qword [0x1402ba8e0], rax
mov qword [0x1402ba8e8], rdx
mov qword [0x1402ba8f0], 0
mov qword [0x1402ba8f8], 0
mov qword [0x1402ba900], 0
mov qword [0x1402ba908], 0
mov qword [0x1402ba910], 0
mov dword [0x1402ba918], 0
jmp 0x1402823a5
mov qword [0x1402ba8f0], 0
mov qword [0x1402ba8f8], 0
mov qword [0x1402ba900], 0
mov qword [0x1402ba908], 0
mov qword [0x1402ba910], 0
mov dword [0x1402ba918], 0
mov dword [0x1402ba8f0], eax
jmp 0x1402823a5
movzx edx, word [rsi + rax - 2]
mov rsi, qword [rsp + 0x80]
mov word [rsi + rax - 2], dx
jmp 0x1402822c0
mov edx, dword [rsi]
mov rbx, qword [rsp + 0x80]
mov dword [rbx], edx
mov edx, dword [rsi + rax - 4]
mov dword [rbx + rax - 4], edx
jmp 0x1402823fc