Function at 0x140340f60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1a8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x120], 0xfffffffffffffffe
mov rax, qword [rdx]
cmp rax, qword [rdx + 8]
je 0x140341004
mov rbx, rdx
mov rsi, rcx
test rcx, rcx
lea r14, [0x1404273f8]
cmovne r14, rcx
lea r12, [rbp + 0x100]
mov qword [rbp + 0x110], 0
mov qword [rbp + 0x118], 0xf
mov byte [rbp + 0x100], 0
mov r9d, dword [0x140547700]
lea edx, [r9 + 0x2ee17a1]
lea r8d, [r9 + 0x5d6a181b]
add r9d, 0xcf75dac1
mov rcx, r14
call fcn.1400ac7d0
mov r15, rax
cmp rax, 0xf
jbe 0x14034100b
mov rcx, r12
mov rdx, r15
mov r9, r14
call fcn.140088500
jmp 0x140341029
xor edi, edi
jmp 0x140341602
mov qword [rbp + 0x110], r15
mov rcx, r12
mov rdx, r14
mov r8, r15
call fcn.14040bf30
mov byte [rbp + r15 + 0x100], 0
lea rdi, [0x140426b18]
mov qword [rbp + 0xf8], rdi
mov edx, dword [rbp + 0x110]
mov eax, dword [0x140564270]
mov ecx, eax
xor ecx, edx
not eax
not edx
and edx, eax
or edx, ecx
not edx
add edx, edx
mov eax, ecx
xor eax, edx
and edx, ecx
add edx, edx
add edx, eax
je 0x140341078
cmp qword [rbp + 0x118], 0x10
mov rcx, r12
jb 0x140341073
mov rcx, qword [rbp + 0x100]
call fcn.140084d60
mov qword [rbp + 0xe8], r12
mov qword [rbp + 0xb8], rsi
mov qword [rbp + 0xe0], 0xf
mov qword [rbp + 0xd8], 4
mov dword [rbp + 0xc8], 0x4558452e
mov r15, qword [0x140547518]
movsxd r12, dword [r15]
mov r13d, dword [0x14044aed0]
mov byte [rbp + 0xcc], 0
mov qword [rbp + 0xc0], rdi
mov rax, qword [rbp + 0x110]
test rax, rax
je 0x14034132c
mov r8, qword [rbp + 0xd8]
movabs r14, 0xfb7dfef17c41f5b4
mov rcx, qword [0x1405476f8]
add rcx, r14
cmp r8, rcx
je 0x14034132c
movabs rcx, 0xfb7dfef17c41f5c3
add rcx, qword [0x1405476f8]
cmp qword [rbp + 0xe0], rcx
jbe 0x14034111c
mov rdi, qword [rbp + 0xc8]
jmp 0x140341123
lea rdi, [rbp + 0xc8]
mov rsi, qword [rbp + 0x100]
mov rcx, qword [rbp + 0x118]
mov qword [rbp + 0xf0], rcx
xorps xmm0, xmm0
movaps xmmword [rbp + 0xa0], xmm0
movaps xmmword [rbp + 0x90], xmm0
movaps xmmword [rbp + 0x80], xmm0
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp + 0x60], xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
mov rdx, qword [0x1405476f8]
movabs r9, 0xfb7dfef17c41f5b3
add r9, rdx
mov r10, r9
xor r10, r9
not r10
and r10, r8
xor r10, r9
mov r11d, r10d
not r11d
and r10, 0xfffffffffffffff8
and r11d, 7
or r11, r10
movabs r9, 0xfb7dfef17c41f5bb
add r9, rdx
mov rdx, rdi
and r9, r11
je 0x1403411fd
lea rdx, [rdi + 1]
xor r10d, r10d
movabs r11, 0x482010e83be0a4d
nop
movzx ecx, byte [rdx - 1]
mov byte [rbp + rcx - 0x50], 1
sub r10, qword [0x1405476f8]
add r10, r11
cmp r10, r9
je 0x1403411fd
inc rdx
jmp 0x1403411e0
cmp r8, 8
jb 0x14034126c
lea r9, [rdi + r8]
nop word [rax + rax]
movzx ecx, byte [rdx]
mov byte [rbp + rcx - 0x50], 1
movzx ecx, byte [rdx + 1]
mov byte [rbp + rcx - 0x50], 1
movzx ecx, byte [rdx + 2]
mov byte [rbp + rcx - 0x50], 1
movzx ecx, byte [rdx + 3]
mov byte [rbp + rcx - 0x50], 1
movzx ecx, byte [rdx + 4]
movzx r10d, byte [0x1405476f0]
add r10b, 0xc3
mov byte [rbp + rcx - 0x50], r10b
movzx ecx, byte [rdx + 5]
mov byte [rbp + rcx - 0x50], 1
movzx ecx, byte [rdx + 6]
mov byte [rbp + rcx - 0x50], r10b
movzx ecx, byte [rdx + 7]
mov byte [rbp + rcx - 0x50], 1
add rdx, 8
cmp rdx, r9
jne 0x140341210
cmp qword [rbp + 0xf0], 0x10
lea rcx, [rbp + 0x100]
cmovb rsi, rcx
movzx ecx, byte [rax + rsi - 1]
cmp byte [rbp + rcx - 0x50], 0
je 0x1403412b7
mov rcx, rax
cmp rcx, 1
je 0x1403412ec
nop word cs:[rax + rax]
movzx edx, byte [rsi + rcx - 2]
cmp byte [rbp + rdx - 0x50], 0
je 0x1403412c0
dec rcx
cmp rcx, 1
jne 0x1403412a0
jmp 0x1403412ec
lea rcx, [rax + rsi]
dec rcx
jmp 0x1403412c7
add rcx, rsi
add rcx, 0xfffffffffffffffe
sub rcx, rsi
cmp rcx, 0xffffffffffffffff
je 0x1403412ec
cmp rax, rcx
jbe 0x140341622
lea rax, [rcx + 1]
mov qword [rbp + 0x110], rax
add rsi, rcx
inc rsi
jmp 0x140341329
movsx edx, byte [rsi]
mov dword [rsp + 0x28], 0xe561559
mov dword [rsp + 0x20], 0x5a291723
mov rcx, rdi
mov r9d, 0x1f348803
call fcn.1401b7720
test rax, rax
je 0x14034132c
sub rax, rdi
cmp rax, 0xffffffffffffffff
je 0x14034132c
add r14, qword [0x1405476f8]
mov qword [rbp + 0x110], r14
mov byte [rsi], 0
mov rax, qword [rbp + 0xe0]
cmp rax, 0x10
jb 0x140341378
mov rcx, qword [rbp + 0xc8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140341373
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140341618
mov rcx, rax
xor rcx, 0x28
and eax, 0x28
lea rdx, [rcx + rax*2]
mov rcx, r8
call fcn.1400a9560
mov rsi, qword [rbx]
mov rax, qword [rbx + 8]
mov qword [rbp + 0xf0], rax
cmp rsi, rax
je 0x140341548
cmp qword [rbp + 0x118], 0x10
jb 0x1403413a7
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0xe8], rax
add r12, r15
mov r14, qword [rbp + 0x110]
jmp 0x1403413d1
add rsi, 0x28
cmp rsi, qword [rbp + 0xf0]
je 0x140341548
cmp qword [rsi + 0x20], 0x10
jb 0x1403413e0
mov rdx, qword [rsi + 8]
jmp 0x1403413e4
lea rdx, [rsi + 8]
mov r15, qword [rsi + 0x18]
cmp r15, r14
mov r8, r14
cmovb r8, r15
mov dword [rsp + 0x20], 0x5e963558
mov rcx, qword [rbp + 0xe8]
mov r9d, 0x72546429
call fcn.1400ac8e0
mov ecx, dword [0x140547514]
lea edx, [rcx + 1]
mov dword [0x140547514], edx
test ecx, edx
je 0x140341430
xor r8d, r8d
jmp 0x1403414b0
xor r9d, r9d
mov r8d, 0
test r13d, r13d
jle 0x1403414b0
xor r10d, r10d
nop word cs:[rax + rax]
movsxd r11, r9d
movzx r9d, byte [r12 + r11]
mov r8d, r9d
xor r8b, r8b
not r8b
and r8b, r10b
mov r10d, r11d
xor r10d, 0x4de10e0a
and r11d, 0x4de10e0a
lea r10d, [r10 + r11*2]
mov r11d, r10d
xor r11d, 1
and r10d, 1
mov edi, dword [0x140566c90]
lea ebx, [rdi - 1]
imul ebx, edi
test bl, 1
xor r8b, r9b
lea r9d, [r11 + r10*2]
add r9d, 0xb21ef1f6
mov r10d, r8d
cmp r9d, r13d
jl 0x140341450
nop dword [rax]
test eax, eax
jne 0x1403413c0
cmp r15, r14
jne 0x1403413c0
mov rax, qword [0x140566c18]
and ecx, edx
xor edx, edx
cmp ecx, 1
sbb edx, edx
movzx ecx, byte [0x1405476f0]
add cl, byte [0x14044aed4]
sub cl, r8b
add cl, 0xc2
xor dl, cl
not dl
and dl, cl
movzx ecx, dl
add ecx, dword [0x140564270]
mov edx, dword [0x140547700]
add ecx, edx
add ecx, 0xe8820aea
nop word cs:[rax + rax]
mov edx, dword [0x140566c90]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
jne 0x140341535
mov dword [0x140564270], ecx
mov edx, dword [0x140566c94]
cmp edx, 0x2f
jle 0x14034154c
mov dword [0x140564270], ecx
mov edx, dword [0x140566c94]
cmp edx, 0x27
jge 0x140341510
jmp 0x140341524
xor edi, edi
jmp 0x1403415ba
test rax, rax
mov rsi, qword [rbp + 0xb8]
lea rdi, [0x140426b18]
jne 0x14034159e
mov ecx, 0x30
call fcn.1403e3fbc
mov qword [rax + 0x28], 0xf
mov qword [rax + 8], rdi
mov ecx, 0xe8820aea
add ecx, dword [0x140547700]
mov dword [rax], ecx
mov qword [rax + 0x20], 0
movzx ecx, byte [0x1405476f0]
add cl, 0xc2
mov byte [rax + 0x10], cl
mov qword [0x140566c18], rax
mov rcx, qword [0x140566c18]
mov dword [rcx], 0xf
add rcx, 8
mov dil, 1
mov rdx, rsi
call fcn.140244eb0
mov rax, qword [rbp + 0x118]
cmp rax, 0x10
jb 0x140341602
mov rcx, qword [rbp + 0x100]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403415fd
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
add r8, qword [0x140566c98]
sub rcx, r8
cmp rcx, 0x20
jae 0x14034161d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a9560
mov eax, edi
add rsp, 0x1a8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1403c3cac
call fcn.1403c3cac
call fcn.1400f7790
int3