Function at 0x140038cec
Capabilities:
Encode data using xor

Disassembly:
xchg r15, rax
mov r15, rsp
xchg r15, rax
xchg rbx, r15
mov qword [rax + 8], r15
xchg rbx, r15
xchg rsi, rbp
mov qword [rax + 0x10], rbp
xchg rsi, rbp
xchg rdx, rdi
mov qword [rax + 0x18], rdx
xchg rdx, rdi
mov qword [rax + 0x20], r9
nop
mov qword [rsp - 8], rbp
sub rsp, 8
push r8
mov qword [rsp], r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
push 0x587749cf
mov qword [rsp], r14
push r11
mov qword [rsp], r15
xchg rsp, rdx
mov rbp, rdx
xchg rsp, rdx
neg rsp
sub rsp, 0xffffffffffffff80
neg rsp
xchg r8, rbx
mov r8, rdx
xchg r8, rbx
mov rdi, rcx
mov dword [rsp - 0x14], esp
mov edx, r8d
lea rcx, [rbp - 0x20]
call 0x140062f94
xchg rbx, rdx
mov rbx, rdx
xchg rbx, rdx
lea rcx, [rbp - 0x20]
xchg rcx, rcx
call fcn.14006360c
test al, al
je 0x1400390c7
mov r8d, 0x4e509f49
add r8d, 0x221d32b7
xor r8d, 0x7f6702c8
add r8d, 0x66bb75c
sub r8d, 0x15768804
mov byte [rbp - 0x60], 0x73
xor byte [rbp - 0x60], 9
xor byte [rbp - 0x60], 0x1f
sub byte [rbp - 0x60], 0x65
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
mov dword [rsp - 0x38], 0x51364432
call fcn.1400643ec
test al, al
je 0x1400390c7
cmp dword [rbp - 0x40], 0x32484346
mov dword [rsp - 0x14], ebp
pushf
mov r15d, 0x4faa395f
xor r15d, 0x4949b263
add r15d, 0x68de7f74
xor r15d, 0x301e902b
sub r15d, 0x5fdc9a9a
popf
jne 0x140038e6e
cmp dword [rbp - 0x3c], 0x20
mov rcx, rcx
jne 0x140038e6e
mov esi, dword [rbp - 0x38]
lea rdx, [rbp - 0x58]
mov ebx, dword [rbp - 0x34]
mov dword [rsp - 0x38], 0x7f52b7a4
xchg rcx, rdi
mov rdi, rcx
xchg rcx, rdi
mov dword [rbp - 0x58], esi
mov dword [rsp - 0x24], edi
mov dword [rbp - 0x54], ebx
call fcn.140038694
test al, al
mov dword [rsp - 0x10], ebx
je 0x1400390c7
mov eax, dword [rbp - 0x2c]
test eax, eax
jle 0x1400390c7
xchg r13, r13
mov ecx, dword [rbp - 0x30]
mov byte [rbp - 0x60], r15b
jmp 0x140038efe
xor edx, edx
mov dword [rsp - 0x10], 0x7d0f3b08
lea rcx, [rbp - 0x20]
call fcn.140064670
and dword [rbp - 0x50], 0
lea rdx, [rbp - 0x50]
mov r12, r12
and dword [rbp - 0x4c], 0
lea rcx, [rbp - 0x20]
mov r8d, 0x796646ef
sub r8d, 0x2ab3102c
xor r8d, 0x15125fa
sub r8d, 0x13e59250
sub r8d, 0x3bfc80d9
call fcn.1400643ec
test al, al
xchg r12, r12
je 0x1400390c7
lea rdx, [rbp - 0x50]
xchg rcx, r15
mov r15, rdi
xchg rcx, r15
call fcn.140038694
mov r13, r13
test al, al
je 0x1400390c7
mov eax, dword [rbp - 0x44]
mov r11, r11
test eax, eax
jle 0x1400390c7
mov ecx, dword [rbp - 0x48]
mov dword [rsp - 0x38], esp
mov ebx, dword [rbp - 0x4c]
mov esi, dword [rbp - 0x50]
mov r14d, 0x622fdd70
add r14d, 0xd62df75
xor r14d, 0x145b8218
sub r14d, 0x240ece7a
mov edx, 0x7adf20e5
sub edx, 0x19702af9
xor edx, 0x10282739
sub edx, 0x48ea9e22
xor edx, 0x285c365b
xor esi, r14d
mov rsi, rsi
xchg r9, rdx
mov qword [rbp - 0x50], r9
xchg r9, rdx
xor eax, r14d
xchg rsp, rsp
xor ebx, r14d
xor ecx, r14d
xchg r8, r10
mov r10, rdi
xchg r8, r10
mov dword [rdx + rdi], esi
mov dword [rdx + rdi + 4], ebx
mov dword [rsp - 0x20], ebx
mov dword [rdi + 0x2f4], ecx
mov dword [rdi + 0x30c], eax
mov esi, dword [rdi + 0x2d8]
and esi, 0x2000
mov rdx, rdx
mov eax, esi
mov dword [rbp - 0x58], esi
neg eax
sbb r13, r13
mov dword [rsp - 0x38], 0x7a85608c
and r13, 0xffffffffffff0100
sub r13, 0x6dcbdd75
add r13, 0x6dccdd74
xchg r15, r13
mov r12, r15
xchg r13, r15
shl r12, 3
shl r12, 1
cmp qword [rdi + 0x300], 0
jne 0x140039032
mov dword [rsp - 0x44], 0x384cfe0a
mov edx, 0x42b8bf0e
xor edx, 0x72657506
xor edx, 0x1f28e106
xor edx, 0x2ff52b1e
xchg rcx, r9
mov r9, r12
xchg rcx, r9
call fcn.140077bd0
mov rcx, rax
mov dword [rsp - 0x30], 0x6117fc88
xchg r13, rdx
mov r13, rdx
xchg r13, rdx
movaps xmm0, xmmword [0x1400c9ff0]
xchg rcx, rdi
movups xmmword [rdi], xmm0
xchg rcx, rdi
lea rcx, [rcx + 0x10]
xchg r9, r9
sub rdx, r15
jne 0x140039007
xchg rbx, rax
mov qword [rdi + 0x300], rbx
xchg rbx, rax
mov edx, 0x231ced5
xor edx, 0x1f223817
xor edx, 0x72757a14
xor edx, 0x6f668cc6
xchg r8, rcx
mov r8, r12
xchg r8, rcx
call fcn.140077bd0
mov rbx, rax
mov dword [rsp - 0x14], esi
test rax, rax
je 0x1400390c7
cmp byte [rbp - 0x60], 0
je 0x140039285
mov rbx, rbx
movsxd rcx, dword [rbp - 0x28]
call fcn.140077b60
mov r8d, dword [rbp - 0x28]
xchg rcx, rcx
lea rcx, [rbp - 0x20]
xchg rdx, r8
mov r8, rax
xchg rdx, r8
xchg rcx, rax
mov rsi, rcx
xchg rcx, rax
call fcn.1400643ec
xchg r15, r15
test al, al
jne 0x140039126
xchg rcx, rbx
mov rbx, rcx
xchg rbx, rcx
call fcn.140077b80
xchg rsi, rcx
mov rsi, rcx
xchg rsi, rcx
call fcn.140077b70
xchg r11, r11
xor r15b, r15b
lea rcx, [rbp - 0x20]
call 0x140063078
mov dword [rsp - 0x18], ecx
lea r11, [rsp + 0x80]
mov al, r15b
mov rbx, qword [r11 + 0x30]
mov rbx, rbx
xchg rsi, rsp
mov rsp, qword [r11 + 0x38]
xchg rsp, rsi
xchg rbp, rdi
mov rbp, qword [r11 + 0x40]
xchg rdi, rbp
xchg rdi, rsp
mov rdi, r11
xchg rdi, rsp
pop r15
nop
mov r14, qword [rsp]
add rsp, 8
pop r13
nop
mov r12, qword [rsp]
add rsp, 8
nop
mov rbp, qword [rsp]
add rsp, 8
ret
neg dword [rbp - 0x58]
xchg rsi, rbx
mov rdx, rsi
xchg rbx, rsi
mov r8d, dword [rbp - 0x28]
mov rcx, rsi
mov dword [rsp - 0x20], 0x1d35e777
sbb r9d, r9d
and r9d, 0xfff01000
sub r9d, 0x291ce707
add r9d, 0x292ce6f7
call fcn.140073bb0
xchg r9, r9
movsxd rcx, eax
cmp rcx, r12
jne 0x1400390a8
mov r14, r14
xchg rsi, rcx
mov rsi, rcx
xchg rsi, rcx
call fcn.140077b70
mov dword [rsp - 0x34], edi
xor ecx, ecx
xchg r14, rcx
movups xmm0, xmmword [r14 + rbx]
xchg r14, rcx
xchg r12, rax
mov r12, qword [rdi + 0x300]
xchg r12, rax
xorps xmm0, xmmword [0x1400c9ff0]
xchg r12, rcx
movups xmmword [r12 + rax], xmm0
xchg rcx, r12
lea rcx, [rcx + 0x10]
sub r13, r15
mov dword [rsp - 0x40], 0x20bfce4b
jne 0x140039184
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call fcn.140077b80
xchg r13, rax
mov r13, qword [rbp - 0x50]
xchg r13, rax
lea rcx, [r13 - 1]
mov dword [rsp - 0x10], edi
mov esi, dword [rdi + 0x2ec]
xor esi, r14d
mov eax, dword [rax + rdi]
xchg rdi, rdi
xor eax, r14d
imul esi, eax
lea eax, [r13 + 4]
mov dword [rsp - 0x40], ecx
movsxd r14, esi
mul r14
cmovo rax, rcx
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
call fcn.140077b60
xchg rbx, rax
mov rax, rbx
xchg rbx, rax
test rax, rax
mov dword [rsp - 0x34], edx
je 0x1400390c7
cmp byte [rbp - 0x60], r13b
je 0x140039320
movsxd rcx, dword [rbp - 0x24]
mov dword [rsp - 0x38], edi
call fcn.140077b60
mov r8d, dword [rbp - 0x24]
lea rcx, [rbp - 0x20]
mov dword [rsp - 0x40], edx
xchg r10, rdx
mov r10, rax
xchg r10, rdx
xchg r15, rax
mov rdi, r15
xchg r15, rax
call fcn.1400643ec
xchg rdi, r15
mov rcx, r15
xchg rdi, r15
test al, al
jne 0x1400392d7
mov r8, r8
call fcn.140077b70
xchg rbx, r13
mov rcx, r13
xchg rbx, r13
jmp 0x1400390bf
neg esi
lea rcx, [rbp - 0x20]
xchg r8, rbx
mov rdx, r8
xchg rbx, r8
sbb r8d, r8d
mov r14, r14
and r8d, 0xfff01000
sub r8d, 0x4ff55679
add r8d, 0x50055669
call fcn.1400643ec
mov dword [rsp - 0x24], 0x341d4ff6
test al, al
jne 0x140039182
xchg rcx, r15
mov r15, rbx
xchg rcx, r15
call fcn.140077b80
jmp 0x1400390c7
mov r8d, dword [rbp - 0x24]
mov rdx, rdx
lea r9d, [rsi*4]
xchg rbx, r15
mov rdx, r15
xchg rbx, r15
call fcn.140073bb0
xchg rsp, rsp
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
mov rcx, rdi
mov dword [rsp - 0x20], 0x275a550d
jne 0x140039272
call fcn.140077b70
jmp 0x140039345
lea r8d, [rsi*4]
xchg rbx, rcx
mov rdx, rcx
xchg rbx, rcx
lea rcx, [rbp - 0x20]
call fcn.1400643ec
mov r10, r10
test al, al
je 0x140039277
xchg r10, rax
mov r10, qword [rbp + 0x48]
xchg r10, rax
mov qword [rax], rbx
jmp 0x1400390ca