Function at 0x140037dd0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push r12
push r14
push r15
sub rsp, 0xb8
mov rax, qword [0x14010bcf8]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r12, qword [rsp + 0x110]
mov r14, r8
mov esi, dword [rsp + 0x128]
xor r15d, r15d
mov qword [rsp + 0x40], rcx
mov ecx, dword [rsp + 0x118]
mov dword [rsp + 0x30], r9d
mov ebx, edx
call fcn.140027f10
mov ebp, eax
test eax, eax
js 0x140037ed7
cmp ebx, eax
je 0x140037e38
mov eax, 0xffffff53
jmp 0x140037ed7
mov ecx, dword [rsp + 0x130]
lea eax, [rcx - 1]
and eax, 7
mov dword [rsp + 0x38], eax
jne 0x140037e59
mov byte [r14], r15b
inc r14
dec r9d
mov dword [rsp + 0x30], r9d
cmp esi, 0xffffffff
jne 0x140037e72
mov esi, ebp
cmp ecx, 0x400
jne 0x140037e83
cmp ebp, 0x40
jne 0x140037e83
lea esi, [rbp - 2]
jmp 0x140037e83
cmp esi, ebp
jg 0x140038114
cmp esi, 0xffffffff
jl 0x140038114
mov ecx, r9d
lea eax, [rsi + 2]
sub ecx, ebp
cmp ecx, eax
jl 0x140038114
lea eax, [rcx - 1]
mov qword [rsp + 0xa8], r13
mov dword [rsp + 0x34], eax
lea eax, [rbx + 8]
add eax, esi
cmp r9d, eax
jae 0x140037efd
mov ecx, eax
mov rax, qword [0x140397868]
test rax, rax
je 0x140037ebe
call rax
jmp 0x140037ec3
call fcn.1400b85d8
mov r15, rax
test rax, rax
jne 0x140037ef8
lea eax, [r15 - 0x7d]
mov r13, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400b06c0
add rsp, 0xb8
pop r15
pop r14
pop r12
pop rsi
pop rbp
pop rbx
ret
mov r13, r15
jmp 0x140037f00
mov r13, r14
mov rdx, qword [rsp + 0x40]
xor eax, eax
mov qword [rsp + 0xb0], rdi
mov r8, rbx
lea rdi, [r13 + 8]
mov qword [r13], rax
mov rcx, rdi
call fcn.1400b14c0
add rdi, rbx
test esi, esi
jle 0x140037f59
mov r8d, esi
lea rdx, [rsp + 0x50]
mov rcx, r12
call fcn.14000b930
mov r12d, eax
test eax, eax
jne 0x1400380e1
movsxd rbx, esi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.1400b14c0
add edi, ebx
movsxd rbx, dword [rsp + 0x34]
sub edi, r13d
mov ecx, dword [rsp + 0x118]
mov r8d, edi
mov rdx, r13
mov dword [rsp + 0x20], ebp
lea r9, [rbx + r14]
call fcn.140027fc0
mov r12d, eax
test eax, eax
jne 0x1400380e1
mov eax, dword [rsp + 0x30]
lea rdx, [rbx + r14]
mov ecx, dword [rsp + 0x120]
dec eax
mov r9, r14
mov r8d, ebp
mov byte [rax + r14], 0xbc
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x20], eax
call fcn.140037a80
mov r12d, eax
test eax, eax
jne 0x1400380e1
mov ecx, dword [rsp + 0x38]
test ecx, ecx
je 0x140037fce
mov eax, 1
shl al, cl
dec al
and byte [r14], al
movsxd r8, esi
xor r9d, r9d
sub rbx, r8
xor byte [rbx + r14 - 1], 1
lea rdx, [rbx + r14]
test esi, esi
jle 0x1400380b4
cmp esi, 0x40
jb 0x1400380b4
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x50]
add rax, rcx
lea r10, [rdx + rcx]
cmp rdx, rax
ja 0x140038017
lea rax, [rsp + 0x50]
cmp r10, rax
jae 0x1400380b4
mov eax, esi
and eax, 0x8000003f
jge 0x140038027
dec eax
or eax, 0xffffffc0
inc eax
sub esi, eax
lea r10, [rsp + 0x50]
lea r11, [rsp + 0x60]
movsxd rdi, esi
sub r10, rdx
lea rcx, [rdx + 0x20]
sub r11, rdx
mov rbx, 0xffffffffffffffe0
sub rbx, rdx
nop word [rax + rax]
movdqu xmm0, xmmword [rcx - 0x20]
add r9d, 0x40
movdqu xmm1, xmmword [r10 + rcx - 0x20]
movdqu xmm2, xmmword [r10 + rcx]
lea rcx, [rcx + 0x40]
pxor xmm1, xmm0
lea rax, [rcx + rbx]
movdqu xmmword [rcx - 0x60], xmm1
movdqu xmm0, xmmword [rcx - 0x50]
movdqu xmm1, xmmword [r11 + rcx - 0x60]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x50], xmm1
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmm1, xmmword [r11 + rcx - 0x40]
pxor xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm2
movdqu xmm0, xmmword [rcx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
cmp rax, rdi
jl 0x140038050
movsxd rcx, r9d
cmp rcx, r8
jge 0x1400380e1
lea r9, [rsp + 0x50]
sub r9, rdx
lea rax, [rcx + rdx]
sub r8, rcx
nop dword [rax + rax]
movzx edx, byte [r9 + rax]
xor byte [rax], dl
lea rax, [rax + 1]
sub r8, 1
jne 0x1400380d0
mov rdi, qword [rsp + 0xb0]
test r15, r15
je 0x14003810c
mov rax, qword [0x140398920]
mov rcx, r15
test rax, rax
je 0x140038107
call rax
mov eax, r12d
jmp 0x140037ecf
call fcn.1400b8268
mov eax, r12d
jmp 0x140037ecf
mov eax, 0xffffff06
jmp 0x140037ed7