Function at 0x14036d2c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
movdqa xmmword [rbp - 0x10], xmm6
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov r9, rcx
mov r12, qword [rcx]
mov r15, qword [rcx + 8]
mov r10, r15
sub r10, r12
mov eax, dword [0x14051dde0]
mov ecx, eax
xor ecx, 0xf4
and eax, 0x74
lea ecx, [rcx + rax*2]
mov rax, r10
sar rax, cl
cmp rax, rdx
jae 0x14036d371
mov rax, rdx
shr rax, 0x3d
jne 0x14036d3a0
mov qword [rbp - 0x28], r10
movzx ecx, byte [0x14051dde0]
add cl, 0xf4
mov rax, rdx
shl rax, cl
cmp rdx, 0x200
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x40], rdx
mov qword [rbp - 0x30], r9
jb 0x14036d385
mov qword [rbp - 0x20], rax
movabs rax, 0x1ffffffffffffffc
cmp rdx, rax
jae 0x14036d3a0
mov eax, dword [0x140534ca0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x14036d3fd
jmp 0x14036d3a5
mov eax, dword [0x140534ca4]
cmp eax, 0x23
jg 0x14036d6d0
jmp 0x14036d6c2
mov rcx, rax
mov edx, 0xe326e409
mov r8d, 0x40647e39
call fcn.1400a83d0
mov r15, rax
jmp 0x14036d4bf
call fcn.1400845c0
mov rax, qword [0x14051dde0]
add rax, qword [rbp - 0x20]
movabs rcx, 0xa2c38b5dbaf60d18
add rcx, rax
mov edx, 0xe326e409
mov r8d, 0x40647e39
call fcn.1400a83d0
mov rcx, rax
xor rcx, 0x27
lea edx, [rax + rax]
and edx, 0x4e
mov r8, rcx
xor r8, rdx
and edx, ecx
lea r15, [r8 + rdx*2]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
mov eax, dword [0x140534ca4]
cmp eax, 0x17
jl 0x14036d4bf
imul rsi, qword [rbp - 0x20], 0x27
movabs r15, 0x3435c4b8848319a1
movabs r13, 0xd7a1569c79ca7a6
movabs rbx, 0x954975f3f3596572
movabs rdi, 0x458716bb75ec19c2
movabs r14, 0xba78e9448a13e63e
mov r12d, 0x4937e5e9
nop word [rax + rax]
mov rax, rsi
sub rax, qword [0x14051dde0]
imul rax, rax, 0x27
add rax, r15
imul ecx, eax, 0x27
add cl, 0xf
shl rax, cl
mov rcx, rax
mov edx, 0xe326e409
mov r8d, 0x40647e39
call fcn.1400a83d0
mov rcx, qword [0x14051dde0]
mov rdx, rcx
xor rdx, r13
mov r8, rcx
and r8, r13
lea rdx, [rdx + r8*2]
add rdx, rbx
mov r8, rdx
sub r8, rcx
sub r8, rcx
mov rcx, rdi
sub rcx, r8
add r8, rdx
add r8, r14
imul r8, rcx
and r8, rdx
mov qword [r8 - 8], rax
mov eax, dword [0x140534ca4]
mov ecx, dword [0x14051ddd8]
add ecx, r12d
cmp eax, ecx
jge 0x14036d440
jmp 0x14036d3a5
mov rdx, qword [rbp - 0x28]
test rdx, rdx
mov rdi, qword [rbp - 0x38]
mov rsi, qword [rbp - 0x30]
je 0x14036d532
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14036d52d
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x14036d5d8
mov ecx, dword [0x140534ca4]
mov r9d, dword [0x14051ddd8]
mov r8d, r9d
xor r8d, 0x4937e5f2
and r9d, 0x4937e5f2
lea r8d, [r8 + r9*2]
cmp ecx, r8d
nop word cs:[rax + rax]
mov cl, 1
test cl, cl
je 0x14036d520
add rdx, 0x27
mov rcx, rax
call fcn.1400a6550
mov qword [rsi], r15
mov r10, qword [rbp - 0x40]
lea r8, [r15 + r10*8]
mov qword [rsi + 8], r8
mov qword [rsi + 0x10], r8
mov rax, qword [0x14051dde0]
movabs rcx, 0xc2c38b5dbaf60cf0
add rcx, rax
movabs rdx, 0x3d3c74a24509f30f
sub rdx, rax
mov r9, r10
xor r9, rdx
xor rdx, rcx
and rdx, r10
xor rdx, rcx
and r9, r10
add r9, r9
mov rcx, rdx
xor rcx, r9
and r9, rdx
lea rcx, [rcx + r9*2]
movabs rdx, 0x1fffffffffffffff
xor rdx, rcx
not rcx
movabs r9, 0xe000000000000000
and r9, rcx
or r9, rdx
mov rcx, r9
not rcx
movabs rdx, 0xa2c38b5dbaf60cf4
add rdx, rax
cmp rcx, rdx
jae 0x14036d5c8
mov r10, r15
jmp 0x14036d6b0
neg r9
mov eax, dword [0x140534ca4]
cmp eax, 0x61
jle 0x14036d5dd
jmp 0x14036d628
call fcn.14039c09c
mov r11, r9
xor r11, 3
and r11, r9
movzx ecx, byte [0x14051dde0]
add cl, 0xf4
mov r10, r11
shl r10, cl
mov ecx, dword [0x140534ca0]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14051ddd8]
mov edx, ecx
xor edx, 0x4937e5c2
not ecx
and ecx, 0x36c81a3d
or ecx, edx
not ecx
lea ecx, [rdx + rcx*2]
xor edx, edx
div ecx
test edx, edx
je 0x14036d64d
mov eax, 0x4937e5c0
nop dword [rax]
mov ecx, dword [0x140534ca0]
lea edx, [rcx + 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x14051ddd8]
add ecx, eax
cmp edx, ecx
jne 0x14036d630
jmp 0x14036d5dd
add r10, r15
movq xmm0, rdi
pshufd xmm0, xmm0, 0x44
xor eax, eax
movabs rdx, 0xa2c38b5dbaf60cf5
nop word cs:[rax + rax]
movzx ecx, byte [0x14051dde0]
add cl, 0xf4
mov rsi, rax
shl rsi, cl
movdqu xmmword [r15 + rsi], xmm0
movdqu xmmword [r15 + rsi + 0x10], xmm0
add rax, qword [0x14051dde0]
add rax, rdx
cmp rax, r11
jne 0x14036d670
cmp r9, r11
je 0x14036d86d
nop word cs:[rax + rax]
add r10, 8
mov qword [r10 - 8], rdi
cmp r10, r8
jne 0x14036d6b0
jmp 0x14036d86d
mov eax, dword [0x140534ca4]
cmp eax, 0x24
jl 0x14036d6ed
nop dword [rax]
mov eax, dword [0x14051ddd8]
mov ecx, eax
xor ecx, 0x36c81a3f
and ecx, eax
xor eax, 0x4937e5c0
add ecx, ecx
add ecx, eax
jne 0x14036d6d0
jmp 0x14036d6c2
cmp r12, r15
je 0x14036d86d
movabs rax, 0x79c4796b2214ea0f
add rax, r15
movabs rcx, 0x7ffffffffffffff8
and rcx, rax
xor rax, 0xfffffffffffffff8
lea rax, [rax + rcx*2]
sub rax, r12
movabs rcx, 0x863b8694ddeb15f1
add rcx, rax
cmp rcx, 0x18
jae 0x14036d736
mov rbx, r12
jmp 0x14036d860
shr rcx, 3
inc rcx
mov qword [rbp - 0x30], rcx
and rcx, 0xfffffffffffffffc
lea rbx, [r12 + rcx*8]
mov qword [rbp - 0x38], r8
movq xmm0, r8
pshufd xmm6, xmm0, 0x44
mov qword [rbp - 0x28], rcx
lea rax, [rcx - 4]
mov qword [rbp - 0x20], rax
mov r14, 0xffffffffffffffff
xor esi, esi
xor r13d, r13d
xor edi, edi
nop word cs:[rax + rax]
mov eax, dword [0x140534ca4]
cmp eax, 0xc
jg 0x14036d7b2
nop dword [rax + rax]
movdqu xmmword [r12 + rdi*8], xmm6
movdqu xmmword [r12 + rdi*8 + 0x10], xmm6
mov eax, dword [0x140534ca0]
mov ecx, 0xed500591
sub ecx, eax
imul ecx, eax
test cl, 1
je 0x14036d820
mov rax, r13
imul rax, rsi
mov ecx, eax
neg ecx
mov edx, esi
xor edx, ecx
lea ecx, [rax - 1]
mov r8d, r14d
and r8d, ecx
or r8d, edx
not r8d
lea ecx, [rdx + r8*2]
shl rax, cl
mov rdx, rax
shl rdx, cl
mov ecx, eax
sub ecx, edx
imul ecx, edx
shl rax, cl
movdqu xmmword [r12 + rax], xmm6
movdqu xmmword [r12 + rax + 0x10], xmm6
mov ecx, 0x10
call fcn.14039c114
mov qword [0x140534c80], rax
lea rcx, [0x140374b50]
call fcn.1403bbdc0
jmp 0x14036d790
cmp qword [rbp - 0x20], rdi
je 0x14036d844
add r13, 0xffffffffffffff20
add rsi, 0x100
add r14, 0xffffffffffffff00
add rdi, 4
jmp 0x14036d780
mov rax, qword [rbp - 0x28]
cmp qword [rbp - 0x30], rax
mov r8, qword [rbp - 0x38]
je 0x14036d86d
nop word cs:[rax + rax]
add rbx, 8
mov qword [rbx - 8], r8
cmp rbx, r15
jne 0x14036d860
mov eax, dword [0x140534ca0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x4937e5c0
add eax, dword [0x14051ddd8]
cmp ecx, eax
jne 0x14036d8a0
mov eax, dword [0x140534ca4]
mov ecx, 0x4937e5f2
add ecx, dword [0x14051ddd8]
cmp eax, ecx
jl 0x14036d8bc
mov eax, dword [0x140534ca0]
mov ecx, dword [0x14051ddd8]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x14036d8a0
jmp 0x14036d88b
movaps xmm6, xmmword [rbp - 0x10]
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret