Function at 0x180005d20
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
lea rbp, [rsp - 0x78]
sub rsp, 0x178
mov rax, qword [0x1800963c0]
xor rax, rsp
mov qword [rbp + 0x30], rax
call fcn.180044ea0
movabs rdx, 0xa56f91c810cf6d91
mov rcx, qword [rax + 0x6fa1078]
rol rcx, 0x2f
mov edx, dword [rcx + rdx]
sub edx, 0x64
rol edx, 0x16
and edx, 0xfffffffe
lea eax, [rdx - 0x7f960f75]
cmp eax, 1
jbe 0x180005e14
cmp edx, 0x7f960f78
jne 0x180005db0
cmp byte [0x180096fd1], 0
je 0x180005e07
cmp qword [0x1800b6288], 0
jne 0x180005da7
mov ecx, 8
call fcn.180049c40
xor ecx, ecx
mov qword [0x1800b6288], rax
mov qword [rax], rcx
lea rcx, [0x1800b44e8]
jmp 0x180005de0
cmp byte [0x180096fd1], 0
je 0x180005e07
cmp qword [0x1800b6288], 0
jne 0x180005dd9
mov ecx, 8
call fcn.180049c40
xor ecx, ecx
mov qword [0x1800b6288], rax
mov qword [rax], rcx
lea rcx, [0x1800b44c8]
call fcn.1800098d0
movss xmm1, dword [0x180087c98]
movss xmm3, dword [0x180087c68]
movaps xmm2, xmm1
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x20], xmm3
call fcn.180043310
xor esi, esi
mov dword [0x1800b6248], esi
jmp 0x180006893
cmp byte [0x180096fd1], 0
mov qword [rsp + 0x170], r13
je 0x180005e73
cmp qword [0x1800b6288], 0
jne 0x180005e45
mov ecx, 8
call fcn.180049c40
xor ecx, ecx
mov qword [0x1800b6288], rax
mov qword [rax], rcx
lea rcx, [0x1800b44d8]
call fcn.1800098d0
movss xmm1, dword [0x180087c98]
movss xmm3, dword [0x180087c68]
movaps xmm2, xmm1
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x20], xmm3
call fcn.180043310
mov rax, qword [0x1800b6308]
xor esi, esi
movabs rcx, 0xfc7b376515467e56
movabs rdx, 0xe4ddeae86d0c422c
movabs r8, 0xf5fb896f404dc101
movabs r9, 0x38b5b869df2a703d
mov r13, qword [rax + 0x18]
test r13, r13
jne 0x180005eb5
mov r13d, esi
jmp 0x180005fe6
movabs rax, 0xfe76ffab45f5a0a6
xor r13, rax
movabs rax, 0x14f38a3769535c3d
add r13, rax
movabs rax, 0x3a611e874f07f5f3
xor r13, rax
je 0x180005fe6
mov rax, qword [r13 + 0x38]
test rax, rax
je 0x180005fdb
add rax, rcx
xor rax, rdx
rol rax, 9
test rax, rax
je 0x180005fdb
mov rcx, qword [rax + 0x18]
test rcx, rcx
jne 0x180005f17
mov qword [0x1800b62b8], rsi
jmp 0x18000688b
lea rax, [rcx + r8]
rol rax, 0xd
sub rax, 0x25
mov qword [0x1800b62b8], rax
je 0x18000688b
mov r8, qword [r13 + 0x98]
test r8, r8
je 0x180005fc7
rol r8, 0x11
xor r8, 0x6c
sub r8, r9
je 0x180005fc7
mov r8, qword [r8 + 0xc0]
sub r8, 8
rol r8, 0x33
sub r8, 0x6e
jne 0x180005f66
mov eax, esi
jmp 0x180005fc1
movzx eax, byte [r8 + 0xb8]
movzx edx, byte [r8 + 0xba]
xor eax, 0x9c
movzx ecx, byte [r8 + 0xb9]
xor edx, 0x66
xor ecx, 0x57
shl edx, 0x10
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 0xbb]
xor eax, 3
or ecx, edx
shl eax, 0x18
or eax, edx
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x58], eax
movabs rdx, 0xe4ddeae86d0c422c
mov rax, qword [rsp + 0x58]
sar rax, 0x16
sub eax, 0x24
mov dword [0x1800b62b0], eax
movabs rcx, 0xfc7b376515467e56
movabs r8, 0xf5fb896f404dc101
movzx eax, byte [r13 + 0x40]
mov dword [0x1800b6248], eax
cmp dword [0x1800b6248], esi
je 0x18000688b
mov rax, qword [0x1800b6310]
mov qword [rsp + 0x160], r15
mov r15, qword [rax + 0x108]
test r15, r15
je 0x180006883
mov qword [rsp + 0x1a0], r12
mov r12, qword [rax + 0x110]
test r12, r12
je 0x18000687b
ror r12, 0x18
sub r12, 0x62
ror r15, 0x18
ror r12, 0x3f
sub r15, 0x62
and r12d, 0x3fffffff
ror r15, 0x3f
cmp r12d, 1
jbe 0x18000687b
mov qword [rsp + 0x198], rdi
mov qword [rsp + 0x168], r14
mov r14d, dword [0x1800963f0]
movaps xmmword [rsp + 0x150], xmm6
movss xmm6, dword [0x180087c90]
movaps xmmword [rsp + 0x140], xmm7
movss xmm7, dword [0x180087c1c]
mov qword [rsp + 0x190], rbx
mov dword [rsp + 0x58], esi
nop word [rax + rax]
mov rdi, qword [r15]
test rdi, rdi
je 0x1800063db
cmp rdi, r13
je 0x1800063db
mov rax, qword [rdi + 0x38]
test rax, rax
je 0x1800063db
add rax, rcx
xor rax, rdx
rol rax, 9
test rax, rax
je 0x1800063db
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1800063db
lea rbx, [rcx + r8]
rol rbx, 0xd
sub rbx, 0x25
je 0x1800063db
movzx eax, byte [rdi + 0x40]
cmp eax, dword [0x1800b6248]
jne 0x1800065be
mov rdi, qword [rdi + 0x98]
test rdi, rdi
je 0x1800063db
rol rdi, 0x11
xor rdi, 0x6c
sub rdi, r9
je 0x1800063db
mov r8, qword [rdi + 0xc0]
sub r8, 8
rol r8, 0x33
sub r8, 0x6e
jne 0x18000613e
mov eax, esi
jmp 0x18000618f
movzx eax, byte [r8 + 0xb8]
movzx ecx, byte [r8 + 0xb9]
xor eax, 0x9c
movzx edx, byte [r8 + 0xba]
xor ecx, 0x57
shl ecx, 8
xor edx, 0x66
or ecx, eax
shl edx, 0x10
movzx eax, byte [r8 + 0xbb]
or ecx, edx
xor eax, 3
mov dword [rsp + 0x64], ecx
shl eax, 0x18
or eax, edx
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x60]
sar rax, 0x16
sub eax, 0x24
cmp eax, dword [0x1800b62b0]
lea rcx, [rbx + 0x22b]
mov rax, qword [0x1800b62e0]
mov rdx, rbx
jne 0x180006415
call qword [0x180076428]
test rax, rax
je 0x1800061d7
xorps xmm0, xmm0
lea r8, [rbp + 0x20]
mov rcx, rax
mov edx, 0x22e53c03
mov rax, qword [0x1800b62d8]
movups xmmword [rbp + 0x20], xmm0
call qword [0x180076428]
mov rax, qword [0x1800b62e0]
lea rcx, [rbx + 0x22b]
mov rdx, rbx
call qword [0x180076428]
test rax, rax
je 0x18000622a
xorps xmm0, xmm0
lea r8, [rbp - 0x10]
mov rcx, rax
mov edx, 0x22e53c03
mov rax, qword [0x1800b62d8]
movups xmmword [rbp - 0x10], xmm0
call qword [0x180076428]
cmp rax, 1
jne 0x18000622a
movss xmm0, dword [rbp - 0x10]
movss xmm1, dword [rbp - 0xc]
movss xmm2, dword [rbp - 8]
jmp 0x180006233
xorps xmm2, xmm2
xorps xmm1, xmm1
xorps xmm0, xmm0
unpcklps xmm0, xmm1
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x70]
movsd qword [rbp - 0x40], xmm0
movss dword [rbp - 0x38], xmm2
call fcn.180003450
comiss xmm7, dword [rbp - 0x68]
jae 0x1800063ca
cmp byte [0x180096fd5], sil
je 0x1800063ca
cmp byte [0x180096fd4], sil
je 0x180006297
movups xmm0, xmmword [0x1800b4498]
lea r8, [rbp - 0x80]
mov rcx, rbx
movups xmm1, xmmword [0x1800b44b8]
lea rdx, [rsp + 0x30]
movdqa xmmword [rbp - 0x80], xmm0
movdqa xmmword [rsp + 0x30], xmm1
call fcn.180004fa0
cmp byte [0x1800b62d1], sil
je 0x1800063ca
mov rbx, qword [0x1800b6288]
test rbx, rbx
jne 0x1800062c7
lea ecx, [rbx + 8]
call fcn.180049c40
mov rbx, rax
xor eax, eax
mov qword [0x1800b6288], rbx
mov qword [rbx], rax
lea rcx, [0x1800b4538]
call fcn.1800098d0
movss xmm0, dword [rbp - 0x70]
mov r14d, eax
movsx rcx, byte [rdi + 0xe0]
mov r8, 0xffffffffffffffff
movss xmm1, dword [rbp - 0x6c]
movss dword [rsp + 0x68], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x6c], xmm1
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
movups xmmword [rsp + 0x30], xmm0
cmp cl, 0x1c
jle 0x18000632b
mov rdx, qword [str.INVALID]
nop dword [rax]
inc r8
cmp byte [rdx + r8], sil
jne 0x180006320
jmp 0x180006369
movsx rdx, byte [rdi + 0xe1]
cmp dl, 6
jle 0x18000634b
mov rdx, qword [str.INVALID]
nop
inc r8
cmp byte [rdx + r8], sil
jne 0x180006340
jmp 0x180006369
lea rcx, [rcx + rcx*2]
lea rdx, [rdx + rcx*2]
lea rax, str.INVALID
mov rdx, qword [rax + rdx*8]
nop
inc r8
cmp byte [rdx + r8], sil
jne 0x180006360
lea rcx, [rsp + 0x30]
call fcn.180007b70
lea r8, [rsp + 0x68]
movaps xmm3, xmm6
mov dword [rsp + 0x20], r14d
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180042880
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1800063ca
mov rcx, qword [rsp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800063c5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800068a9
call fcn.180049c7c
mov r14d, dword [0x1800963f0]
movabs r9, 0x38b5b869df2a703d
mov edi, dword [rsp + 0x58]
add r15, 8
inc edi
mov dword [rsp + 0x58], edi
cmp edi, r12d
jae 0x180006853
movabs rcx, 0xfc7b376515467e56
movabs rdx, 0xe4ddeae86d0c422c
movabs r8, 0xf5fb896f404dc101
jmp 0x1800060a0
call qword [0x180076428]
test rax, rax
je 0x180006457
xorps xmm0, xmm0
lea r8, [rbp]
mov rcx, rax
mov edx, 0x22e53c03
mov rax, qword [0x1800b62d8]
movups xmmword [rbp], xmm0
call qword [0x180076428]
cmp rax, 1
jne 0x180006457
movss xmm0, dword [rbp]
movss xmm1, dword [rbp + 4]
movss xmm2, dword [rbp + 8]
jmp 0x180006460
xorps xmm2, xmm2
xorps xmm1, xmm1
xorps xmm0, xmm0
unpcklps xmm0, xmm1
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x60]
movsd qword [rbp - 0x30], xmm0
movss dword [rbp - 0x28], xmm2
call fcn.180003450
comiss xmm7, dword [rbp - 0x58]
jae 0x1800063ca
cmp byte [0x180096fd4], sil
je 0x1800064b7
movups xmm0, xmmword [0x1800b4528]
lea r8, [rsp + 0x30]
mov rcx, rbx
movups xmm1, xmmword [0x1800b4548]
lea rdx, [rbp - 0x80]
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmmword [rbp - 0x80], xmm1
call fcn.180004fa0
cmp byte [0x1800b62d1], sil
je 0x1800063ca
mov rbx, qword [0x1800b6288]
test rbx, rbx
jne 0x1800064e7
lea ecx, [rbx + 8]
call fcn.180049c40
mov rbx, rax
xor eax, eax
mov qword [0x1800b6288], rbx
mov qword [rbx], rax
lea rcx, [0x1800b4538]
call fcn.1800098d0
movss xmm0, dword [rbp - 0x60]
mov r14d, eax
movsx rcx, byte [rdi + 0xe0]
mov r8, 0xffffffffffffffff
movss xmm1, dword [rbp - 0x5c]
movss dword [rsp + 0x70], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x74], xmm1
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
movups xmmword [rsp + 0x30], xmm0
cmp cl, 0x1c
jle 0x18000655d
mov rdx, qword [str.INVALID]
nop dword [rax]
inc r8
cmp byte [rdx + r8], sil
jne 0x180006540
lea rcx, [rsp + 0x30]
call fcn.180007b70
lea r8, [rsp + 0x70]
jmp 0x180006378
movsx rdx, byte [rdi + 0xe1]
cmp dl, 6
jle 0x18000658e
mov rdx, qword [str.INVALID]
inc r8
cmp byte [rdx + r8], sil
jne 0x180006571
lea rcx, [rsp + 0x30]
call fcn.180007b70
lea r8, [rsp + 0x70]
jmp 0x180006378
lea rcx, [rcx + rcx*2]
lea rdx, [rdx + rcx*2]
lea rax, str.INVALID
mov rdx, qword [rax + rdx*8]
inc r8
cmp byte [rdx + r8], sil
jne 0x1800065a1
lea rcx, [rsp + 0x30]
call fcn.180007b70
lea r8, [rsp + 0x70]
jmp 0x180006378
mov rax, qword [0x1800b62e0]
lea rcx, [rbx + 0x22b]
mov rdx, rbx
call qword [0x180076428]
test rax, rax
je 0x180006611
xorps xmm0, xmm0
lea r8, [rbp + 0x10]
mov rcx, rax
mov edx, 0x22e53c03
mov rax, qword [0x1800b62d8]
movups xmmword [rbp + 0x10], xmm0
call qword [0x180076428]
cmp rax, 1
jne 0x180006611
movss xmm0, dword [rbp + 0x10]
movss xmm1, dword [rbp + 0x14]
movss xmm2, dword [rbp + 0x18]
jmp 0x18000661a
xorps xmm2, xmm2
xorps xmm1, xmm1
xorps xmm0, xmm0
unpcklps xmm0, xmm1
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x50]
movsd qword [rbp - 0x20], xmm0
movss dword [rbp - 0x18], xmm2
call fcn.180003450
comiss xmm7, dword [rbp - 0x48]
jae 0x1800063d1
cmp byte [0x180096fd3], sil
je 0x1800063d1
cmp byte [0x180096fd4], sil
je 0x18000667e
movups xmm0, xmmword [0x1800b44a8]
lea r8, [rsp + 0x30]
mov rcx, rbx
movups xmm1, xmmword [0x1800b4508]
lea rdx, [rbp - 0x80]
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmmword [rbp - 0x80], xmm1
call fcn.180004fa0
cmp byte [0x1800b62d1], sil
je 0x1800063d1
mov rbx, qword [0x1800b6288]
test rbx, rbx
jne 0x1800066ae
lea ecx, [rbx + 8]
call fcn.180049c40
mov rbx, rax
xor eax, eax
mov qword [0x1800b6288], rbx
mov qword [rbx], rax
lea rcx, [0x1800b4538]
call fcn.1800098d0
cmp byte [0x180086ab3], sil
mov edi, eax
movss xmm0, dword [rbp - 0x50]
movss xmm1, dword [rbp - 0x4c]
mov ecx, dword [0x180086ab0]
movss dword [rsp + 0x78], xmm0
movss dword [rsp + 0x7c], xmm1
mov dword [rsp + 0x50], ecx
je 0x1800067c1
cmp r14d, 2
jl 0x180006781
movdqa xmm3, xmmword [0x180087d90]
mov eax, 4
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x180087e80]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180087e80]
shufps xmm2, xmm0, 0xdd
movd xmm0, eax
mov eax, 0x1f
psrad xmm2, xmm0
movdqa xmm1, xmm2
movd xmm0, eax
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x180087dc0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180087dd0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.8888888888888888]
movd xmm0, ecx
xorps xmm2, xmm0
movd dword [rsp + 0x50], xmm2
jmp 0x1800067c1
lea r9, [rsp + 0x50]
mov r8d, esi
nop dword [rax]
mov eax, 0x51eb851f
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9 - 1], al
cmp r8d, 4
jl 0x180006790
xorps xmm0, xmm0
mov qword [rsp + 0x40], rsi
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x48], rsi
lea rax, [rsp + 0x50]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], sil
jne 0x1800067e0
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.180007b70
movaps xmm3, xmm6
mov dword [rsp + 0x20], edi
lea r8, [rsp + 0x78]
mov rcx, rbx
lea rdx, [rsp + 0x30]
call fcn.180042880
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1800063d1
mov rcx, qword [rsp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006849
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800068a9
call fcn.180049c7c
jmp 0x1800063d1
mov rbx, qword [rsp + 0x190]
mov rdi, qword [rsp + 0x198]
mov r14, qword [rsp + 0x168]
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x140]
mov r12, qword [rsp + 0x1a0]
mov r15, qword [rsp + 0x160]
mov r13, qword [rsp + 0x170]
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.180049c20
add rsp, 0x178
pop rsi
pop rbp
ret
call fcn.180051334
int3