Function at 0x18005a1f0
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x10], edx
push rbp
push rsi
push r14
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0xd8
mov r14d, edx
mov esi, edx
and r14d, 0x1800000
mov r15, rcx
and esi, 0x700000
je 0x18005a226
test r14d, r14d
jne 0x18005aa07
mov rax, qword [str.QZASOL9_tv5z_b5zVL5]
mov qword [rsp + 0xd0], rdi
xor edi, edi
cmp byte [0x180076d17], dil
mov qword [rsp + 0xc8], r12
movabs r12, 0x47ae147ae147ae15
mov qword [rbp + 0x77], rax
je 0x18005a292
mov r8d, edi
nop dword [rax]
mov rax, r12
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [rbp + r8 + 0x77], al
inc r8
cmp r8, 8
jb 0x18005a260
xor edx, edx
lea rcx, [rbp + 0x77]
call fcn.18002fe50
test al, al
je 0x18005a9f7
mov rax, qword [0x1800801d0]
mov qword [rsp + 0x100], rbx
movaps xmmword [rsp + 0xb0], xmm6
mov qword [rbp + 0x7f], rax
mov ebx, dword [rax + 0x2f24]
test esi, esi
jne 0x18005a421
cmp byte [0x180076d1b], dil
mov eax, dword [0x180076d18]
mov dword [rbp + 0x77], eax
je 0x18005a322
mov r8, rdi
nop dword [rax]
nop word [rax + rax]
mov rax, r12
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [rbp + r8 + 0x77], al
inc r8
cmp r8, 4
jb 0x18005a2f0
mov edx, ebx
lea rcx, [rbp + 0x77]
shr edx, 0x14
and dl, 1
call fcn.180061c00
test al, al
je 0x18005a341
and ebx, 0xff9fffff
bts ebx, 0x14
cmp byte [0x180076d1f], dil
mov eax, dword [0x180076d1c]
mov dword [rbp + 0x77], eax
je 0x18005a392
mov r8, rdi
nop word [rax + rax]
mov rax, r12
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [rbp + r8 + 0x77], al
inc r8
cmp r8, 4
jb 0x18005a360
mov edx, ebx
lea rcx, [rbp + 0x77]
shr edx, 0x15
and dl, 1
call fcn.180061c00
test al, al
je 0x18005a3b1
and ebx, 0xffafffff
bts ebx, 0x15
cmp byte [0x180076d23], dil
mov eax, dword [0x180076d20]
mov dword [rbp + 0x77], eax
je 0x18005a402
mov r8, rdi
nop word [rax + rax]
mov rax, r12
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [rbp + r8 + 0x77], al
inc r8
cmp r8, 4
jb 0x18005a3d0
mov edx, ebx
lea rcx, [rbp + 0x77]
shr edx, 0x16
and dl, 1
call fcn.180061c00
test al, al
je 0x18005a421
and ebx, 0xffcfffff
bts ebx, 0x16
test r14d, r14d
jne 0x18005a515
test esi, esi
jne 0x18005a457
mov rax, qword [0x1800801d0]
mov rcx, qword [rax + 0x1a80]
cmp byte [rcx + 0x83], dil
jne 0x18005a457
mov eax, dword [rcx + 0x1a8]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180063210
mov eax, dword [0x180076d24]
lea rcx, [rbp + 0x77]
mov dword [rbp + 0x77], eax
mov edx, ebx
movzx eax, word [0x180076d28]
xor byte [rbp + 0x78], 0x33
xor byte [rbp + 0x79], 0x34
xor byte [rbp + 0x7a], 0x35
mov word [rbp + 0x7b], ax
movzx eax, byte [0x180076d2a]
xor byte [rbp + 0x7b], 0x36
xor al, 0x38
xor byte [rbp + 0x7c], 0x37
shr edx, 0x17
and dl, 1
mov byte [rbp + 0x7d], al
mov byte [rbp + 0x77], 0x30
call fcn.180061c00
test al, al
je 0x18005a4ac
btr ebx, 0x18
bts ebx, 0x17
movzx eax, word [0x180076d38]
lea rcx, [rbp - 0x59]
movsd xmm0, qword [0x180076d30]
mov edx, ebx
movsd qword [rbp - 0x59], xmm0
xor byte [rbp - 0x58], 0x33
xor byte [rbp - 0x57], 0x34
xor byte [rbp - 0x56], 0x35
xor byte [rbp - 0x55], 0x36
xor byte [rbp - 0x54], 0x37
xor byte [rbp - 0x53], 0x38
xor byte [rbp - 0x52], 0x39
mov word [rbp - 0x51], ax
movzx eax, byte [0x180076d3a]
xor byte [rbp - 0x51], 0x3a
xor al, 0x3c
xor byte [rbp - 0x50], 0x3b
shr edx, 0x18
and dl, 1
mov byte [rbp - 0x4f], al
mov byte [rbp - 0x59], 0x30
call fcn.180061c00
test al, al
je 0x18005a515
btr ebx, 0x17
bts ebx, 0x18
test esi, esi
je 0x18005a51e
test r14d, r14d
jne 0x18005a547
mov rax, qword [0x1800801d0]
mov rcx, qword [rax + 0x1a80]
cmp byte [rcx + 0x83], dil
jne 0x18005a547
mov eax, dword [rcx + 0x1a8]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180063210
cmp byte [0x180076d49], dil
xorps xmm6, xmm6
movss xmm0, dword [0x180071428]
movzx eax, word [0x180076d48]
movss dword [rbp + 0x77], xmm0
movsd xmm0, qword [str.qDL]
movsd qword [rbp - 0x59], xmm0
mov dword [rbp + 0x7b], edi
mov word [rbp - 0x51], ax
je 0x18005a5b2
mov r8, rdi
nop
mov rax, r12
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [rbp + r8 - 0x59], al
inc r8
cmp r8, 0xa
jb 0x18005a580
xor r8d, r8d
lea rdx, [rbp + 0x77]
lea rcx, [rbp - 0x59]
call fcn.180057010
test al, al
je 0x18005a5f4
mov eax, dword [0x180076d4c]
lea rcx, [rbp + 0x77]
mov dword [rbp + 0x77], eax
movzx eax, byte [0x180076d50]
xor byte [rbp + 0x78], 0x33
xor al, 0x36
xor byte [rbp + 0x79], 0x34
xor byte [rbp + 0x7a], 0x35
mov byte [rbp + 0x7b], al
mov byte [rbp + 0x77], 0x43
call fcn.18003a3b0
mov eax, dword [str.qDL6]
lea rcx, [rbp + 0x77]
mov dword [rbp + 0x77], eax
xor edx, edx
movzx eax, byte [0x180076d58]
xor byte [rbp + 0x78], 0x33
xor al, 0x36
xor byte [rbp + 0x79], 0x34
xor byte [rbp + 0x7a], 0x35
mov byte [rbp + 0x7b], al
mov byte [rbp + 0x77], 0x43
call fcn.18002fe50
test al, al
je 0x18005a9d8
movss xmm4, dword [r15]
comiss xmm6, xmm4
mov qword [rsp + 0xc0], r13
movss xmm2, dword [0x1800713bc]
movaps xmmword [rsp + 0xa0], xmm7
jbe 0x18005a653
movaps xmm0, xmm6
jmp 0x18005a65a
movaps xmm0, xmm2
minss xmm0, xmm4
movss xmm1, dword [0x18007140c]
movss xmm3, dword [0x1800713b8]
movss xmm7, dword [r15 + 4]
comiss xmm6, xmm7
mulss xmm0, xmm1
addss xmm0, xmm3
cvttss2si r13d, xmm0
jbe 0x18005a687
movaps xmm0, xmm6
jmp 0x18005a68e
movaps xmm0, xmm2
minss xmm0, xmm7
movss xmm5, dword [r15 + 8]
comiss xmm6, xmm5
mulss xmm0, xmm1
addss xmm0, xmm3
cvttss2si r12d, xmm0
jbe 0x18005a6ab
movaps xmm0, xmm6
jmp 0x18005a6b2
movaps xmm0, xmm2
minss xmm0, xmm5
and dword [rbp + 0x6f], 2
mulss xmm0, xmm1
addss xmm0, xmm3
cvttss2si r14d, xmm0
je 0x18005a6cc
mov esi, 0xff
jmp 0x18005a6ed
movss xmm0, dword [r15 + 0xc]
comiss xmm6, xmm0
ja 0x18005a6de
minss xmm2, xmm0
movaps xmm6, xmm2
mulss xmm6, xmm1
movaps xmm2, xmm0
addss xmm6, xmm3
cvttss2si esi, xmm6
mov eax, dword [0x180076d78]
mov r8, rdi
movups xmm0, xmmword [0x180076d60]
movabs r15, 0x47ae147ae147ae15
mov dword [rbp - 0x41], eax
movsd xmm1, qword [0x180076d70]
movzx eax, byte [0x180076d7c]
cvtps2pd xmm6, xmm7
mov byte [rbp - 0x3d], al
movaps xmm7, xmmword [rsp + 0xa0]
movups xmmword [rbp - 0x59], xmm0
cvtps2pd xmm5, xmm5
cvtps2pd xmm3, xmm4
movsd qword [rbp - 0x49], xmm1
nop word [rax + rax]
mov rax, r15
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [rbp + r8 - 0x59], al
inc r8
cmp r8, 0x1d
jb 0x18005a740
xorps xmm0, xmm0
lea r8, [rbp - 0x59]
cvtss2sd xmm0, xmm2
lea rcx, [rbp - 0x39]
mov edx, 0x40
movq r9, xmm3
movsd qword [rsp + 0x30], xmm0
movsd qword [rsp + 0x28], xmm5
movsd qword [rsp + 0x20], xmm6
call fcn.180034360
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], rdi
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180062d70
test al, al
je 0x18005a7c5
lea rcx, [rbp - 0x39]
call fcn.18003dd90
cmp byte [0x180076d8d], dil
mov eax, dword [0x180076d88]
movsd xmm0, qword [0x180076d80]
mov dword [rbp - 0x51], eax
movzx eax, word [0x180076d8c]
mov word [rbp - 0x4d], ax
movsd qword [rbp - 0x59], xmm0
je 0x18005a832
mov r8, rdi
nop dword [rax]
nop word [rax + rax]
mov rax, r15
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [rbp + r8 - 0x59], al
inc r8
cmp r8, 0xe
jb 0x18005a800
mov dword [rsp + 0x30], esi
lea r8, [rbp - 0x59]
mov dword [rsp + 0x28], r14d
lea rcx, [rbp - 0x39]
mov r9d, r13d
mov dword [rsp + 0x20], r12d
mov edx, 0x40
call fcn.180034360
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], rdi
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180062d70
test al, al
je 0x18005a878
lea rcx, [rbp - 0x39]
call fcn.18003dd90
cmp byte [0x180076d9d], dil
mov eax, dword [0x180076d98]
movsd xmm0, qword [0x180076d90]
mov dword [rbp - 0x51], eax
movzx eax, word [0x180076d9c]
mov word [rbp - 0x4d], ax
movsd qword [rbp - 0x59], xmm0
je 0x18005a8e2
mov r8, rdi
nop word [rax + rax]
mov rax, r15
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [rbp + r8 - 0x59], al
inc r8
cmp r8, 0xe
jb 0x18005a8b0
mov dword [rsp + 0x28], r14d
lea r8, [rbp - 0x59]
mov r9d, r13d
mov dword [rsp + 0x20], r12d
mov edx, 0x40
lea rcx, [rbp - 0x39]
call fcn.180034360
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], rdi
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180062d70
test al, al
je 0x18005a924
lea rcx, [rbp - 0x39]
call fcn.18003dd90
cmp dword [rbp + 0x6f], edi
jne 0x18005a9cb
cmp byte [0x180076db1], dil
movups xmm0, xmmword [0x180076da0]
movzx eax, word [0x180076db0]
mov word [rbp - 0x49], ax
movups xmmword [rbp - 0x59], xmm0
je 0x18005a981
nop dword [rax]
mov rax, r15
mul rdi
mov rax, rdi
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, dil
sub al, cl
add al, 0x32
xor byte [rbp + rdi - 0x59], al
inc rdi
cmp rdi, 0x12
jb 0x18005a950
mov dword [rsp + 0x30], esi
lea r8, [rbp - 0x59]
mov dword [rsp + 0x28], r14d
lea rcx, [rbp - 0x39]
mov r9d, r13d
mov dword [rsp + 0x20], r12d
mov edx, 0x40
call fcn.180034360
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180062d70
test al, al
je 0x18005a9cb
lea rcx, [rbp - 0x39]
call fcn.18003dd90
call fcn.180032980
mov r13, qword [rsp + 0xc0]
mov rax, qword [rbp + 0x7f]
mov dword [rax + 0x2f24], ebx
call fcn.180032980
movaps xmm6, xmmword [rsp + 0xb0]
mov rbx, qword [rsp + 0x100]
mov rdi, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xc8]
add rsp, 0xd8
pop r15
pop r14
pop rsi
pop rbp
ret