Function at 0x140367c40
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x58], 0xfffffffffffffffe
mov rdi, r8
mov rsi, rdx
mov qword [rbp + 0x18], rcx
lea rcx, [rbp - 0x30]
call fcn.140367a40
mov qword [rbp + 0x40], 0xf
mov qword [rbp + 0x38], 0xc
xor ecx, ecx
xor edx, edx
mov r8d, 0x815ac84c
mov r9d, 0x20919fce
call fcn.1403786f0
mov rcx, qword [rax]
mov qword [rbp + 0x28], rcx
mov eax, dword [rax + 8]
mov dword [rbp + 0x30], eax
mov byte [rbp + 0x34], 0
mov qword [rbp + 0x48], rdi
test rdi, rdi
je 0x140367cee
mov rax, qword [rbp + 0x48]
lea rcx, [rax + 0x10]
lea rdx, [rbp + 0x28]
mov r8d, 0xc
call fcn.1402516c0
mov rdi, rax
xor ecx, ecx
xor edx, edx
mov r8d, 0xebae1a3c
mov r9d, 0x4560d484
call fcn.140378a40
mov rcx, rdi
mov rdx, rax
call fcn.1400aee50
mov rcx, rax
call fcn.140266fe0
mov rax, qword [rbp + 0x40]
cmp rax, 0x10
jb 0x140367dc5
mov rcx, qword [rbp + 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140367dc0
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x140367d2f
mov ecx, dword [0x140534ca4]
cmp ecx, 0x40
jle 0x140367d34
jmp 0x140367d45
call fcn.14039c09c
mov ecx, dword [0x140534ca0]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x140367d9f
lea rcx, [fcn.140367c40]
add ecx, ecx
add ecx, 0x1840
mov edx, ecx
not edx
nop dword [rax + rax]
mov r9d, dword [0x14051ddd8]
lea r10d, [r9 + 0x4937e5c1]
mov r11d, 0xb6c81a3e
sub r11d, r9d
and r11d, edx
xor r10d, ecx
or r10d, r11d
not r10d
mov r11d, r9d
xor r11d, 0x4937e5c0
and r9d, 0x4937e5c0
lea r9d, [r11 + r9*2]
cmp r10d, r9d
jne 0x140367d60
jmp 0x140367d34
neg rax
mov rcx, rax
xor rcx, 0xffffffffffffffd8
movabs rdx, 0x7fffffffffffffd8
and rdx, rax
lea rdx, [rcx + rdx*2]
neg rdx
mov rcx, r8
call fcn.1400a6550
mov rcx, qword [rsi + 8]
mov rax, qword [rbp + 0x48]
add rax, 0x10
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x10], rcx
jmp 0x140367de4
mov rcx, qword [rbp + 0x50]
mov rcx, qword [rcx]
cmp rcx, qword [rbp + 0x10]
je 0x14036801d
mov qword [rbp + 0x50], rcx
mov rax, qword [rcx + 0x18]
call qword [case.0x1401138cb.0]
mov ecx, dword [0x140534ca4]
cmp ecx, 0x60
mov r9, qword [rbp + 0x50]
mov ecx, dword [r9 + 0x20]
mov edx, dword [0x1405315f8]
mov r8d, edx
xor r8d, ecx
and edx, ecx
lea esi, [r8 + rdx*2]
test al, al
mov ecx, 0
cmove esi, ecx
mov rcx, qword [r9 + 0x10]
mov edx, dword [0x140534ca4]
cmp edx, 0x16
jg 0x140367e0c
cmp rcx, 0x13
jne 0x140367e80
mov r8, qword [rbp]
mov rax, qword [rbp - 0x28]
mov r9, qword [rbp - 0x18]
add r8, r8
movabs rdx, 0x6ede5f97c3fc4bec
and r8, rdx
mov rdx, qword [r9 + r8*8 + 8]
cmp rdx, rax
je 0x140367e80
cmp qword [rdx + 0x10], 0x13
jne 0x140367ef3
mov r9, rdx
cmp r9, rax
jne 0x140367fbd
nop
mov qword [rbp - 0x50], rcx
mov dword [rbp - 0x48], esi
lea rcx, [rbp - 0x30]
lea rdx, [rbp - 0x60]
lea r8, [rbp - 0x50]
call fcn.140371e20
cmp qword [rbp + 0x48], 0
je 0x140367fbd
call fcn.1403728b0
mov rcx, qword [rbp + 0x20]
mov rdx, rax
call fcn.1400aee50
mov rcx, qword [rbp + 0x50]
cmp qword [rcx + 0x40], 0x10
jb 0x140367ed0
mov rdx, qword [rcx + 0x28]
jmp 0x140367ed4
lea rdx, [rcx + 0x28]
mov r8, qword [rcx + 0x38]
mov rcx, rax
call fcn.1402516c0
mov rdi, rax
mov eax, dword [0x140534ca4]
cmp eax, 0x56
jle 0x140367f60
jmp 0x140368000
mov r8, qword [r9 + r8*8]
jmp 0x140367f0d
mov rdx, r9
cmp r10, 0x13
je 0x140367e75
cmp rdx, r8
je 0x140367e80
nop word cs:[rax + rax]
mov r9d, dword [0x140534ca0]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x140367f4a
mov r9, qword [rdx + 8]
mov r10, qword [r9 + 0x10]
mov r11d, dword [0x140534ca4]
cmp r11d, 0x25
jle 0x140367f00
mov r9d, dword [0x140534ca4]
cmp r9d, 0x3b
jge 0x140367f20
jmp 0x140367f35
xor ecx, ecx
mov edx, 1
mov r8d, 0x2a76e9d0
mov r9d, 0x1a9160fd
call fcn.1403763a0
mov ecx, dword [0x140534ca4]
cmp ecx, 0x52
jg 0x140368000
mov rcx, rdi
mov rdx, rax
call fcn.1400aee50
mov ecx, dword [0x140534ca0]
nop word cs:[rax + rax]
mov ecx, dword [0x140534ca4]
cmp ecx, 9
jg 0x140367fa0
mov rcx, rax
mov edx, esi
call fcn.14015ebb0
mov rcx, rax
call fcn.140266fe0
mov dl, 1
nop
mov eax, dword [0x140534ca0]
mov ecx, 0x9dd6aa09
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x140367fdd
test dl, dl
jne 0x140367de0
mov eax, dword [0x140534ca0]
mov ecx, dword [0x14051ddd8]
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x140367fc0
jmp 0x140367fd5
xor ecx, ecx
mov edx, 1
mov r8d, 0x2a76e9d0
mov r9d, 0x1a9160fd
call fcn.1403763a0
jmp 0x140367f60
lea rdx, [rbp - 0x30]
mov rcx, qword [rbp + 0x18]
call fcn.140371bf0
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1403680c1
mov eax, dword [0x140534ca0]
lea r8d, [rax - 1]
imul r8d, eax
and r8d, 1
mov eax, dword [0x14051ddd8]
mov r9d, eax
xor r9d, 0x4937e5c0
and eax, 0x4937e5c0
lea eax, [r9 + rax*2]
cmp r8d, eax
mov rax, qword [rcx - 8]
mov r8d, dword [0x140534ca0]
lea r9d, [r8 - 1]
imul r9d, r8d
and r9d, 1
mov r8d, 0x4937e5c0
add r8d, dword [0x14051ddd8]
cmp r9d, r8d
jne 0x140368070
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x14036812b
add rdx, qword [0x14051dde0]
movabs rcx, 0xa2c38b5dbaf60d18
add rdx, rcx
mov rcx, rax
call fcn.1400a6550
xorps xmm0, xmm0
lea rax, [rbp - 0x18]
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov rcx, qword [rax]
test rcx, rcx
je 0x140368105
nop
mov rsi, qword [rcx]
mov edx, 0x20
call fcn.1400a6550
mov rcx, rsi
test rsi, rsi
jne 0x1403680f0
mov rcx, qword [rbp - 0x28]
movabs rdx, 0xa2c38b5dbaf60d11
add rdx, qword [0x14051dde0]
call fcn.1400a6550
nop
add rsp, 0xe0
pop rdi
pop rsi
pop rbp
ret
call fcn.14039c09c
int3