Function at 0x140041e60
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x148]
sub rsp, 0x210
movaps xmmword [rax - 0x48], xmm6
mov r13, rcx
mov dword [rbp - 0x20], 0x11c
lea rax, [rbp - 0x60]
mov qword [rbp + 0x158], rax
mov dword [rsp + 0x20], 0xd4ffe7c1
mov dword [rsp + 0x24], 0xf6c5e7f6
mov dword [rsp + 0x28], 0xfcfae0e1
mov word [rsp + 0x2c], 0x93fd
movsd xmm0, qword [rsp + 0x20]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x48], eax
movzx eax, word [rsp + 0x2c]
mov word [rsp + 0x4c], ax
mov rdx, qword [0x14013a980]
test rdx, rdx
jne 0x140041f23
mov ebx, 0xe
mov ecx, ebx
call fcn.140075634
mov rdx, rax
mov qword [0x14013a980], rax
mov rcx, rax
lea r8, [rsp + 0x40]
sub r8, rax
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor al, 0x93
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rbx, 1
jne 0x140041f10
xor r12d, r12d
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], r12b
mov rdi, 0xffffffffffffffff
mov r8, rdi
inc r8
cmp byte [rdx + r8], r12b
jne 0x140041f40
lea rcx, [rbp - 0x60]
call fcn.1400064d0
nop
mov rax, qword [0x14013aa48]
test rax, rax
jne 0x140041f81
lea ecx, [rax + 0xa]
call fcn.140075634
mov qword [0x14013aa48], rax
mov dword [rax], 0x6c64746e
mov dword [rax + 4], 0x6c642e6c
mov word [rax + 8], 0x6c
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x140041f94
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.1400064d0
nop
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x40]
call fcn.1400472e0
lea rcx, [rbp - 0x20]
call rax
cmp dword [rbp - 0x1c], 6
jae 0x140041fe7
mov rcx, qword [r13 + 0x38]
test rcx, rcx
je 0x140041fdd
mov rax, qword [rcx]
cmp rcx, r13
setne dl
call qword [rax + 0x20]
mov qword [r13 + 0x38], r12
mov eax, 2
jmp 0x1400428bd
lea rax, [rsp + 0x60]
mov qword [rbp + 0x158], rax
movdqa xmm6, xmmword [0x1401214b0]
movaps xmmword [rsp + 0x20], xmm6
mov byte [rsp + 0x30], 0x97
mov rdx, qword [0x14013adc8]
test rdx, rdx
jne 0x140042083
mov ebx, 0x11
mov ecx, ebx
call fcn.140075634
mov rdx, rax
mov qword [0x14013adc8], rax
mov rax, r12
lea rcx, [rdx + 0x10]
lea r8, [rsp + 0x30]
cmp rdx, r8
ja 0x140042042
lea r8, [rsp + 0x20]
cmp rcx, r8
jae 0x140042057
movdqa xmm0, xmmword [0x1401212e0]
pxor xmm0, xmm6
movdqu xmmword [rdx], xmm0
mov eax, 0x10
lea rcx, [rax + rdx]
lea r8, [rsp + 0x20]
sub r8, rdx
sub rbx, rax
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor al, 0x97
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rbx, 1
jne 0x140042070
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400420a0
lea rcx, [rsp + 0x60]
call fcn.1400064d0
nop
mov dword [rsp + 0x20], 0xdbc7d0de
mov dword [rsp + 0x24], 0xa7a6d9d0
mov dword [rsp + 0x28], 0xf9f9f1bb
movsd xmm0, qword [rsp + 0x20]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x48], eax
mov byte [rsp + 0x4c], 0x95
mov esi, 0xd
mov rdx, qword [0x14013abc8]
test rdx, rdx
jne 0x140042133
mov ecx, esi
call fcn.140075634
mov rdx, rax
mov qword [0x14013abc8], rax
mov rcx, rax
lea r8, [rsp + 0x40]
sub r8, rax
mov ebx, esi
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor al, 0x95
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rbx, 1
jne 0x140042120
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov r8, rdi
inc r8
cmp byte [rdx + r8], 0
jne 0x140042146
lea rcx, [rbp - 0x80]
call fcn.1400064d0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.140047530
xor ecx, ecx
call rax
call fcn.140041100
mov qword [0x140134d70], rax
mov r15d, 3
cmp rax, 0xffffffffffffffff
je 0x14004289b
mov eax, 7
xor ecx, ecx
cpuid
mov r14d, ebx
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x2c], edx
lea rax, [rbp - 0x80]
mov qword [rbp + 0x158], rax
mov dword [rsp + 0x20], 0xefe9f2cd
mov dword [rsp + 0x24], 0xdaf7faee
mov dword [rsp + 0x28], 0xf8f4f7f7
movsd xmm0, qword [rsp + 0x20]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x48], eax
mov byte [rsp + 0x4c], 0x9b
mov rbx, qword [0x14013ac30]
test rbx, rbx
jne 0x140042223
mov rcx, rsi
call fcn.140075634
mov rbx, rax
mov qword [0x14013ac30], rax
mov rcx, rax
lea r8, [rsp + 0x40]
sub r8, rax
mov rdx, rsi
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
xor al, 0x9b
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140042210
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov r8, rdi
inc r8
cmp byte [rbx + r8], 0
jne 0x140042236
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.1400064d0
nop
mov dword [rsp + 0x20], 0xd7cbdcd2
mov dword [rsp + 0x24], 0xabaad5dc
mov dword [rsp + 0x28], 0xf5f5fdb7
movsd xmm0, qword [rsp + 0x20]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x48], eax
mov byte [rsp + 0x4c], 0x99
mov rbx, qword [0x14013ac28]
test rbx, rbx
jne 0x1400422c3
mov rcx, rsi
call fcn.140075634
mov rbx, rax
mov qword [0x14013ac28], rax
mov rcx, rax
lea r8, [rsp + 0x40]
sub r8, rax
mov rdx, rsi
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor al, 0x99
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400422b0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x1400422e0
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.1400064d0
nop
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.140046750
mov edx, 0x1000
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x3000
call rax
mov qword [0x140134048], rax
movups xmm0, xmmword [0x140134008]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140134018]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140134028]
movups xmmword [rax + 0x20], xmm0
movsd xmm1, qword [0x140134038]
movsd qword [rax + 0x30], xmm1
mov ecx, dword [0x140134040]
mov dword [rax + 0x38], ecx
test r14b, r14b
js 0x14004236f
movabs rcx, 0x9090909090909090
mov qword [rax], rcx
mov word [rax + 8], cx
mov byte [rax + 0xa], cl
lea rax, [rbp - 0x40]
mov qword [rbp + 0x158], rax
mov dword [rsp + 0x40], 0xebedf6c9
mov dword [rsp + 0x44], 0xd3f3feea
mov dword [rsp + 0x48], 0x9ff4fcf0
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x20], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x28], eax
mov r14d, 0xc
mov rdx, qword [0x14013ae50]
test rdx, rdx
jne 0x1400423f3
mov ecx, r14d
call fcn.140075634
mov rdx, rax
mov qword [0x14013ae50], rax
mov rcx, rax
lea r8, [rsp + 0x20]
sub r8, rax
mov ebx, r14d
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
xor al, 0x9f
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rbx, 1
jne 0x1400423e0
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
mov r8, rdi
inc r8
cmp byte [rdx + r8], 0
jne 0x140042406
lea rcx, [rbp - 0x40]
call fcn.1400064d0
nop
mov dword [rsp + 0x20], 0xd3cfd8d6
mov dword [rsp + 0x24], 0xafaed1d8
mov dword [rsp + 0x28], 0xf1f1f9b3
movsd xmm0, qword [rsp + 0x20]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x48], eax
mov byte [rsp + 0x4c], 0x9d
mov rbx, qword [0x14013ac08]
test rbx, rbx
jne 0x140042493
mov rcx, rsi
call fcn.140075634
mov rbx, rax
mov qword [0x14013ac08], rax
mov rcx, rax
lea r8, [rsp + 0x40]
sub r8, rax
mov rdx, rsi
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor al, 0x9d
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140042480
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov r8, rdi
inc r8
cmp byte [rbx + r8], 0
jne 0x1400424a6
mov rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.1400064d0
nop
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x60]
call fcn.1400436c0
mov edx, 0x1000
mov rcx, qword [0x140134048]
call rax
movdqa xmm6, xmmword [0x140121540]
mov dword [rsp + 0x30], 0xc0f5c9d5
mov dword [rsp + 0x34], 0xc8d3f1c6
mov dword [rsp + 0x38], 0xd5c8d3ce
mov word [rsp + 0x3c], 0xa1d8
movaps xmmword [rsp + 0x40], xmm6
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x58], eax
movzx eax, word [rsp + 0x3c]
mov word [rsp + 0x5c], ax
mov rcx, qword [0x14013ace0]
test rcx, rcx
jne 0x140042596
mov ebx, 0x1e
mov ecx, ebx
call fcn.140075634
mov rcx, rax
mov qword [0x14013ace0], rax
mov rax, r12
lea rdx, [rcx + 0x1d]
lea r8, [rsp + 0x5d]
cmp rcx, r8
ja 0x14004255f
lea r8, [rsp + 0x40]
cmp rdx, r8
jae 0x140042574
movdqa xmm0, xmmword [0x140121350]
pxor xmm0, xmm6
movdqu xmmword [rcx], xmm0
mov eax, 0x10
lea rdx, [rax + rcx]
lea r8, [rsp + 0x40]
sub r8, rcx
sub rbx, rax
movzx eax, byte [r8 + rdx]
xor al, 0xa1
mov byte [rdx], al
lea rdx, [rdx + 1]
sub rbx, 1
jne 0x140042583
call fcn.14003c480
mov qword [0x140134060], rax
movdqa xmm6, xmmword [0x1401214c0]
mov word [rsp + 0x50], 0xa3c4
movaps xmmword [rsp + 0x20], xmm6
movzx eax, word [rsp + 0x50]
mov word [rsp + 0x30], ax
mov rcx, qword [0x14013ad78]
test rcx, rcx
jne 0x140042634
mov ebx, 0x12
mov ecx, ebx
call fcn.140075634
mov rcx, rax
mov qword [0x14013ad78], rax
mov rax, r12
lea rdx, [rcx + 0x11]
lea r8, [rsp + 0x31]
cmp rcx, r8
ja 0x1400425fd
lea r8, [rsp + 0x20]
cmp rdx, r8
jae 0x140042612
movdqa xmm0, xmmword [0x140121380]
pxor xmm0, xmm6
movdqu xmmword [rcx], xmm0
mov eax, 0x10
lea rdx, [rcx + rax]
lea r8, [rsp + 0x20]
sub r8, rcx
sub rbx, rax
movzx eax, byte [r8 + rdx]
xor al, 0xa3
mov byte [rdx], al
lea rdx, [rdx + 1]
sub rbx, 1
jne 0x140042621
call fcn.14003c480
mov qword [0x140134068], rax
movdqa xmm6, xmmword [0x1401217c0]
mov dword [rsp + 0x30], 0xccd6dccd
mov dword [rsp + 0x34], 0xa5c9c4c6
movaps xmmword [rsp + 0x40], xmm6
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x50], xmm0
mov rcx, qword [0x14013ada0]
test rcx, rcx
jne 0x1400426e3
mov ebx, 0x18
mov ecx, ebx
call fcn.140075634
mov rcx, rax
mov qword [0x14013ada0], rax
mov rax, r12
lea rdx, [rcx + 0x17]
lea r8, [rsp + 0x57]
cmp rcx, r8
ja 0x1400426a6
lea r8, [rsp + 0x40]
cmp rdx, r8
jae 0x1400426bb
movdqa xmm0, xmmword [0x140121390]
pxor xmm0, xmm6
movdqu xmmword [rcx], xmm0
mov eax, 0x10
lea rdx, [rax + rcx]
lea r8, [rsp + 0x40]
sub r8, rcx
sub rbx, rax
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
xor al, 0xa5
mov byte [rdx], al
lea rdx, [rdx + 1]
sub rbx, 1
jne 0x1400426d0
call fcn.14003c480
mov qword [0x140134058], rax
xor edx, edx
lea r15d, [rdx + 4]
lea rcx, [0x140001020]
call fcn.14003faa0
cmp eax, 0xffffffff
je 0x14004272c
mov rcx, qword [r13 + 0x38]
test rcx, rcx
je 0x14004271a
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r15d, eax
jmp 0x140042720
mov r15d, 6
mov rcx, qword [0x140134d70]
call fcn.1400403d0
xor edx, edx
lea rcx, [0x140001170]
call fcn.14003faa0
lea rax, [rbp - 0x80]
mov qword [rbp + 0x158], rax
mov dword [rsp + 0x40], 0xdddbc0ff
mov dword [rsp + 0x44], 0xefc5c8dc
mov dword [rsp + 0x48], 0xa9ccccdb
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x20], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x28], eax
mov rdx, qword [0x14013ace8]
test rdx, rdx
jne 0x1400427b2
mov rcx, r14
call fcn.140075634
mov rdx, rax
mov qword [0x14013ace8], rax
mov rcx, rax
lea rbx, [rsp + 0x20]
sub rbx, rax
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
xor al, 0xa9
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r14, 1
jne 0x1400427a0
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov r8, rdi
inc r8
cmp byte [rdx + r8], 0
jne 0x1400427c5
lea rcx, [rbp - 0x80]
call fcn.1400064d0
nop
mov dword [rsp + 0x20], 0xe9f5e2ec
mov dword [rsp + 0x24], 0x9594ebe2
mov dword [rsp + 0x28], 0xcbcbc389
movsd xmm0, qword [rsp + 0x20]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x48], eax
mov byte [rsp + 0x4c], 0xa7
mov rdx, qword [0x14013ade0]
test rdx, rdx
jne 0x140042852
mov rcx, rsi
call fcn.140075634
mov rdx, rax
mov qword [0x14013ade0], rax
mov rcx, rax
lea rbx, [rsp + 0x40]
sub rbx, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
xor al, 0xa7
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rsi, 1
jne 0x140042840
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
inc rdi
cmp byte [rdx + rdi], 0
jne 0x140042865
mov r8, rdi
lea rcx, [rsp + 0x60]
call fcn.1400064d0
nop
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.140046500
xor edx, edx
mov r8d, 0x8000
mov rcx, qword [0x140134048]
call rax
call fcn.140041990
nop
mov rcx, qword [r13 + 0x38]
test rcx, rcx
je 0x1400428ba
mov rbx, qword [rcx]
cmp rcx, r13
setne dl
call qword [rbx + 0x20]
mov qword [r13 + 0x38], r12
mov eax, r15d
mov rbx, qword [rsp + 0x268]
movaps xmm6, xmmword [rsp + 0x200]
add rsp, 0x210
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret