Function at 0x14004d980
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, qword [rcx]
mov rbx, rsi
add rbx, 0x58
mov r15, qword [rsi + 0x58]
mov r14, rsi
add r14, 0x60
mov r12, qword [rsi + 0x60]
cmp r12, 0
je 0x14004da73
xor r13d, r13d
jmp 0x14004d9b7
mov rax, r13
shl rax, 4
mov rdi, r15
add rdi, rax
add r13, 1
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x14004d9de
mov rcx, rdi
call fcn.14004d180
mov eax, dword [0x1400e6db0]
xor eax, dword [0x1400e6db4]
sub eax, 0xc39001ab
imul eax, eax, 0x153d5695
add eax, 0x639b9948
cmp eax, 0x6cf0f27d
jbe 0x14004dcb3
mov eax, dword [0x1400e6db8]
xor edx, edx
div dword [0x1400e6dbc]
mov ecx, 0x7877bf0d
xor edx, edx
div ecx
and eax, 0x9d20f29
add eax, 0xdf881be6
mov rcx, rdi
add rcx, 8
mov rdx, qword [rdi + 8]
lock dec qword [rdx]
sete dl
cmp eax, 0x4abdfbda
jb 0x14004dcb3
test dl, 1
jne 0x14004da4a
jmp 0x14004da4f
call fcn.14004cbd0
cmp r13, r12
jne 0x14004d9b7
mov rdx, qword [r14]
cmp rdx, 0
je 0x14004da73
mov rcx, qword [rbx]
shl rdx, 4
mov r8d, 8
call fcn.140063a00
mov rdi, qword [rsi + 0x70]
cmp rdi, 0
je 0x14004dae3
mov eax, dword [0x1400e6dc0]
imul eax, dword [0x1400e6dc4]
xor eax, 0x502118a6
sub eax, 0xec43ce0
sub eax, 0xc8f4e34b
cmp eax, 0x671f4a23
je 0x14004dccb
mov ebx, dword [0x1400e6dc8]
or ebx, dword [0x1400e6dcc]
or ebx, 0x312a69a7
or ebx, 0x17c1304c
and ebx, 0x42ed37e
mov rcx, qword [rsi + 0x68]
imul rdx, rdi, 0x18
mov r8d, 8
call fcn.140063a00
cmp ebx, 0xeade8c30
jae 0x14004dccb
jmp 0x14004dae3
mov rdx, qword [rsi + 0xd0]
cmp rdx, 0
je 0x14004db06
mov rcx, qword [rsi + 0xd8]
shl rdx, 3
mov r8d, 8
call fcn.140063a00
mov eax, dword [0x1400e6dd0]
sub eax, dword [0x1400e6dd4]
add eax, 0xcfae160d
mov ecx, 0x1b3eec6
xor edx, edx
div ecx
add eax, 0x13d50660
cmp eax, 0x78171ac8
jae 0x14004dcef
jmp 0x14004db32
mov eax, dword [0x1400e6dd8]
and eax, dword [0x1400e6ddc]
imul edi, eax, 0x3981fca8
xor edi, 0xa699e5d8
xor edi, 0x9f1bb076
mov rcx, rsi
add rcx, 0x108
call fcn.140054680
mov rdx, qword [rsi + 0x108]
cmp rdx, 0
sete al
cmp edi, 0xc5b67809
jb 0x14004db32
test al, 1
jne 0x14004db91
jmp 0x14004db7b
mov rcx, qword [rsi + 0x110]
shl rdx, 3
mov r8d, 8
call fcn.140063a00
mov eax, dword [0x1400e6de0]
sub eax, dword [0x1400e6de4]
add eax, 0x41d0267e
imul eax, eax, 0xa26a83ad
add eax, 0xfc39190d
cmp eax, 0x49acc5a2
ja 0x14004dd0b
jmp 0x14004dbba
mov r8d, dword [0x1400e6de8]
imul r8d, dword [0x1400e6dec]
sub r8d, 0xfeb5496f
xor r8d, 0x14985ea0
and r8d, 0xe3a87251
mov rax, rsi
add rax, 0x20
mov rcx, qword [rsi + 0x20]
cmp rcx, 0
sete dl
cmp r8d, 0xc78bc503
je 0x14004dbba
test dl, 1
jne 0x14004dc18
jmp 0x14004dc00
lock dec qword [rcx]
sete cl
test cl, 1
je 0x14004dc18
mov rcx, qword [rax]
mov rdx, qword [rsi + 0x28]
call fcn.14004c5f0
mov rax, rsi
add rax, 0x30
mov rcx, qword [rsi + 0x30]
cmp rcx, 0
je 0x14004dc41
lock dec qword [rcx]
sete cl
test cl, 1
je 0x14004dc41
mov rcx, qword [rax]
mov rdx, qword [rsi + 0x38]
call fcn.14004c5f0
mov rcx, rsi
add rcx, 0x120
call fcn.14004be40
mov rcx, rsi
add rcx, 0x1a8
mov rax, qword [rsi + 0x1a8]
lock dec qword [rax]
sete al
test al, 1
je 0x14004dc71
call fcn.14004c0a0
mov rax, 0xffffffffffffffff
cmp rsi, rax
je 0x14004dca2
mov rax, rsi
add rax, 8
lock dec qword [rax]
sete al
test al, 1
je 0x14004dca2
mov rcx, rsi
mov edx, 0x1c0
mov r8d, 8
call fcn.140063a00
nop
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
push rsp
mov es, word [rbx + 0x300072b0]
fisttp word [rax - 0x75]
or r8b, r14b
dec qword [rax]
sete al
jmp 0x14004da05
pop rsi
retf
sahf
invalid
xor dl, byte [rdx]
movabs al, byte [0xa684db8f743d0307]
shr ecx, cl
pushfq
invalid