Function at 0x1400179d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x141dbec28]
or eax, dword [0x141dbec2c]
add eax, 0x7d60d1fd
mov ecx, 0xfb1d1971
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xa94ed6ac
ja 0x140017a50
mov eax, dword [0x141dbec30]
imul eax, dword [0x141dbec34]
imul ecx, eax, 0xe3f599f0
xor ecx, 0x735fb8d5
add ecx, 0xbfab86ee
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xf6f84b9a
jbe 0x140017a6c
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
jmp 0x140017a09
mov rcx, qword [rsi]
cmp rcx, 0xffffffffffffffff
je 0x140017d92
movabs rax, 0x7ffffffffffffff
lea rdx, [rcx + 1]
lea r8, [rcx + rcx]
mov r9d, 4
nop word cs:[rax + rax]
mov r10d, dword [0x141dbec38]
sub r10d, dword [0x141dbec3c]
shr r10d, 5
imul r10, r10, 0x15c808b
shr r10, 0x2f
cmp r8, rdx
mov r15, rdx
cmova r15, r8
cmp r15, 5
cmovb r15, r9
cmp r10d, 0xaa96b8b6
je 0x140017aa0
mov r14, r15
shl r14, 5
movabs r8, 0x7ffffffffffffff8
nop dword [rax]
cmp r15, rax
seta dl
mov r10d, dword [0x141dbec40]
add r10d, dword [0x141dbec44]
and r10d, 0xae0e4928
cmp r14, r8
seta r9b
cmp r10d, 0x2d1f7beb
je 0x140017af0
or dl, r9b
nop
mov eax, dword [0x141dbec48]
sub eax, dword [0x141dbec4c]
imul eax, eax, 0x4098b7fb
or eax, 0xa2c10001
and eax, 0xabf1e7d1
cmp eax, 0x5da650bd
jb 0x140017b20
test dl, dl
jne 0x140017d92
nop dword [rax + rax]
mov eax, dword [0x141dbec50]
sub eax, dword [0x141dbec54]
or eax, 0xa8060222
and eax, 0xa807023b
cmp eax, 0xb90cf2ae
ja 0x140017b50
test rcx, rcx
je 0x140017c54
mov eax, dword [0x141dbec58]
xor edx, edx
div dword [0x141dbec5c]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140017b90
mov edx, dword [0x141dbec60]
and edx, dword [0x141dbec64]
mov rax, qword [rsi + 8]
and edx, 0x1098070
xor edx, 0x7c3ba167
cmp edx, 0x4d7d9f5
jae 0x140017bbb
mov qword [rbx], rax
shl rcx, 5
nop
mov edx, dword [0x141dbec68]
add edx, dword [0x141dbec6c]
imul edx, edx, 0x4f2e9a6b
add edx, 0x7b19cbc4
or edx, 0x850ded94
mov qword [rbx], rax
cmp edx, 0xad5915e8
je 0x140017bc0
mov eax, dword [0x141dbec70]
sub eax, dword [0x141dbec74]
or eax, 0x2c577256
add eax, 0xb76df313
and eax, 0x4504e529
cmp eax, 0x836f05d5
jbe 0x140017c0f
mov qword [rbx + 0x10], rcx
mov eax, 0xdc6e046b
nop word cs:[rax + rax]
mov edx, dword [0x141dbec78]
and edx, dword [0x141dbec7c]
xor edx, 0x6a9a8011
imul edx, edx, 0xe0b4258c
imul rdx, rax
shr rdx, 0x3f
mov qword [rbx + 0x10], rcx
cmp edx, 0x1b9cfb07
ja 0x140017c20
mov r12d, 8
jmp 0x140017c57
xor r12d, r12d
mov eax, dword [0x141dbec80]
xor eax, dword [0x141dbec84]
or eax, 0xffebcfff
and eax, 0xfffbefff
cmp eax, 0x3d0b3da0
je 0x140017cb6
mov eax, dword [0x141dbec88]
add eax, dword [0x141dbec8c]
imul r13d, eax, 0x17d00dc0
xor r13d, 0xecaa3148
mov qword [rbx + 8], r12
sub rsp, 0x20
mov edx, 8
mov rcx, rdi
mov r8, r14
mov r9, rbx
call fcn.1400bff80
add rsp, 0x20
cmp r13d, 0x9d822e52
jae 0x140017cd7
mov qword [rbx + 8], r12
sub rsp, 0x20
mov edx, 8
mov rcx, rdi
mov r8, r14
mov r9, rbx
call fcn.1400bff80
add rsp, 0x20
jmp 0x140017c74
cmp qword [rdi], 0
jne 0x140017d40
mov eax, dword [0x141dbecb8]
xor edx, edx
div dword [0x141dbecbc]
cmp eax, 0x6cff40b0
jne 0x140017d00
mov rax, qword [rdi + 8]
mov qword [rsi + 8], rax
nop word [rax + rax]
mov rax, qword [rdi + 8]
mov qword [rsi + 8], rax
mov eax, dword [0x141dbecc0]
add eax, dword [0x141dbecc4]
xor eax, 0xc0800000
or eax, 0x4100b05
and eax, 0xe6d60b0d
cmp eax, 0x2513f8df
ja 0x140017d00
mov qword [rsi], r15
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dbec90]
or eax, dword [0x141dbec94]
add eax, 0x4f9ab99d
or eax, 0x30e51437
imul eax, eax, 0x2c02eb12
cmp eax, 0x42af1828
je 0x140017d40
nop word cs:[rax + rax]
mov eax, dword [0x141dbec98]
or eax, dword [0x141dbec9c]
xor eax, 0x2208
or eax, 0xbd270095
and eax, 0xbd2fb39d
cmp eax, 0xe2046522
ja 0x140017d70
mov eax, dword [0x141dbeca0]
add eax, dword [0x141dbeca4]
or eax, 0x82000032
and eax, 0x871a90b6
xor eax, 0x315fcf93
cmp eax, 0x5c3f59fb
jae 0x140017dc0
ud2
mov eax, dword [0x141dbeca8]
add eax, dword [0x141dbecac]
and eax, 0xb05c88a2
imul eax, eax, 0x29c51971
add eax, 0x5f497c6f
ud2