Function at 0x140065010
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp - 0x20], rcx
xor eax, eax
test al, al
jne 0x1400650b8
mov eax, dword [0x141dcac80]
or eax, dword [0x141dcac84]
imul eax, eax, 0x9e1ba46
imul rcx, rax, 0x27e73ceb
shr rcx, 0x3d
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov r12, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov r9, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov rdx, rsp
mov eax, 0x60
call fcn.1400f07c0
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov r15, rsp
cmp ecx, 0xc4444736
jne 0x14006510b
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x60
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
jmp 0x140065033
mov qword [rbp], rdx
mov eax, dword [0x141dcac88]
xor edx, edx
div dword [0x141dcac8c]
mov qword [rbp - 0x18], r9
movq rbx, xmm1
mov r11, rbx
shr r11, 0x34
nop dword [rax]
mov eax, dword [0x141dcac90]
add eax, dword [0x141dcac94]
and eax, 0x498e8354
imul eax, eax, 0x2e283707
or eax, 0x6cdec52a
cmp eax, 0x5a569f41
jb 0x140065130
movabs rcx, 0x1ffffffffffffe
movabs r9, 0x10000000000000
mov eax, dword [0x141dcac98]
xor edx, edx
div dword [0x141dcac9c]
and r11d, 0x7ff
lea rax, [rbx + rbx]
and rax, rcx
lea rdi, [r9 - 1]
and rdi, rbx
mov rcx, rdi
or rcx, r9
lea r10d, [r11 - 0x433]
lea edx, [rbx - 0x433]
nop word [rax + rax]
mov edx, dword [0x141dcaca0]
or edx, dword [0x141dcaca4]
imul edx, edx, 0x2d50b8c9
add edx, 0x6d08ceab
or edx, 0x7bf041c
test r11d, r11d
mov r9, rcx
cmove r9, rax
cmp edx, 0x19bb4cf1
invalid
sbb dword [rdx - 0x30], esi
ucomisd xmm1, xmm1
jp 0x140065b55
mov byte [rbp - 8], r8b
movabs rsi, 0x7ff0000000000000
mov qword [rbp - 0x10], rbx
mov rcx, rbx
and rcx, rsi
nop word cs:[rax + rax]
mov eax, dword [0x141dcaca8]
xor edx, edx
div dword [0x141dcacac]
invalid
add dword [0x1b57b41a4], esp
imul eax, eax, 0xb8568fda
or eax, 0x3dd29c44
cmp eax, 0xf2410455
ja 0x140065200
mov eax, 1
nop word [rax + rax]
mov edx, dword [0x141dcacb0]
xor edx, dword [0x141dcacb4]
or edx, 0x6b6f3b3f
imul r8, rdx, 0x43a04eaf
shr r8, 0x3d
or r8d, 0x1c672089
xor edx, edx
test rcx, rcx
setne dl
lea rbx, [rdx*2 + 2]
cmp rcx, rsi
cmove rbx, rax
cmp r8d, 0x9291b6bd
je 0x140065230
add rdx, 3
xor ecx, ecx
nop word [rax + rax]
test rdi, rdi
mov rax, rdx
cmove rax, rbx
test cl, cl
jne 0x140065280
dec rax
lea rcx, [0x141dbb5cc]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov al, 3
jmp 0x1400653a3
mov eax, dword [0x141dcacb8]
xor edx, edx
div dword [0x141dcacbc]
or eax, 0x65800092
and eax, 0xfd9d629e
imul eax, eax, 0x429dc8e
cmp eax, 0x3e9f0386
je case.0x14006529f.1
mov al, 4
jmp 0x1400653a3
movzx r8d, byte [rbp - 8]
mov rbx, qword [rbp - 0x10]
mov ecx, dword [0x141dcacd0]
mov r11d, dword [0x141dcacd4]
add ecx, r11d
add ecx, 0x3427c5cf
xor ecx, 0x8cf4e3cd
imul ecx, ecx, 0xfd8f71e7
cmp ecx, 0x6c8b544e
jae 0x1400653ee
mov qword [r14], r9
mov qword [r14 + 8], 1
mov qword [r14 + 0x10], rdx
mov word [r14 + 0x18], r10w
mov byte [r14 + 0x1a], al
lea ecx, [rax - 2]
movzx ecx, cl
nop word cs:[rax + rax]
mov esi, dword [0x141dcacd8]
mov r11d, dword [0x141dcacdc]
add esi, r11d
add esi, 0x8c03a739
xor esi, 0x508746e
and esi, 0x85acf6ee
cmp cl, 3
mov r11d, 3
cmovb r11d, ecx
mov qword [r14], r9
mov qword [r14 + 8], 1
mov qword [r14 + 0x10], rdx
mov word [r14 + 0x18], r10w
mov byte [r14 + 0x1a], al
cmp esi, 0xae4f4053
ja 0x140065400
test r11b, r11b
je 0x140065543
movzx eax, r11b
mov qword [rbp - 8], rax
mov ecx, dword [0x141dcace0]
add ecx, dword [0x141dcace4]
or ecx, 0x801a000
xor ecx, 0x40818
and ecx, 0x885e979
cmp ecx, 0xf8c73a0a
ja 0x140065460
mov rcx, rbx
shr rcx, 0x3f
lea rdx, [0x141db711d]
mov r9d, 1
lea r10, [0x141db711e]
mov rax, rbx
nop word cs:[rax + rax]
mov r11d, dword [0x141dcace8]
add r11d, dword [0x141dcacec]
xor r11d, 0xe8c35042
imul rbx, r11, 0x5f2d94d9
shr rbx, 0x3b
test rax, rax
mov r11d, 1
cmovs r11, rdx
mov rdi, r10
cmovs rdi, rdx
test r8b, r8b
cmove rdi, r11
mov rsi, rcx
cmovne rsi, r9
cmp ebx, 0xcc0494ac
ja 0x1400654b0
mov rax, qword [rbp - 8]
cmp eax, 1
je 0x14006563a
cmp eax, 2
jne 0x1400656f4
mov word [r13], 2
lea rax, [0x141db7118]
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 2
mov word [r13 + 0x18], 0
mov qword [r13 + 0x20], 1
mov eax, 2
jmp 0x140065c85
mov eax, dword [0x141dcacf0]
add eax, dword [0x141dcacf4]
mov ecx, 0xc31fc23f
imul rcx, rax
shr rcx, 0x3e
imul ecx, ecx, 0x5e6286ff
add ecx, 0x5b98c4d2
lea rax, [0x141db711f]
cmp ecx, 0xc8f22864
mov rdx, qword [rbp]
jbe 0x140065590
mov word [r13], 2
mov qword [r13 + 8], rax
nop word cs:[rax + rax]
mov ecx, dword [0x141dcacf8]
imul ecx, dword [0x141dcacfc]
shr ecx, 2
imul rcx, rcx, 0x259fb239
shr rcx, 0x39
or ecx, 0x4eb7bd15
mov word [r13], 2
mov qword [r13 + 8], rax
cmp ecx, 0x1cd8cab8
jb 0x140065590
mov eax, dword [0x141dcad00]
sub eax, dword [str.4_n_r]
imul eax, eax, 0x5a105e5
or eax, 0x3437aa6b
and eax, 0x3cb7bf6b
cmp eax, 0x3abff4e7
jae 0x1400655ef
mov qword [r13 + 0x10], 3
xor esi, esi
nop word cs:[rax + rax]
mov eax, dword [0x141dcad08]
or eax, dword [0x141dcad0c]
xor eax, 0x5418e143
imul eax, eax, 0x75e21eb1
add eax, 0x7099d47a
mov qword [r13 + 0x10], 3
cmp eax, 0xae04551e
ja 0x140065600
mov edi, 1
mov eax, 1
jmp 0x140065c89
mov eax, dword [0x141dcad18]
sub eax, dword [0x141dcad1c]
mov ecx, 0x81478157
imul rcx, rax
shr rcx, 0x3d
or ecx, 0x6dad22e8
cmp ecx, 0x1269e09d
jae 0x140065673
mov word [r13], 2
lea rax, [0x141db7122]
mov qword [r13 + 8], rax
mov eax, 0xba0223b5
lea rcx, [0x141db7122]
nop
mov edx, dword [0x141dcad20]
add edx, dword [0x141dcad24]
imul rdx, rax
shr rdx, 0x3f
add edx, 0xe4681cd9
mov word [r13], 2
mov qword [r13 + 8], rcx
cmp edx, 0x5b89dedb
jb 0x140065680
mov rdx, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x141dcad28]
or eax, dword [0x141dcad2c]
or eax, 0x181003bc
and eax, 0xfad047bc
xor eax, 0x606a4342
cmp eax, 0x5bb07662
jb 0x1400656c0
mov qword [r13 + 0x10], 3
mov eax, 1
jmp 0x140065c89
cmp eax, 3
jne 0x140065760
sub rsp, 0x20
mov rcx, r12
mov rdx, r14
mov r8, r15
call fcn.1400514e0
add rsp, 0x20
mov rax, qword [r12]
nop word cs:[rax + rax]
mov ecx, dword [0x141dcad30]
xor ecx, dword [0x141dcad34]
imul ecx, ecx, 0x30482609
cmp ecx, 0x8ea5cb2a
je 0x140065720
test rax, rax
mov rcx, qword [rbp - 0x18]
je 0x140065782
mov rax, qword [r12 + 0x10]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
jmp 0x140065812
mov eax, dword [0x141dcad10]
and eax, dword [0x141dcad14]
add eax, 0xf5ae789a
and eax, 0xcd08ff8c
cmp eax, 0xb987c238
je 0x140065760
jmp 0x140065b53
mov eax, dword [0x141dcad38]
imul eax, dword [0x141dcad3c]
add eax, 0x51bdddef
mov edx, 0xbb4a5753
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0xf26db478
jne 0x1400657c0
sub rsp, 0x20
mov rdx, r14
mov r8, r15
call fcn.1400497f0
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov ebx, 0x952bf1a5
nop word cs:[rax + rax]
mov eax, dword [0x141dcad40]
xor edx, edx
div dword [0x141dcad44]
imul rax, rbx
shr rax, 0x3f
or eax, 0x6a170e9a
imul r12d, eax, 0x607b3c6c
sub rsp, 0x20
mov rdx, r14
mov r8, r15
call fcn.1400497f0
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
cmp r12d, 0xb7d9aec9
jbe 0x1400657d0
mov eax, 0x8169659d
nop word [rax + rax]
mov edx, dword [0x141dcad48]
imul edx, dword [0x141dcad4c]
imul rdx, rax
shr rdx, 0x3f
or edx, 0x52d02554
cmp edx, 0x8b5c450d
ja 0x140065820
mov r8, qword [rcx]
mov rbx, qword [rcx + 8]
movzx r9d, word [rcx + 0x10]
movsx rax, r9w
xor edx, edx
nop word cs:[rax + rax]
test dl, dl
jne 0x140065860
test rbx, rbx
je 0x140065b53
movzx edx, byte [r8]
mov r10d, 0xa54c345d
nop word [rax + rax]
mov r11d, dword [0x141dcad50]
imul r11d, dword [0x141dcad54]
imul r11, r10
shr r11, 0x3b
add r11d, 0xe23ac4e6
cmp r11d, 0xae02d822
jb 0x140065880
nop word [rax + rax]
mov r10d, dword [0x141dcad58]
mov r11d, dword [0x141dcad5c]
add r10d, r11d
add r10d, 0x6c406a23
and r10d, 0x21602daa
cmp r10d, 0x37f17ec9
ja 0x1400658b0
cmp dl, 0x30
jbe 0x140065b2d
nop word cs:[rax + rax]
mov edx, dword [0x141dcad68]
xor edx, dword [0x141dcad6c]
or edx, 0x4c6a416b
add edx, 0x347073be
imul rdx, rdx, 0x781dc237
shr rdx, 0x3e
cmp edx, 0x18bc267b
ja 0x1400658f0
test r9w, r9w
jle 0x140065a9b
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140065930
mov eax, dword [0x141dcad70]
imul eax, dword [0x141dcad74]
or eax, 0x170c8997
xor eax, 0x414ce3d0
cmp eax, 0x821978cc
jae 0x140065959
mov word [r13], 2
mov r10d, 0xf366f90d
nop
mov eax, dword [0x141dcad78]
xor edx, edx
div dword [0x141dcad7c]
imul eax, eax, 0x13ddecd2
imul rax, r10
shr rax, 0x3f
or eax, 0xacdfd9fc
mov word [r13], 2
cmp eax, 0x89056072
je 0x140065960
mov eax, dword [0x141dcad80]
imul eax, dword [0x141dcad84]
add eax, 0x94f02558
and eax, 0x45670395
add eax, 0x5bab0f44
cmp eax, 0x6dc526a
jae 0x1400659c0
mov qword [r13 + 8], r8
nop word cs:[rax + rax]
mov eax, dword [0x141dcad88]
sub eax, dword [0x141dcad8c]
add eax, 0x3745ce3a
imul rdx, rax, 0x50a69317
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1c
xor eax, 0xcaa9f779
mov qword [r13 + 8], r8
cmp eax, 0x669c3846
jb 0x1400659c0
mov rax, r9
sub rax, rbx
jae 0x140065aaa
mov qword [r13 + 0x10], r9
mov word [r13 + 0x18], 2
mov eax, dword [0x141dcada0]
or eax, dword [0x141dcada4]
cmp eax, 0x47192395
jne 0x140065a39
lea rax, [0x141dba6fb]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], 1
mov word [r13 + 0x30], 2
sub rbx, r9
add r8, r9
lea rax, [0x141dba6fb]
nop word cs:[rax + rax]
mov edx, dword [0x141dcada8]
xor edx, dword [0x141dcadac]
and edx, 0x820d5eea
imul edx, edx, 0x96977080
add edx, 0x96145320
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], 1
mov word [r13 + 0x30], 2
cmp edx, 0xe8e2db4b
ja 0x140065a50
mov qword [r13 + 0x38], r8
mov qword [r13 + 0x40], rbx
mov eax, 3
jmp 0x140065c85
xor edx, edx
test dl, dl
je 0x140065b5c
jmp 0x140065b8d
xor edx, edx
test dl, dl
je 0x140065ac0
mov qword [r13 + 0x10], rbx
mov word [r13 + 0x18], 0
nop dword [rax + rax]
mov edx, dword [0x141dcadb0]
xor edx, dword [0x141dcadb4]
imul edx, edx, 0xa267c06f
and edx, 0x40010468
mov qword [r13 + 0x10], rbx
mov word [r13 + 0x18], 0
cmp edx, 0x12bea724
je 0x140065ac0
mov qword [r13 + 0x20], rax
mov word [r13 + 0x30], 2
lea rax, [0x141dba6fb]
mov qword [r13 + 0x38], rax
mov eax, dword [0x141dcadb8]
or eax, dword [0x141dcadbc]
imul eax, eax, 0x7206c8bd
or eax, 0x1400142c
and eax, 0xf50536ac
cmp eax, 0xef7d5e39
jbe 0x140065c27
jmp 0x140065c67
ud2
ud2
mov al, 2
jmp 0x1400653ac
mov rdx, rax
neg rdx
mov word [r13], 2
lea r9, [0x141db7118]
mov qword [r13 + 8], r9
mov qword [r13 + 0x10], 2
mov word [r13 + 0x18], 0
mov qword [r13 + 0x20], rdx
xor edx, edx
test dl, dl
je 0x140065bba
mov rdx, rax
neg rdx
mov word [r13], 2
lea r9, [0x141db7118]
mov qword [r13 + 8], r9
mov qword [r13 + 0x10], 2
mov word [r13 + 0x18], 0
mov qword [r13 + 0x20], rdx
jmp 0x140065b5c
mov eax, dword [0x141dcad90]
and eax, dword [0x141dcad94]
xor eax, 0x70220043
or eax, 0x8fddff94
cmp eax, 0x203e64a
jb 0x140065c0f
mov eax, dword [0x141dcad98]
xor eax, dword [0x141dcad9c]
imul eax, eax, 0xc8411fdc
imul rax, rax, 0x6a9ce835
shr rax, 0x38
or eax, 0x105432a7
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], r8
mov qword [r13 + 0x40], rbx
cmp eax, 0xe5ac914b
jbe 0x140065c20
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], r8
mov qword [r13 + 0x40], rbx
jmp 0x140065bd7
mov eax, 3
jmp 0x140065c85
mov eax, dword [0x141dcadc0]
xor eax, dword [0x141dcadc4]
xor eax, 0xdb233192
imul rax, rax, 0x1f1d7baf
shr rax, 0x3c
imul eax, eax, 0xdda6e088
mov qword [r13 + 0x40], 1
mov word [r13 + 0x48], 0
mov qword [r13 + 0x50], 1
cmp eax, 0xa4a399c8
jae 0x140065c80
mov qword [r13 + 0x40], 1
mov word [r13 + 0x48], 0
mov qword [r13 + 0x50], 1
jmp 0x140065c27
mov eax, 4
mov rdx, qword [rbp]
mov qword [rdx], rdi
mov qword [rdx + 8], rsi
mov qword [rdx + 0x10], r13
mov qword [rdx + 0x18], rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x20]
call fcn.140062a80
nop
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret