Function at 0x18005b4f0
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 0x18005b526
test r14d, r14d
jne 0x18005bd07
mov rax, qword [str.QZASOL9_tv5z_b5zVL5]
mov qword [rsp + 0xd0], rdi
xor edi, edi
cmp byte [0x180078d47], dil
mov qword [rsp + 0xc8], r12
movabs r12, 0x47ae147ae147ae15
mov qword [rbp + 0x77], rax
je 0x18005b592
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 0x18005b560
xor edx, edx
lea rcx, [rbp + 0x77]
call fcn.180031150
test al, al
je 0x18005bcf7
mov rax, qword [0x1800821d8]
mov qword [rsp + 0x100], rbx
movaps xmmword [rsp + 0xb0], xmm6
mov qword [rbp + 0x7f], rax
mov ebx, dword [rax + 0x2f24]
test esi, esi
jne 0x18005b721
cmp byte [0x180078d4b], dil
mov eax, dword [0x180078d48]
mov dword [rbp + 0x77], eax
je 0x18005b622
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 0x18005b5f0
mov edx, ebx
lea rcx, [rbp + 0x77]
shr edx, 0x14
and dl, 1
call fcn.180062f00
test al, al
je 0x18005b641
and ebx, 0xff9fffff
bts ebx, 0x14
cmp byte [0x180078d4f], dil
mov eax, dword [0x180078d4c]
mov dword [rbp + 0x77], eax
je 0x18005b692
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 0x18005b660
mov edx, ebx
lea rcx, [rbp + 0x77]
shr edx, 0x15
and dl, 1
call fcn.180062f00
test al, al
je 0x18005b6b1
and ebx, 0xffafffff
bts ebx, 0x15
cmp byte [0x180078d53], dil
mov eax, dword [0x180078d50]
mov dword [rbp + 0x77], eax
je 0x18005b702
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 0x18005b6d0
mov edx, ebx
lea rcx, [rbp + 0x77]
shr edx, 0x16
and dl, 1
call fcn.180062f00
test al, al
je 0x18005b721
and ebx, 0xffcfffff
bts ebx, 0x16
test r14d, r14d
jne 0x18005b815
test esi, esi
jne 0x18005b757
mov rax, qword [0x1800821d8]
mov rcx, qword [rax + 0x1a80]
cmp byte [rcx + 0x83], dil
jne 0x18005b757
mov eax, dword [rcx + 0x1a8]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180064510
mov eax, dword [0x180078d54]
lea rcx, [rbp + 0x77]
mov dword [rbp + 0x77], eax
mov edx, ebx
movzx eax, word [0x180078d58]
xor byte [rbp + 0x78], 0x33
xor byte [rbp + 0x79], 0x34
xor byte [rbp + 0x7a], 0x35
mov word [rbp + 0x7b], ax
movzx eax, byte [0x180078d5a]
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.180062f00
test al, al
je 0x18005b7ac
btr ebx, 0x18
bts ebx, 0x17
movzx eax, word [0x180078d68]
lea rcx, [rbp - 0x59]
movsd xmm0, qword [0x180078d60]
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 [0x180078d6a]
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.180062f00
test al, al
je 0x18005b815
btr ebx, 0x17
bts ebx, 0x18
test esi, esi
je 0x18005b81e
test r14d, r14d
jne 0x18005b847
mov rax, qword [0x1800821d8]
mov rcx, qword [rax + 0x1a80]
cmp byte [rcx + 0x83], dil
jne 0x18005b847
mov eax, dword [rcx + 0x1a8]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180064510
cmp byte [0x180078d79], dil
xorps xmm6, xmm6
movss xmm0, dword [0x180073458]
movzx eax, word [0x180078d78]
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 0x18005b8b2
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 0x18005b880
xor r8d, r8d
lea rdx, [rbp + 0x77]
lea rcx, [rbp - 0x59]
call fcn.180058310
test al, al
je 0x18005b8f4
mov eax, dword [0x180078d7c]
lea rcx, [rbp + 0x77]
mov dword [rbp + 0x77], eax
movzx eax, byte [0x180078d80]
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.18003b6b0
mov eax, dword [str.qDL6]
lea rcx, [rbp + 0x77]
mov dword [rbp + 0x77], eax
xor edx, edx
movzx eax, byte [0x180078d88]
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.180031150
test al, al
je 0x18005bcd8
movss xmm4, dword [r15]
comiss xmm6, xmm4
mov qword [rsp + 0xc0], r13
movss xmm2, dword [0x1800733ec]
movaps xmmword [rsp + 0xa0], xmm7
jbe 0x18005b953
movaps xmm0, xmm6
jmp 0x18005b95a
movaps xmm0, xmm2
minss xmm0, xmm4
movss xmm1, dword [0x18007343c]
movss xmm3, dword [0x1800733e8]
movss xmm7, dword [r15 + 4]
comiss xmm6, xmm7
mulss xmm0, xmm1
addss xmm0, xmm3
cvttss2si r13d, xmm0
jbe 0x18005b987
movaps xmm0, xmm6
jmp 0x18005b98e
movaps xmm0, xmm2
minss xmm0, xmm7
movss xmm5, dword [r15 + 8]
comiss xmm6, xmm5
mulss xmm0, xmm1
addss xmm0, xmm3
cvttss2si r12d, xmm0
jbe 0x18005b9ab
movaps xmm0, xmm6
jmp 0x18005b9b2
movaps xmm0, xmm2
minss xmm0, xmm5
and dword [rbp + 0x6f], 2
mulss xmm0, xmm1
addss xmm0, xmm3
cvttss2si r14d, xmm0
je 0x18005b9cc
mov esi, 0xff
jmp 0x18005b9ed
movss xmm0, dword [r15 + 0xc]
comiss xmm6, xmm0
ja 0x18005b9de
minss xmm2, xmm0
movaps xmm6, xmm2
mulss xmm6, xmm1
movaps xmm2, xmm0
addss xmm6, xmm3
cvttss2si esi, xmm6
mov eax, dword [0x180078da8]
mov r8, rdi
movups xmm0, xmmword [0x180078d90]
movabs r15, 0x47ae147ae147ae15
mov dword [rbp - 0x41], eax
movsd xmm1, qword [0x180078da0]
movzx eax, byte [0x180078dac]
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 0x18005ba40
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.180035660
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], rdi
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180064070
test al, al
je 0x18005bac5
lea rcx, [rbp - 0x39]
call fcn.18003f090
cmp byte [0x180078dbd], dil
mov eax, dword [0x180078db8]
movsd xmm0, qword [0x180078db0]
mov dword [rbp - 0x51], eax
movzx eax, word [0x180078dbc]
mov word [rbp - 0x4d], ax
movsd qword [rbp - 0x59], xmm0
je 0x18005bb32
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 0x18005bb00
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.180035660
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], rdi
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180064070
test al, al
je 0x18005bb78
lea rcx, [rbp - 0x39]
call fcn.18003f090
cmp byte [0x180078dcd], dil
mov eax, dword [0x180078dc8]
movsd xmm0, qword [0x180078dc0]
mov dword [rbp - 0x51], eax
movzx eax, word [0x180078dcc]
mov word [rbp - 0x4d], ax
movsd qword [rbp - 0x59], xmm0
je 0x18005bbe2
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 0x18005bbb0
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.180035660
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], rdi
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180064070
test al, al
je 0x18005bc24
lea rcx, [rbp - 0x39]
call fcn.18003f090
cmp dword [rbp + 0x6f], edi
jne 0x18005bccb
cmp byte [0x180078de1], dil
movups xmm0, xmmword [0x180078dd0]
movzx eax, word [0x180078de0]
mov word [rbp - 0x49], ax
movups xmmword [rbp - 0x59], xmm0
je 0x18005bc81
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 0x18005bc50
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.180035660
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180064070
test al, al
je 0x18005bccb
lea rcx, [rbp - 0x39]
call fcn.18003f090
call fcn.180033c80
mov r13, qword [rsp + 0xc0]
mov rax, qword [rbp + 0x7f]
mov dword [rax + 0x2f24], ebx
call fcn.180033c80
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