Function at 0x140051ca0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov rsi, rcx
mov rax, qword [0x1400d6560]
mov rdi, qword [rax]
cmp rdi, 0
jne 0x140051cf0
lea rcx, [rsp + 0x60]
lea rdx, [0x1400b6788]
mov r8d, 0xe
call fcn.140079cb0
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x60], rax
je 0x140051cf9
jmp 0x140051d03
add rdi, 0xffffffffffffffff
jmp 0x140051dc9
mov edi, 0x200000
jmp 0x140051db9
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x40]
call fcn.140081e50
mov r8, rdx
lea rcx, [rsp + 0x90]
mov rdx, rax
call fcn.140082200
cmp qword [rsp + 0x90], 0
jne 0x140051d8f
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
lea rcx, [rsp + 0x80]
call fcn.140095400
mov al, byte [rsp + 0x80]
cmp al, 0
sete cl
cmp al, 0
cmove rdi, qword [rsp + 0x88]
and cl, 1
movzx ebx, cl
jmp 0x140051d91
xor ebx, ebx
mov rdx, qword [rsp + 0x40]
cmp rdx, 0
je 0x140051dac
mov rcx, qword [rsp + 0x48]
mov r8d, 1
call fcn.1400541d0
mov eax, 0x200000
cmp rbx, 0
cmove rdi, rax
mov rax, rdi
inc rax
mov rcx, qword [0x1400d6560]
mov qword [rcx], rax
call fcn.1400784f0
mov qword [rsp + 0x28], rax
mov ecx, 1
lock xadd qword [rax], rcx
cmp rcx, 0
jl 0x140051e42
mov r12, qword [rsp + 0x28]
mov al, byte [0x1400d7030]
mov ecx, 0x30
mov edx, 8
call fcn.1400541c0
mov rbx, rax
cmp rbx, 0
jne 0x140051e15
mov ecx, 8
mov edx, 0x30
call fcn.14005f780
mov qword [rbx], 1
mov qword [rbx + 8], 1
xorps xmm0, xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rsp + 0x30], rbx
mov eax, 1
lock xadd qword [rbx], rax
cmp rax, 0
jl 0x140051eae
jmp 0x140051e44
ud2
mov eax, dword [0x1400d63c0]
sub eax, dword [0x1400d63c4]
mov ecx, 0x4a7ac83d
xor edx, edx
div ecx
xor eax, 0x42a5708d
imul eax, eax, 0x49475f7b
cmp eax, 0x1722bb62
je 0x140052068
jmp 0x140051e71
mov ebp, dword [0x1400d63c8]
xor ebp, dword [0x1400d63cc]
add ebp, 0x379dead5
sub ebp, 0x3680058a
sub ebp, 0xaf2d4c1a
xor ecx, ecx
call fcn.1400792d0
mov r14, rax
cmp r14, 0
sete al
cmp ebp, 0x40e08eda
ja 0x140051e71
test al, 1
jne 0x140051ec0
jmp 0x140051eb0
ud2
mov eax, 1
lock xadd qword [r14], rax
cmp rax, 0
jl 0x140051ef9
mov rcx, r14
call fcn.1400792d0
mov qword [rsp + 0x38], rax
cmp rax, 0
je 0x140051ee8
lock dec qword [rax]
sete al
test al, 1
je 0x140051ee8
lea rcx, [rsp + 0x38]
call fcn.1400416d0
mov r13, qword [rsp + 0x30]
mov rcx, qword [r13 + 0x10]
cmp rcx, 0
je 0x140051f04
jmp 0x140051efb
ud2
add rcx, 0x10
call fcn.140085070
mov al, byte [0x1400d7030]
mov ecx, 0x18
mov edx, 8
call fcn.1400541c0
mov r15, rax
cmp r15, 0
je 0x140051fa9
mov eax, dword [0x1400d63d0]
sub eax, dword [0x1400d63d4]
add eax, 0xb02cce32
add eax, 0x2b3371f6
sub eax, 0xee2d0e05
cmp eax, 0x8c929f2e
jae 0x14005207c
mov eax, dword [0x1400d63d8]
or eax, dword [0x1400d63dc]
mov ecx, 0x73baa28e
xor edx, edx
div ecx
mov ebp, eax
sub ebp, 0x39cd326a
add ebp, 0xa5bd05b7
mov qword [r15], r12
mov qword [r15 + 8], rbx
mov qword [r15 + 0x10], r14
lea r8, [0x1400b6748]
mov rcx, rdi
mov rdx, r15
call fcn.140081000
cmp rax, 0
sete al
cmp ebp, 0xdd2010dd
jae 0x14005207c
test al, 1
jne 0x14005203f
jmp 0x140051fb8
mov ecx, 8
mov edx, 0x18
call fcn.14005f780
lock dec qword [r13]
sete al
test al, 1
je 0x140051fce
lea rcx, [rsp + 0x30]
call fcn.140041550
mov rax, qword [rsp + 0x28]
lock dec qword [rax]
sete al
test al, 1
je 0x140052066
mov eax, dword [0x1400d63e0]
sub eax, dword [0x1400d63e4]
imul eax, eax, 0xcd8b6af5
or eax, 0x915813d
sub eax, 0x80adeb37
cmp eax, 0x3324d368
ja 0x1400520aa
jmp 0x14005200b
mov esi, dword [0x1400d63e8]
mov eax, dword [0x1400d63ec]
xor esi, eax
xor esi, 0x9adff643
add esi, 0xbb2bb6ef
and esi, 0xb0e5f933
lea rcx, [rsp + 0x28]
call fcn.1400412a0
cmp esi, 0xbcb98858
jae 0x14005200b
jmp 0x140052066
mov rax, qword [rsp + 0x28]
mov qword [rsi], rax
mov qword [rsi + 8], r13
mov qword [rsi + 0x10], rdx
mov rax, rsi
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
xchg byte [rcx - 0x66a10147], dl
xor ecx, ecx
call fcn.1400792d0
jmp 0x140051e6f
cmp eax, 0x10c05730
ficomp dword [rax]
mov esp, 0x4d6d17c7
mov dword [rdi], esp
mov qword [r15 + 8], rbx
mov qword [r15 + 0x10], r14
lea r8, [0x1400b6748]
mov rcx, rdi
mov rdx, r15
call fcn.140081000
jmp 0x140051f4c
imul ecx, edx, 0xe
insb byte [rdi], dx
cld
invalid