Function at 0x14004fd10
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 8], rcx
mov eax, dword [0x1401dd590]
xor eax, 0xb1e0ccfc
mov ecx, dword [0x1401dd594]
mov edx, 0xb1cbcf96
xor edx, 0xcfebbc4b
xor ecx, edx
imul eax, ecx
mov ecx, 0xd673ba0a
xor ecx, 0x3b3de072
or eax, ecx
and eax, 0x195e58e8
mov edx, 0x985e1980
xor edx, 0x951bae3a
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov edx, 0x3594322f
xor edx, 0x38d18595
or eax, edx
and eax, ecx
cmp eax, 0x70143870
ja 0x1400500d8
mov eax, dword [0x1401dd598]
xor eax, 0xc2cf20b3
mov ecx, dword [0x1401dd59c]
xor edx, edx
div ecx
mov edx, eax
mov eax, edx
and eax, 0xfe9c5a80
mov r8d, eax
not r8d
and r8d, 0x5fa3d77f
mov ecx, edx
and ecx, 0xa01c0880
imul ecx, r8d
and edx, 0x5e805200
or eax, 0x5fa3d77f
imul eax, edx
add eax, ecx
mov edx, eax
not edx
or edx, 0x2f4578b7
mov ecx, eax
mov eax, edx
lea eax, [rax + rcx + 1]
mov dword [rbp - 0x10], eax
mov eax, 0x20
mov qword [rbp - 0x30], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
sub rsp, 0x20
call fcn.14004c253
add rsp, 0x20
mov qword [rbp - 0x18], rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.14004f580
mov rcx, qword [rbp - 0x18]
mov eax, dword [rbp - 0x10]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x40
xor dl, 0x40
cmp cl, dl
sete cl
mov byte [rbp - 9], cl
cmp eax, 0xf0b78da5
ja 0x14004fd7d
mov cl, byte [rbp - 9]
xor eax, eax
test cl, 1
mov qword [rbp - 0x38], rax
jne 0x14004fe5e
jmp 0x1400500cf
mov r11d, dword [0x1401dd5a0]
mov eax, dword [0x1401dd5a4]
xor eax, 0xabf77035
imul r11d, eax
and r11d, 0xfdbe29b
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xce151050
mov edx, 0xffffffff
xor edx, 0x72c9c19a
mov eax, ecx
and eax, 0x72c9c19a
and r11d, edx
mov r9d, r8d
and r9d, 0x72c9c19a
mov r10d, edx
and r10d, 0xce151050
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x72c9c19a
and ecx, edx
or eax, ecx
mov ecx, 0xaa0c8c88
xor edx, edx
div ecx
cmp eax, 0x44e88b58
jae 0x1400500e1
mov eax, dword [0x1401dd5a8]
xor eax, dword [0x1401dd5ac]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x592f367a
add ecx, eax
mov eax, 0x1a68ef1c
xor eax, 0x1a68ef1c
sub eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x8eaf1062
mov ecx, 0xffffffff
xor ecx, 0xcb2c1c81
or eax, edx
or ecx, 0xcb2c1c81
xor eax, 0xffffffff
and eax, ecx
add eax, 0x9fb22ecd
mov dword [rbp - 0x40], eax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.140013610
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.14004fc21
mov rcx, qword [rbp - 0x18]
mov eax, dword [rbp - 0x40]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0xd24c1c61
jae 0x1400500e1
mov rax, qword [rbp - 0x48]
mov cl, byte [rbp - 0x39]
test cl, 1
mov qword [rbp - 0x38], rax
jne 0x14004ff9b
jmp 0x1400500cf
mov ecx, dword [0x1401dd5b0]
mov edx, dword [0x1401dd5b4]
xor edx, 0x53871537
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x823856b7
xor edx, 0x7dc7a948
xor ecx, edx
or eax, ecx
and eax, 0xc770325d
add eax, 0x3de80b5
mov ecx, 0x50054ab5
xor ecx, 0xd7ec859e
xor edx, edx
div ecx
cmp eax, 0xb53c096d
jae 0x1400500ea
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x1401dd5b8]
mov r9d, dword [0x1401dd5bc]
mov edx, eax
xor edx, 0xffffffff
mov r8d, r9d
and r8d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x2bde2c3
and edx, 0x2bde2c3
xor edx, 0xffffffff
mov r8d, 0x245909fe
xor r8d, 0xdba6f601
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
mov r8d, 0x34debb46
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x20]
mov r8d, eax
mov rax, qword [rbp - 0x28]
mov r10d, r8d
and r10d, 0xfea20c1d
mov r9d, 0xc52f5a12
xor r9d, 0xc52f5a10
imul r9d, r10d
add r8d, 0xfea20c1d
sub r8d, r9d
mov dword [rbp - 0x4c], r8d
mov r8, qword [rax]
mov qword [rdx], r8
mov r8, qword [rax + 8]
mov qword [rdx + 8], r8
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.14004f6e0
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
cmp eax, 0x54d4b0c1
je 0x1400500ea
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x38], rax
jmp 0x1400500cf
mov rax, qword [rbp - 0x38]
mov rsp, rbp
pop rbp
ret
je 0x140050108
jbe 0x1400500e4
jmp 0x14004fd7d
insd dword [rdi], dx
invalid
in al, dx
jmp 0x14004fee4
sub dword [rax], ebx
xor eax, ebx
jmp 0x14004ffef
push rax