Function at 0x1400037f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x60], xmm7
movaps xmmword [rbp + 0x50], xmm6
mov qword [rbp - 0x70], r8
mov dword [rbp - 0x58], edx
mov qword [rbp - 0x68], rcx
xorps xmm0, xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x40], xmm0
mov ebx, dword [0x140066610]
cmp dword [0x140066614], 0xa
setl r8b
mov eax, ebx
not eax
add eax, ebx
add eax, ebx
add eax, 2
imul eax, ebx
test al, 1
sete al
mov edx, r8d
and dl, al
mov byte [rbp + 0x4f], dl
mov dl, byte [rbp + 0x4f]
xor r8b, al
mov byte [rbp + 0x4e], r8b
mov eax, 1
lea rdx, [0x14005a010]
nop dword [rax + rax]
movsxd rbx, dword [rdx + rax*4 - 4]
xor dword [rbp + rbx*4 - 0x40], 0x1e27
cmp rax, 0x17
je 0x1400038a5
movsxd rcx, dword [rdx + rax*4]
xor dword [rbp + rcx*4 - 0x40], 0x1e27
add rax, 2
jmp 0x140003880
mov eax, 0x4819
xor esi, esi
movaps xmm0, xmmword [0x14005a440]
movaps xmm1, xmmword [0x14005a430]
movaps xmm2, xmmword [0x14005a450]
movaps xmm3, xmmword [0x14005a420]
lea r14, [0x140059fb0]
mov ebx, 0xc2c6b644
xor r8d, r8d
xor r11d, r11d
xor r13d, r13d
mov dword [rbp - 0x4c], 0
xor r15d, r15d
xor r10d, r10d
xor edi, edi
xor r12d, r12d
mov dword [rbp - 0x54], 0
mov dword [rbp - 0x50], 0
jmp 0x140003910
mov eax, dword [rbp + 0x1c]
mov ecx, 0x49c
xor eax, ecx
nop dword [rax]
cmp eax, 0x4818
jg 0x1400039a0
cmp eax, 0x25fc
jg 0x140003a10
cmp eax, 0x8bf
jg 0x140003a81
cmp eax, 0x24e
je 0x140003dc7
cmp eax, 0x348
je 0x140003bdd
cmp eax, 0x363
jne 0x140003910
cmp dword [0x140066618], 0xa
mov eax, dword [0x14006661c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x50], 0
jne 0x140003980
xor dword [rbp], 0x3e31
xor dword [rbp + 0x1c], 0x3e31
test al, al
mov eax, 0x3077
mov ecx, 0x3aad
cmovne eax, ecx
xor eax, dword [rbp - 4]
mov cl, 1
mov dword [rbp - 0x50], ecx
jmp 0x140003910
cmp eax, 0x6e3e
jle 0x140003a50
cmp eax, 0x7986
jg 0x140003b50
cmp eax, 0x6e3f
je 0x140003e04
cmp eax, 0x70d1
je 0x140003e1c
cmp eax, 0x735d
jne 0x140003910
mov eax, dword [0x140066620]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0xe46
mov ecx, 0x7f01
cmove eax, ecx
cmp dword [0x140066624], 0xa
cmovl eax, ecx
xor eax, dword [rbp]
jmp 0x140003910
cmp eax, 0x3148
jle 0x140003c28
cmp eax, 0x3149
je 0x140003f40
cmp eax, 0x420b
je 0x140003cdf
cmp eax, 0x45df
jne 0x140003910
mov eax, dword [rbp + 0xc]
mov ecx, 0x6b13
xor eax, ecx
jmp 0x140003910
cmp eax, 0x5067
jle 0x140003c5c
cmp eax, 0x5068
je 0x140003f96
cmp eax, 0x52f5
je 0x140003fce
cmp eax, 0x5c3b
je 0x140003d2a
jmp 0x140003910
cmp eax, 0x8c0
je 0x140004020
cmp eax, 0x98e
je 0x140003d7c
cmp eax, 0x1ade
jne 0x140003910
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp - 0x70]
mov qword [rax], rcx
mov rax, qword [rbp - 0x48]
mov ecx, dword [rbp - 0x58]
mov dword [rax], ecx
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp - 0x68]
mov qword [rax], rcx
mov rax, qword [rbp + 0x40]
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x40]
mov qword [rcx], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
mov dword [rax], 0xd2e20bf2
mov eax, dword [rbp + 4]
mov ecx, 0x6ed0
xor eax, ecx
jmp 0x140003910
cmp eax, 0x7987
je 0x1400038ff
cmp eax, 0x7b6d
je 0x14000409e
cmp eax, 0x7e16
jne 0x140003910
mov eax, dword [rbp - 0x5c]
cmp byte [rbp - 0x4c], 0
jne 0x140003bb7
movups xmm4, xmmword [rbp - 0x28]
movups xmm5, xmmword [rbp - 0x18]
movups xmm6, xmmword [rbp + 0xc]
xorps xmm4, xmm3
movups xmmword [rbp - 0x28], xmm4
xorps xmm5, xmm3
movups xmmword [rbp - 0x18], xmm5
xor dword [rbp - 8], 0x2e15
xor dword [rbp - 4], 0x2e15
xor dword [rbp], 0x2e15
xorps xmm6, xmm3
movups xmmword [rbp + 0xc], xmm6
xor dword [rbp + 0x1c], 0x2e15
mov cl, 1
mov dword [rbp - 0x4c], ecx
cmp eax, 0x9c958348
je 0x140003cdf
cmp eax, 0xc2c6b644
je 0x140003d2a
cmp eax, 0xd2e20bf2
jne 0x140003d7c
cmp dword [0x140066628], 0xa
mov eax, dword [0x14006662c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r10b, r10b
jne 0x140003c0e
xor dword [rbp - 0x1c], 0x28d2
xor dword [rbp + 0x10], 0x28d2
test al, al
mov eax, 0x329d
mov ecx, 0x16b
cmovne eax, ecx
xor eax, dword [rbp - 0x20]
mov r10b, 1
jmp 0x140003910
cmp eax, 0x25fd
je 0x1400040cd
cmp eax, 0x2fb4
jne 0x140004198
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 0x40]
mov eax, dword [rbp + 0x18]
mov ecx, 0x7ccf
xor eax, ecx
jmp 0x140003910
cmp eax, 0x4819
je 0x140004146
cmp eax, 0x489b
jne 0x140003910
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
lea ecx, [rax + 0x547de8d5]
mov edx, 0x2b82172a
sub edx, eax
and edx, 0x547de8d6
or rcx, 0xffffffffab821729
add rdx, rax
add rdx, rcx
mov rcx, qword [rbp + 0x30]
test rax, rax
mov eax, 0x9c958348
cmove eax, ebx
mov qword [rcx], rdx
mov rcx, qword [rbp + 0x38]
mov dword [rcx], eax
mov eax, dword [0x140066630]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x1a4f
mov ecx, 0x6241
cmove eax, ecx
cmp dword [0x140066634], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x1c]
jmp 0x140003910
cmp dword [0x140066638], 0xa
mov eax, dword [0x14006663c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test dil, dil
jne 0x140003d10
xor dword [rbp - 0x14], 0x16dd
xor dword [rbp + 0x14], 0x16dd
test al, al
mov eax, 0x1998
mov ecx, 0x1b05
cmovne eax, ecx
xor eax, dword [rbp - 0x18]
mov dil, 1
jmp 0x140003910
cmp dword [0x140066640], 0xa
mov eax, dword [0x140066644]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r12b, r12b
jne 0x140003d62
xor dword [rbp - 0xc], 0x476
xor dword [rbp - 8], 0x476
xor dword [rbp + 0x18], 0x476
test al, al
mov eax, 0x6644
mov ecx, 0x78b9
cmovne eax, ecx
xor eax, dword [rbp - 0x10]
mov r12b, 1
jmp 0x140003910
cmp dword [0x140066648], 0xa
mov eax, dword [0x14006664c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r15b, r15b
jne 0x140003dad
xor dword [rbp - 0x24], 0x20ad
xor dword [rbp + 0xc], 0x20ad
test al, al
mov eax, 0xc2f
mov ecx, 0x4bbe
cmovne eax, ecx
xor eax, dword [rbp - 0x28]
mov r15b, 1
jmp 0x140003910
mov eax, dword [0x140066650]
lea ecx, [rax + 0x18ccca13]
not ecx
add ecx, eax
add ecx, eax
add ecx, 0x18ccca13
imul ecx, eax
test cl, 1
mov eax, 0x2c82
mov ecx, 0x6a3e
cmove eax, ecx
cmp dword [0x140066654], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x24]
jmp 0x140003910
mov rax, qword [rbp + 0x38]
mov eax, dword [rax]
mov dword [rbp - 0x5c], eax
mov eax, dword [rbp + 8]
mov ecx, 0x608f
xor eax, ecx
jmp 0x140003910
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp - 0x70]
mov qword [rax], rcx
mov rax, qword [rbp - 0x48]
mov ecx, dword [rbp - 0x58]
mov dword [rax], ecx
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp - 0x68]
mov qword [rax], rcx
mov rax, qword [rbp + 0x40]
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x40]
mov qword [rcx], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
mov dword [rax], 0xd2e20bf2
cmp dword [0x140066658], 0xa
mov eax, dword [0x14006665c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r8b, r8b
jne 0x140003f26
movups xmm4, xmmword [rbp - 0x34]
movups xmm5, xmmword [rbp - 0x24]
movups xmm6, xmmword [rbp - 0x14]
movups xmm7, xmmword [rbp + 8]
xorps xmm4, xmm2
movups xmmword [rbp - 0x34], xmm4
xorps xmm5, xmm2
movups xmmword [rbp - 0x24], xmm5
xorps xmm6, xmm2
movups xmmword [rbp - 0x14], xmm6
xor dword [rbp - 4], 0x52f6
xor dword [rbp], 0x52f6
xorps xmm7, xmm2
movups xmmword [rbp + 8], xmm7
xor dword [rbp + 0x18], 0x52f6
xor dword [rbp + 0x1c], 0x52f6
test al, al
mov eax, 0x4df
mov ecx, 0x16c1
cmovne eax, ecx
xor eax, dword [rbp - 0x38]
mov r8b, 1
jmp 0x140003910
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 0x40]
cmp dword [0x140066660], 0xa
mov eax, dword [0x140066664]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x54], 0
jne 0x140003f7a
xor dword [rbp - 8], 0x119
test al, al
mov eax, 0x6232
mov ecx, 0x7d2e
cmovne eax, ecx
xor eax, dword [rbp - 0xc]
mov cl, 1
mov dword [rbp - 0x54], ecx
jmp 0x140003910
mov rax, qword [rbp - 0x48]
mov al, byte [rax]
mov rcx, qword [rbp + 0x40]
mov rcx, qword [rcx]
lea rdx, [rcx + 1]
mov rbx, qword [rbp + 0x40]
mov qword [rbx], rdx
mov ebx, 0xc2c6b644
mov byte [rcx], al
mov rax, qword [rbp + 0x38]
mov dword [rax], 0xd2e20bf2
mov eax, dword [rbp + 0x14]
mov ecx, 0xdd8
xor eax, ecx
jmp 0x140003910
mov rax, qword [rbp - 0x48]
mov al, byte [rax]
mov rcx, qword [rbp + 0x40]
mov rcx, qword [rcx]
lea rdx, [rcx + 1]
mov r9, qword [rbp + 0x40]
mov qword [r9], rdx
mov byte [rcx], al
mov rax, qword [rbp + 0x38]
mov dword [rax], 0xd2e20bf2
mov eax, dword [0x140066668]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0xf45
mov ecx, 0x5c4e
cmove eax, ecx
cmp dword [0x14006666c], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x14]
jmp 0x140003910
cmp dword [0x140066670], 0xa
mov eax, dword [0x140066674]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r11b, r11b
jne 0x140004084
movaps xmm4, xmmword [rbp - 0x30]
xorps xmm4, xmm0
movaps xmmword [rbp - 0x30], xmm4
movaps xmm4, xmmword [rbp - 0x20]
xorps xmm4, xmm0
movaps xmmword [rbp - 0x20], xmm4
movaps xmm4, xmmword [rbp - 0x10]
xorps xmm4, xmm0
movaps xmmword [rbp - 0x10], xmm4
xor dword [rbp], 0x985
movups xmm4, xmmword [rbp + 8]
xorps xmm4, xmm0
movups xmmword [rbp + 8], xmm4
xor dword [rbp + 0x18], 0x985
xor dword [rbp + 0x1c], 0x985
test al, al
mov eax, 0x22c8
mov ecx, 0x690a
cmovne eax, ecx
xor eax, dword [rbp - 0x34]
mov r11b, 1
jmp 0x140003910
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
sub rax, 1
mov rcx, qword [rbp + 0x30]
mov qword [rcx], rax
mov eax, 0x9c958348
cmovb eax, ebx
mov rcx, qword [rbp + 0x38]
mov dword [rcx], eax
mov eax, dword [rbp + 0x10]
mov ecx, 0x29b9
xor eax, ecx
jmp 0x140003910
mov rax, qword [rbp + 0x38]
mov eax, dword [rax]
mov dword [rbp - 0x5c], eax
cmp dword [0x140066678], 0xa
mov eax, dword [0x14006667c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r13b, r13b
jne 0x14000412c
movups xmm4, xmmword [rbp - 0x2c]
movups xmm5, xmmword [rbp - 0x1c]
movups xmm6, xmmword [rbp - 0xc]
movups xmm7, xmmword [rbp + 0xc]
xorps xmm4, xmm1
movups xmmword [rbp - 0x2c], xmm4
xorps xmm5, xmm1
movups xmmword [rbp - 0x1c], xmm5
xorps xmm6, xmm1
movups xmmword [rbp - 0xc], xmm6
xorps xmm7, xmm1
movups xmmword [rbp + 0xc], xmm7
xor dword [rbp + 0x1c], 0x2297
test al, al
mov eax, 0x2b4d
mov ecx, 0x3b64
cmovne eax, ecx
xor eax, dword [rbp - 0x30]
mov r13b, 1
jmp 0x140003910
mov al, byte [rbp + 0x4f]
or al, byte [rbp + 0x4e]
test sil, sil
jne 0x14000417e
mov edx, 1
nop word cs:[rax + rax]
movsxd r9, dword [r14 + rdx*4 - 4]
xor byte [rbp + r9*4 - 0x40], 0x26
movsxd rcx, dword [r14 + rdx*4]
xor byte [rbp + rcx*4 - 0x40], 0x26
add rdx, 2
cmp rdx, 0x17
jne 0x140004160
test al, 1
mov eax, 0x4f9
mov ecx, 0x6ef6
cmovne eax, ecx
xor eax, dword [rbp - 0x40]
mov sil, 1
jmp 0x140003910
cmp eax, 0x30a8
jne 0x140003910
mov rax, qword [rbp - 0x78]
movaps xmm6, xmmword [rbp + 0x50]
movaps xmm7, xmmword [rbp + 0x60]
lea rsp, [rbp + 0x78]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret