Function at 0x140036d80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r9
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rbx, rdx
mov r15, rcx
mov edx, r8d
lea rcx, [rbp - 0x28]
call fcn.1400a3860
mov rdx, rbx
lea rcx, [rbp - 0x28]
call 0x1400a4e70
test al, al
je 0x1400370f6
mov r8d, 0x3ec502b4
xor r8d, 0x22b8b8ad
add r8d, 0x39d7fc01
xor r8d, 0x5655b63a
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x28]
xor r13b, r13b
call fcn.1400a62d0
test al, al
je 0x1400370f6
xor ebx, ebx
cmp dword [rbp - 0x48], 0x32484346
jne 0x140036ec7
cmp dword [rbp - 0x44], 0x20
jne 0x140036ec7
mov ecx, dword [rbp - 0x40]
mov eax, dword [rbp - 0x3c]
cmp ecx, 0x40
jne 0x140036e30
cmp eax, ecx
je 0x140036ea8
cmp ecx, 0x80
jne 0x140036e44
cmp eax, ecx
je 0x140036ea8
cmp ecx, 0x100
jne 0x140036e58
cmp eax, ecx
je 0x140036ea8
cmp ecx, 0x200
jne 0x140036e6c
cmp eax, ecx
je 0x140036ea8
cmp ecx, 0x400
jne 0x140036e80
cmp eax, ecx
je 0x140036ea8
cmp ecx, 0x800
jne 0x140036e94
cmp eax, ecx
je 0x140036ea8
cmp ecx, 0x1000
jne 0x1400370f6
cmp eax, ecx
jne 0x1400370f6
mov edx, dword [rbp - 0x34]
test edx, edx
jle 0x1400370f6
mov r8d, dword [rbp - 0x38]
mov r13b, 0x19
xor r13b, 0x17
sub r13b, 0xd
jmp 0x140036fa4
xor edx, edx
lea rcx, [rbp - 0x28]
call fcn.1400a6580
mov r8d, 0x728010f
xor r8d, 0x6dc2efc5
sub r8d, 0x69c9130a
xor r8d, 0x121dbd0
mov qword [rbp - 0x58], rbx
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x28]
call fcn.1400a62d0
test al, al
je 0x1400370f6
mov ecx, dword [rbp - 0x58]
mov eax, dword [rbp - 0x54]
cmp ecx, 0x40
jne 0x140036f1d
cmp eax, ecx
je 0x140036f95
cmp ecx, 0x80
jne 0x140036f31
cmp eax, ecx
je 0x140036f95
cmp ecx, 0x100
jne 0x140036f45
cmp eax, ecx
je 0x140036f95
cmp ecx, 0x200
jne 0x140036f59
cmp eax, ecx
je 0x140036f95
cmp ecx, 0x400
jne 0x140036f6d
cmp eax, ecx
je 0x140036f95
cmp ecx, 0x800
jne 0x140036f81
cmp eax, ecx
je 0x140036f95
cmp ecx, 0x1000
jne 0x1400370f6
cmp eax, ecx
jne 0x1400370f6
mov edx, dword [rbp - 0x4c]
test edx, edx
jle 0x1400370f6
mov r8d, dword [rbp - 0x50]
xor eax, 0x33f12d3
xor ecx, 0x33f12d3
xor r8d, 0x33f12d3
xor edx, 0x33f12d3
mov r9d, 0x7f3e5ee7
sub r9d, 0x76753851
sub r9d, 0x8c923ae
mov esi, 0x3d91e2ac
add esi, 0x3da0197b
sub esi, 0x53660448
sub esi, 0x27caf7e0
add r9, r15
mov r10, r15
mov qword [rbp - 0x58], r9
mov dword [r9], ecx
mov dword [r9 + 4], eax
mov eax, 0x6f94fb77
xor eax, 0x334b05c6
add eax, 0x1b7d8bcd
xor eax, 0x785d8a81
mov dword [r15 + 0x2f4], r8d
mov dword [r15 + 0x30c], edx
mov r14d, dword [r15 + 0x2d8]
and r14d, 0x2000
mov dword [rbp - 0x60], r14d
cmovne esi, eax
mov r12d, esi
shl r12, 4
cmp qword [r15 + 0x300], rbx
jne 0x14003708e
mov edx, 0x2231927b
xor edx, 0x789dfa8c
sub edx, 0x4c68398
sub edx, 0x55e5e54f
mov rcx, r12
call fcn.1400bbb40
mov rcx, rax
mov edx, esi
nop dword [rax + rax]
movaps xmm0, xmmword [0x1404e0530]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
sub rdx, 1
jne 0x14003706f
mov qword [r15 + 0x300], rax
mov edx, 0x47e4628e
add edx, 0x1b1942d6
xor edx, 0x4eba295b
sub edx, 0x2c478c2f
mov rcx, r12
call fcn.1400bbb40
mov rdi, rax
test rax, rax
je 0x1400370f6
test r13b, r13b
je 0x140037261
movsxd rcx, dword [rbp - 0x30]
call fcn.1400bbad0
mov r8d, dword [rbp - 0x30]
lea rcx, [rbp - 0x28]
mov rdx, rax
mov r14, rax
call fcn.1400a62d0
test al, al
jne 0x140037125
mov rcx, rdi
call fcn.1400bbaf0
mov rcx, r14
call fcn.1400bbae0
xor bl, bl
lea rcx, [rbp - 0x28]
call fcn.1400a3920
lea r11, [rsp + 0x80]
movzx eax, bl
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp dword [rbp - 0x60], ebx
pushf
mov eax, 0x68123b8b
add eax, 0x16e22e95
sub eax, 0x7ef45a30
popf
mov r8d, dword [rbp - 0x30]
pushf
mov r9d, 0x1b883b13
xor r9d, 0x104443f2
add r9d, 0x3d616eca
sub r9d, 0x491de7bb
popf
cmovne r9d, eax
mov rdx, rdi
mov rcx, r14
call fcn.1400a91b0
movsxd rcx, eax
cmp rcx, r12
jne 0x1400370e6
mov rcx, r14
call fcn.1400bbae0
nop dword [rax]
movups xmm0, xmmword [rbx + rdi]
lea rbx, [rbx + 0x10]
mov rax, qword [r15 + 0x300]
xorps xmm0, xmmword [0x1404e0530]
movups xmmword [rbx + rax - 0x10], xmm0
sub rsi, 1
jne 0x140037188
mov rcx, rdi
call fcn.1400bbaf0
mov rax, qword [rbp - 0x58]
nop
movabs rcx, 0xffffffff4b4ed3bd
xor rcx, 0x7b042d61
xor rcx, 0x246380d1
add rcx, 0x7fffffff
xor rcx, 0x6bd681f3
mov esi, dword [r15 + 0x2ec]
xor esi, 0x33f12d3
mov eax, dword [rax]
xor eax, 0x33f12d3
imul esi, eax
mov eax, 0x2ad25689
add eax, 0xaea6e6d
sub eax, 0x35bcc4f2
movsxd r14, esi
mul r14
cmovo rax, rcx
mov rcx, rax
call fcn.1400bbad0
mov rbx, rax
test rax, rax
je 0x1400370f6
test r13b, r13b
je 0x1400372fa
movsxd rcx, dword [rbp - 0x2c]
call fcn.1400bbad0
mov r8d, dword [rbp - 0x2c]
lea rcx, [rbp - 0x28]
mov rdx, rax
mov rdi, rax
call fcn.1400a62d0
mov rcx, rdi
test al, al
jne 0x1400372b3
call fcn.1400bbae0
mov rcx, rbx
jmp 0x1400370f1
mov eax, 0x630799fb
xor eax, 0x3b0f0cb2
xor eax, 0x58089ab9
lea rcx, [rbp - 0x28]
mov r8d, 0x4ba22873
add r8d, 0x25da5514
sub r8d, 0x3ce10048
sub r8d, 0x348b7d4f
test r14d, r14d
mov rdx, rdi
cmovne r8d, eax
call fcn.1400a62d0
test al, al
jne 0x140037188
mov rcx, rdi
call fcn.1400bbaf0
jmp 0x1400370f6
mov r8d, dword [rbp - 0x2c]
lea r9d, [rsi*4]
mov rdx, rbx
call fcn.1400a91b0
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
mov rcx, rdi
jne 0x140037254
call fcn.1400bbae0
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
mov bl, 0x18
sub bl, 0x12
add bl, 0x58
sub bl, 0x5d
jmp 0x1400370f8
lea r8d, [rsi*4]
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.1400a62d0
test al, al
je 0x140037259
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
mov bl, 0x69
add bl, 6
sub bl, 0x48
sub bl, 0x26
jmp 0x1400370f8