Function at 0x140063a60
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 - 8], rcx
mov eax, dword [0x141dc9ab8]
mov ecx, dword [0x141dc9abc]
add eax, ecx
add eax, 0xa3b4192b
xor eax, 0xe5ccce41
add eax, 0x4f7ccccf
cmp eax, 0xbe9b7ffc
jae 0x140063ae0
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov eax, 0x90
call fcn.1400ef330
sub rsp, rax
nop
mov eax, dword [0x141dc9ac0]
xor edx, edx
div dword [str._rio]
shr eax, 4
imul rcx, rax, 0x4b259ad
shr rcx, 0x35
or ecx, 0x5b82cd0c
xor ecx, 0x2cdeb1fb
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov rdi, rsp
mov eax, 0x90
call fcn.1400ef330
sub rsp, rax
mov r13, rsp
cmp ecx, 0x421f3226
jb 0x140063ae0
mov byte [rbp + 7], r8b
mov eax, dword [0x141dc9ac8]
or eax, dword [0x141dc9acc]
imul rcx, rax, 0xca0e1b1
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
cmp eax, 0x607f70f2
je 0x140063bc6
mov eax, dword [0x141dc9ad0]
and eax, dword [0x141dc9ad4]
and eax, 0x5101da1e
add eax, 0x967a35cd
mov ecx, 0x8ca55e49
imul rcx, rax
shr rcx, 0x3e
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r12, rsp
cmp ecx, 0xe5ec16c2
jbe 0x140063bd5
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
jmp 0x140063b8b
movabs r11, 0x10000000000000
movq rcx, xmm1
mov r8, rcx
shr r8, 0x34
and r8d, 0x7ff
lea rax, [rcx + rcx]
movabs rsi, 0x1ffffffffffffe
and rsi, rax
lea rdx, [r11 - 1]
and rdx, rcx
lea r9, [rdx + r11]
test r8d, r8d
cmove r9, rsi
ucomisd xmm1, xmm1
mov qword [rbp - 0x18], r12
jp 0x14006413a
mov eax, r8d
add eax, 0xfffffbcd
mov dword [rbp - 0xc], eax
movabs rax, 0x7ff0000000000000
mov r12, rcx
and r12, rax
nop
mov esi, dword [0x141dc9ad8]
or esi, dword [0x141dc9adc]
imul esi, esi, 0x61454f44
add esi, 0xb5bc46a8
or esi, 0xec7fd515
cmp esi, 0xcaa2d5c
je 0x140063c40
xor esi, esi
test r12, r12
setne sil
lea rax, [rsi*2 + 2]
movabs r10, 0x7ff0000000000000
cmp r12, r10
mov r12d, 1
cmovne r12, rax
add rsi, 3
test rdx, rdx
cmove rsi, r12
dec rsi
cmp rsi, 3
ja case.default.0x140063cb0
lea rax, [0x141dba1dc]
movsxd rdx, dword [rax + rsi*4]
add rdx, rax
jmp rdx
mov dl, 3
jmp 0x140063dab
mov eax, dword [0x141dc9ae8]
xor eax, dword [0x141dc9aec]
add eax, 0x49d1e6e8
or eax, 0x79752c53
and eax, 0xfffd7ef7
cmp eax, 0xd993bdeb
jae case.0x140063cb0.2
mov dl, 4
jmp 0x140063dab
mov eax, dword [0x141dc9ae0]
imul eax, dword [0x141dc9ae4]
cmp eax, 0x42e5b633
je case.default.0x140063cb0
jmp 0x1400641da
test r9b, 1
sete dl
mov r11d, 1
mov r10d, dword [rbp - 0xc]
jmp 0x140063dab
movabs r12, 0x40000000000000
mov eax, dword [str.1Y_Y9]
xor edx, edx
div dword [0x141dc9af4]
lea rax, [r9 + r9]
nop dword [rax + rax]
mov edx, dword [0x141dc9af8]
imul edx, dword [0x141dc9afc]
xor edx, 0xf931b967
imul edx, edx, 0xd827819c
imul rdx, rdx, 0x14fd4459
shr rdx, 0x3c
cmp r9, r11
mov rsi, rax
cmove rsi, r12
cmp edx, 0x2f5a4c87
je 0x140063d40
mov r10d, 0xfffffbcc
xor r12d, r12d
nop
xor edx, edx
cmp r9, r11
sete al
test r12b, r12b
jne 0x140063d80
mov dl, al
lea r11, [rdx + 1]
sub r10d, edx
test r9b, 1
sete dl
movzx eax, r8w
movsx r10d, r10w
add r10d, eax
mov r9, rsi
movzx r8d, byte [rbp + 7]
mov qword [r15], r9
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], r11
mov word [r15 + 0x18], r10w
mov byte [r15 + 0x1a], dl
add dl, 0xfe
movzx edx, dl
cmp dl, 3
mov eax, 3
cmovb eax, edx
test al, al
je 0x140063ed2
movzx eax, al
mov rdx, rcx
shr rdx, 0x3f
lea r10, [0x141db5cfd]
xor r11d, r11d
nop word cs:[rax + rax]
test rcx, rcx
mov r9d, 1
cmovs r9, r10
test r11b, r11b
jne 0x140063e00
lea rsi, [0x141db5cfe]
nop dword [rax]
mov r11d, dword [0x141dc9b00]
xor r11d, dword [0x141dc9b04]
imul r12d, r11d, 0xc894365e
and r12d, 0x4137894
test rcx, rcx
mov r11, rsi
cmovs r11, r10
cmp r12d, 0xf33579bb
ja 0x140063e20
mov ecx, 1
nop word cs:[rax + rax]
mov r10d, dword [0x141dc9b08]
add r10d, dword [0x141dc9b0c]
xor r10d, 0x1002000
and r10d, 0x1182802
test r8b, r8b
mov rsi, rdx
cmovne rsi, rcx
mov r12, r9
cmovne r12, r11
cmp r10d, 0x3d79da04
ja 0x140063e60
cmp eax, 1
je 0x140063f5d
cmp eax, 2
jne 0x140063fd4
mov eax, dword [0x141dc9b30]
add eax, dword [0x141dc9b34]
or eax, 0xa3d2ce21
and eax, 0xa3d2de29
cmp eax, 0x463ee8e2
mov rcx, qword [rbp - 8]
jae 0x1400641dc
jmp 0x14006420c
mov word [r13], 2
mov eax, dword [0x141dc9b10]
xor edx, edx
div dword [0x141dc9b14]
shr eax, 2
imul rax, rax, 0x42d77ebd
shr rax, 0x3a
cmp eax, 0x318fd126
jne 0x140063f0f
lea rax, [0x141db5cff]
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 3
xor esi, esi
lea rax, [0x141db5cff]
mov rcx, qword [rbp - 8]
nop dword [rax]
mov edx, dword [0x141dc9b18]
sub edx, dword [0x141dc9b1c]
or edx, 0x5edf5186
add edx, 0x6e0bb8c
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 3
cmp edx, 0x359435c3
jbe 0x140063f20
mov r12d, 1
mov r9d, 1
jmp 0x140064521
mov eax, dword [0x141dc9b20]
or eax, dword [0x141dc9b24]
mov ecx, 0xfbea4869
imul rcx, rax
shr rcx, 0x3e
imul eax, ecx, 0xd4211dfb
add eax, 0x71cc42e7
cmp eax, 0xdcb54d7f
mov rcx, qword [rbp - 8]
jae 0x140063fa0
mov word [r13], 2
nop word cs:[rax + rax]
mov eax, dword [0x141dc9b28]
sub eax, dword [0x141dc9b2c]
add eax, 0x72f03a06
or eax, 0x79686ceb
mov word [r13], 2
cmp eax, 0x835137b1
jb 0x140063fa0
lea rax, [0x141db5d02]
mov qword [r13 + 8], rax
jmp 0x140064220
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, qword [rbp - 0x18]
call fcn.14004f3a0
add rsp, 0x20
cmp qword [r14], 0
je 0x140064020
mov rax, qword [r14 + 0x10]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
mov eax, dword [0x141dc9b40]
and eax, dword [0x141dc9b44]
or eax, 0x3c3b60aa
imul eax, eax, 0x90433b7e
cmp eax, 0x498bd261
je 0x140064000
jmp 0x140064037
sub rsp, 0x20
mov rcx, rbx
mov rdx, r15
mov r8, qword [rbp - 0x18]
call fcn.140047b80
add rsp, 0x20
xor eax, eax
nop dword [rax]
test al, al
jne 0x140064040
mov r8, qword [rbx]
mov eax, dword [0x141dc9b48]
xor edx, edx
div dword [0x141dc9b4c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc9b50]
xor edx, edx
div dword [0x141dc9b54]
imul eax, eax, 0x1644e0f0
cmp eax, 0x38021b53
je 0x140064060
mov r10, qword [rbx + 8]
test r10, r10
je 0x140064141
movzx r11d, word [rbx + 0x10]
nop dword [rax]
mov eax, dword [0x141dc9b70]
imul eax, dword [0x141dc9b74]
add eax, 0x29b61c8
and eax, 0xfa5cbdfe
imul rdx, rax, 0x2878cfb9
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0xe0414b4f
je 0x140064090
movzx r9d, byte [r8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc9b78]
xor edx, edx
div dword [0x141dc9b7c]
add eax, 0x945954a2
imul rax, rax, 0x17613355
shr rax, 0x3c
cmp eax, 0x6d916898
je 0x1400640d0
cmp r9b, 0x30
jbe 0x1400641b5
mov word [r13], 2
mov qword [r13 + 8], r8
mov eax, dword [0x141dc9b90]
sub eax, dword [0x141dc9b94]
mov edx, 0xc5e645d3
imul rdx, rax
shr rdx, 0x3b
or edx, 0x3f6fc767
cmp edx, 0xdf7767e8
jne 0x14006425c
jmp 0x140064286
mov dl, 2
jmp 0x140063dab
mov eax, dword [0x141dc9b58]
add eax, dword [0x141dc9b5c]
or eax, 0xb2a106af
xor eax, 0xd9a97546
add eax, 0x7fbb4c8d
cmp eax, 0x896f9e14
jae 0x140064170
ud2
mov eax, dword [0x141dc9b60]
xor eax, dword [0x141dc9b64]
add eax, 0x3ee44944
xor eax, 0xd5600640
and eax, 0xd560ae40
ud2
mov eax, dword [0x141dc9b80]
imul eax, dword [0x141dc9b84]
or eax, 0xc10410a1
xor eax, 0x42160050
or eax, 0x30e0cb0c
cmp eax, 0x726e143b
jae 0x140064233
jmp 0x140064258
ud2
mov eax, dword [0x141dc9b38]
and eax, dword [0x141dc9b3c]
mov word [r13], 2
lea rdx, [0x141db5d06]
mov qword [r13 + 8], rdx
imul eax, eax, 0xec760e3e
add eax, 0x1c25efa5
cmp eax, 0x478d6356
jae 0x140064220
mov word [r13], 2
lea rax, [0x141db5d06]
mov qword [r13 + 8], rax
jmp 0x1400641dc
mov qword [r13 + 0x10], 3
mov r9d, 1
jmp 0x140064521
mov eax, dword [0x141dc9b88]
or eax, dword [0x141dc9b8c]
imul eax, eax, 0x456e08aa
add eax, 0x3ca0b550
xor eax, 0x28037d05
ud2
ud2
mov eax, dword [0x141dc9b98]
xor eax, dword [0x141dc9b9c]
add eax, 0xe0e43ff4
and eax, 0x1826fc40
add eax, 0xefdec462
mov qword [r13 + 0x10], 1
cmp eax, 0xc2e50004
jae 0x140064290
mov qword [r13 + 0x10], 1
jmp 0x14006425c
mov r9d, 1
cmp r10, 2
jb 0x140064381
mov edx, dword [0x141dc9ba0]
or edx, dword [0x141dc9ba4]
or edx, 0xe881f7e5
add edx, 0xd60917b6
lea rax, [0x141db92db]
cmp edx, 0xe0cb1c3f
jbe 0x1400642da
mov word [r13 + 0x18], 2
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], 1
inc r8
nop dword [rax]
mov edx, dword [0x141dc9ba8]
or edx, dword [0x141dc9bac]
add edx, 0xd72228c4
mov word [r13 + 0x18], 2
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], 1
cmp edx, 0x56cb49ac
ja 0x1400642e0
dec r10
mov word [r13 + 0x30], 2
mov eax, dword [0x141dc9bb0]
and eax, dword [0x141dc9bb4]
and eax, 0x7f334acc
xor eax, 0x3a4e87c7
imul eax, eax, 0x22f6a9e1
cmp eax, 0x1dccf77a
jne 0x140064350
mov qword [r13 + 0x38], r8
mov qword [r13 + 0x40], r10
nop word cs:[rax + rax]
mov eax, dword [0x141dc9bb8]
xor eax, dword [0x141dc9bbc]
imul eax, eax, 0x97240a7f
add eax, 0xd7d56bd4
or eax, 0x594e963
mov qword [r13 + 0x38], r8
mov qword [r13 + 0x40], r10
cmp eax, 0x2439125d
je 0x140064350
mov r9d, 3
test r11w, r11w
jle 0x1400643ee
mov eax, 0xc277212f
dec r11d
mov rcx, qword [rbp - 8]
nop word cs:[rax + rax]
mov edx, dword [0x141dc9bc0]
and edx, dword [0x141dc9bc4]
and edx, 0xf7e2cff8
imul rdx, rax
shr rdx, 0x3f
imul edx, edx, 0xcf44f0d3
cmp edx, 0xffa7fa7e
ja 0x1400643a0
lea rax, [r9 + r9*2]
mov word [r13 + rax*8], 2
lea rdx, [0x141db5cfa]
mov qword [r13 + rax*8 + 8], rdx
mov qword [r13 + rax*8 + 0x10], 1
jmp 0x1400644a9
lea rax, [r9 + r9*2]
mov word [r13 + rax*8], 2
mov edx, dword [0x141dc9bc8]
sub edx, dword [0x141dc9bcc]
lea rax, [rax*8]
add rax, r13
add edx, 0xc8e0e452
or edx, 0x7922d79a
cmp edx, 0xb60899bd
mov rcx, qword [rbp - 8]
je 0x140064463
lea rdx, [0x141db5cfb]
mov qword [rax + 8], rdx
mov edx, dword [0x141dc9bd0]
imul edx, dword [0x141dc9bd4]
add edx, 0x31e4e643
xor edx, 0x24100605
or edx, 0x5944d9e2
mov qword [rax + 0x10], 2
cmp edx, 0xa6e22f15
jne 0x140064478
lea rdx, [0x141db5cfb]
mov qword [rax + 8], rdx
mov qword [rax + 0x10], 2
jmp 0x140064429
mov eax, 1
sub eax, r11d
mov edx, dword [str.mg]
sub edx, dword [0x141dc9bdc]
imul edx, edx, 0x717ec70b
and edx, 0xa41647f3
add edx, 0x534099db
cmp edx, 0x43e1c850
jb 0x140064480
mov r11d, eax
mov eax, dword [0x141dc9be0]
xor edx, edx
div dword [0x141dc9be4]
mov edx, 0xb9399e43
imul rdx, rax
shr rdx, 0x3e
add edx, 0x338f5e66
cmp edx, 0x40846aa2
ja 0x140064509
mov eax, dword [0x141dc9be8]
xor edx, edx
div dword [0x141dc9bec]
imul eax, eax, 0x75af617c
xor eax, 0x2e048
or eax, 0xebdc17a5
lea rdx, [r9 + r9*2]
mov word [r13 + rdx*8 + 0x18], 1
mov word [r13 + rdx*8 + 0x1a], r11w
cmp eax, 0x4f43bce1
jae 0x14006451d
lea rax, [r9 + r9*2]
mov word [r13 + rax*8 + 0x18], 1
mov word [r13 + rax*8 + 0x1a], r11w
jmp 0x1400644d2
add r9, 2
mov qword [rdi], r12
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r9
sub rsp, 0x20
mov rdx, rdi
call fcn.140060ae0
nop
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret