Function at 0x140060ae0
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 r8, rdx
mov r15, rcx
mov eax, dword [0x141dc9540]
xor edx, edx
div dword [0x141dc9544]
and eax, 0x4419999e
add eax, 0x8d3ac7d9
and eax, 0x483d855a
cmp eax, 0x4e32dcb0
jne 0x140060b30
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
nop dword [rax]
mov eax, dword [0x141dc9548]
imul eax, dword [0x141dc954c]
add eax, 0x1fe47ecc
and eax, 0x90fb218f
imul rcx, rax, 0x49c757bd
shr rcx, 0x3d
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xef554603
ja 0x140060b30
mov rcx, qword [r15]
mov eax, dword [0x141dc9550]
xor edx, edx
div dword [0x141dc9554]
nop dword [rax + rax]
mov eax, dword [0x141dc9558]
and eax, dword [0x141dc955c]
imul rax, rax, 0x6d774efd
shr rax, 0x3e
xor eax, 0xf6e53fe1
imul rdx, rax, 0x1a7a51ef
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x31e6afa2
ja 0x140060b80
nop word [rax + rax]
mov eax, dword [0x141dc9560]
or eax, dword [0x141dc9564]
and eax, 0x10996ae1
imul eax, eax, 0xf9260645
xor eax, 0xdfe9023f
cmp eax, 0xf5698fcd
ja 0x140060bc0
test rcx, rcx
je 0x140060ca0
mov r12, qword [r15 + 8]
mov rsi, qword [r8]
mov r14, qword [r8 + 8]
mov r13, qword [r8 + 0x10]
mov r10, qword [r8 + 0x18]
mov qword [rdi], rsi
mov qword [rdi + 8], r14
mov eax, dword [0x141dc9568]
xor eax, dword [0x141dc956c]
add eax, 0x546b6744
imul rax, rax, 0x98619f7
shr rax, 0x3b
or eax, 0x879afa1e
cmp eax, 0x5909d5d1
jae 0x140060c36
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r10
xor eax, eax
nop dword [rax + rax]
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r10
test al, al
jne 0x140060c40
mov r9d, dword [r15 + 0x30]
mov eax, dword [r15 + 0x34]
movzx r8d, byte [r15 + 0x38]
nop dword [rax]
mov ecx, dword [0x141dc9570]
xor ecx, dword [0x141dc9574]
cmp ecx, 0xf96af450
je 0x140060c60
test al, 8
mov dword [rbp - 0x1c], r9d
mov byte [rbp + 7], r8b
jne 0x140060cff
mov dword [rbp - 0x18], r9d
mov ecx, r8d
test r10, r10
jne 0x140060e87
jmp 0x140061045
mov eax, dword [0x141dc9578]
xor edx, edx
div dword [0x141dc957c]
and eax, 0xb29cd975
cmp eax, 0x241ba50d
je 0x140060ca0
mov rcx, qword [r15 + 0x20]
nop
mov eax, dword [0x141dc9580]
sub eax, dword [0x141dc9584]
imul eax, eax, 0x5f909aff
imul rax, rax, 0x5d32c469
shr rax, 0x3c
or eax, 0xd427ec2c
cmp eax, 0xd751b58
jb 0x140060cc0
mov rdx, qword [r15 + 0x28]
sub rsp, 0x20
call fcn.1400614f0
add rsp, 0x20
jmp 0x1400614c0
mov qword [rbp - 8], r10
mov qword [rbp - 0x18], r12
mov eax, dword [0x141dc9588]
and eax, dword [0x141dc958c]
mov qword [rbp - 0x10], r15
mov r15, qword [r15 + 0x20]
or eax, 0xeee2120b
add eax, 0xb30ee3b7
cmp eax, 0xea64503
jae 0x140060d48
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x28]
sub rsp, 0x20
mov rcx, r15
mov rdx, rsi
mov r8, r14
call qword [rax + 0x18]
add rsp, 0x20
mov rbx, qword [rbp - 0x10]
nop dword [rax]
mov eax, dword [0x141dc9590]
sub eax, dword [0x141dc9594]
imul r12d, eax, 0xd8c62e10
and r12d, 0xc56d9ec0
xor r12d, 0x6fb32db9
mov rax, qword [rbx + 0x28]
sub rsp, 0x20
mov rcx, r15
mov rdx, rsi
mov r8, r14
call qword [rax + 0x18]
add rsp, 0x20
cmp r12d, 0x795e2e60
jb 0x140060d50
test al, al
jne 0x1400612e0
mov eax, dword [0x141dc95d0]
xor eax, dword [0x141dc95d4]
imul eax, eax, 0x6490336a
cmp eax, 0xbc41612e
jne 0x140060dc2
mov qword [rdi], 1
mov qword [rdi + 8], 0
xor eax, eax
mov r15, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x18]
mov r10, qword [rbp - 8]
mov ecx, dword [0x141dc95d8]
and ecx, dword [0x141dc95dc]
and ecx, 0x98a82d90
imul ecx, ecx, 0x74410ba6
mov r12, rdx
sub r12, r14
cmovb r12, rax
mov qword [rdi], 1
mov qword [rdi + 8], 0
cmp ecx, 0x3c4fdea7
je 0x140060dd0
mov eax, dword [0x141dc95e0]
sub eax, dword [0x141dc95e4]
add eax, 0xcbbd382d
xor eax, 0x6060b92d
add eax, 0x58e7ccc4
cmp eax, 0x5b5b685
jae 0x140060e38
mov dword [r15 + 0x30], 0x30
mov byte [r15 + 0x38], 1
mov eax, 0xd8f2b19b
xor r14d, r14d
mov ecx, dword [0x141dc95e8]
and ecx, dword [0x141dc95ec]
imul rcx, rax
shr rcx, 0x3a
xor ecx, 0xc75a2f41
add ecx, 0x8cf9b915
mov dword [r15 + 0x30], 0x30
mov byte [r15 + 0x38], 1
cmp ecx, 0x60e73b9c
jae 0x140060e40
mov cl, 1
mov dword [rbp - 0x18], 0x30
test r10, r10
je 0x140061045
lea rax, [r10 + r10*2]
lea r8, [rax*8]
add r8, r13
mov r9d, 0xad7bd51d
jmp 0x140060ec0
mov rax, qword [r13 + 8]
add r14, rax
add r13, 0x18
cmp r13, r8
je 0x140061045
nop word cs:[rax + rax]
mov eax, dword [0x141dc9598]
sub eax, dword [0x141dc959c]
imul eax, eax, 0x40f36f3
cmp eax, 0x91bb04e8
je 0x140060ec0
movzx eax, word [r13]
test rax, rax
je 0x140060e9e
cmp eax, 1
jne 0x140060fe1
mov eax, dword [0x141dc95a8]
imul eax, dword [0x141dc95ac]
imul rdx, rax, 0x40e625b
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
imul eax, eax, 0x8fdf8334
cmp eax, 0xe62f0dea
ja 0x140060eec
movzx r10d, word [r13 + 2]
nop
mov eax, dword [0x141dc95b0]
add eax, dword [0x141dc95b4]
and eax, 0xb762e52d
add eax, 0x99b64b17
imul rax, rax, 0x79aa5c99
shr rax, 0x3e
cmp eax, 0x14b608f3
ja 0x140060f20
movzx edx, r10w
cmp edx, 0x3e8
jae 0x140060fa0
nop word cs:[rax + rax]
mov eax, dword [0x141dc95c8]
xor edx, edx
div dword [0x141dc95cc]
cmp eax, 0x9a7b4b83
je 0x140060f60
mov eax, 1
cmp r10w, 0xa
jb 0x140060ea2
cmp r10w, 0x64
mov eax, 3
sbb rax, 0
jmp 0x140060ea2
mov r10d, dword [0x141dc95c0]
add r10d, dword [0x141dc95c4]
imul r10, r9
shr r10, 0x3c
xor r10d, 0x18004c
or r10d, 0xabe7a721
cmp edx, 0x2710
mov eax, 5
sbb rax, 0
cmp r10d, 0x4fd3cb91
jbe 0x140060fa0
jmp 0x140060ea2
cmp eax, 2
jne 0x140061020
mov rax, qword [r13 + 0x10]
nop word [rax + rax]
mov edx, dword [str._hY_]
or edx, dword [0x141dc95bc]
imul edx, edx, 0x87dafb34
or edx, 0xca8851a
cmp edx, 0x9ca06a36
je 0x140060ff0
jmp 0x140060ea2
mov eax, dword [0x141dc95a0]
xor eax, dword [0x141dc95a4]
imul eax, eax, 0xd486a4af
or eax, 0x5bb7ab03
xor eax, 0x514cb619
cmp eax, 0x87289a91
ja 0x140061020
ud2
sub r12, r14
jbe 0x1400610dd
movzx eax, cl
nop word cs:[rax + rax]
mov ecx, dword [0x141dc95f0]
xor ecx, dword [0x141dc95f4]
and ecx, 0x76d6b04a
imul rcx, rcx, 0x4b523c95
shr rcx, 0x3c
or ecx, 0x1b644b0
cmp ecx, 0xa0dfbeb5
ja 0x140061060
lea rcx, [0x141dba1ac]
movsxd rdx, dword [rcx + rax*4]
add rdx, rcx
jmp rdx
xor eax, eax
mov r14d, dword [rbp - 0x1c]
movzx r12d, byte [rbp + 7]
nop dword [rax + rax]
test al, al
jne 0x1400610f0
mov rbx, qword [r15 + 0x20]
mov eax, dword [0x141dc9628]
add eax, dword [0x141dc962c]
imul rax, rax, 0x73e5e56f
shr rax, 0x3c
add eax, 0xd261310a
cmp eax, 0x778b1139
jae 0x140061140
mov rdx, qword [r15 + 0x28]
sub rsp, 0x20
mov rcx, rbx
mov r8, rdi
call fcn.1400614f0
add rsp, 0x20
nop word cs:[rax + rax]
mov esi, dword [0x141dc9630]
imul esi, dword [0x141dc9634]
add esi, 0xeaab4c16
and esi, 0xab8483de
mov rdx, qword [r15 + 0x28]
sub rsp, 0x20
mov rcx, rbx
mov r8, rdi
call fcn.1400614f0
add rsp, 0x20
cmp esi, 0x504a75bf
ja 0x140061140
jmp 0x1400614b8
mov eax, dword [0x141dc9670]
mov ecx, dword [0x141dc9674]
add eax, ecx
add eax, 0x6a1aa9e4
xor eax, 0x33a9ca96
cmp eax, 0x6ca96ca3
jb 0x1400612e0
mov al, 1
jmp 0x1400614c0
mov dword [r15 + 0x30], r14d
mov byte [r15 + 0x38], r12b
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400614d0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret