Function at 0x1800594a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x1800b88d0]
xor rax, rsp
mov qword [rbp - 8], rax
lea r14d, [rdx + 0xd]
mov rdi, r9
mov r12, r8
mov r13, rcx
cmp edx, r14d
jae case.0x180059518.29
mov r15d, dword [rbp - 0x48]
lea esi, [rdx - 0x47]
mov ebx, dword [rbp - 0x38]
lea r8, [0x180000000]
mov r11d, 0x74
xor r9d, r9d
mov r10d, 0x7fff
mov edx, dword [reloc.SHLWAPI.dll_ParseURLA]
cmp esi, 0x1d
ja case.0x180059518.8
mov ecx, dword [r8 + rsi*4 + 0x597b4]
add rcx, r8
jmp rcx
cmp r15d, 1
jne 0x18005957d
mov rdx, rdi
mov ecx, 0x91
call fcn.18005a8e0
xor r9d, r9d
mov r11d, 0x74
mov r10d, 0x7fff
lea r8, [0x180000000]
inc esi
lea eax, [rsi + 0x47]
cmp eax, r14d
jb 0x180059502
mov eax, dword [rbp - 0x50]
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1800a5da0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp r15d, 2
jne case.0x180059518.8
mov edx, 0xb6
mov rcx, rdi
call fcn.180068620
jmp 0x18005952d
mov word [rbp - 0x26], r11w
jmp case.0x180059518.8
mov ebx, r9d
test rdi, rdi
je 0x180059765
movsxd r8, dword [r12]
test r8d, r8d
jle 0x180059765
mov rcx, r9
cmp r8d, 8
jb 0x180059647
cmp edx, 2
jl 0x180059647
mov edx, r8d
xorps xmm3, xmm3
xorps xmm4, xmm4
and edx, 0x80000007
jge 0x1800595e0
dec edx
or edx, 0xfffffff8
inc edx
mov eax, r8d
sub eax, edx
movsxd rdx, eax
nop dword [rax + rax]
movq xmm0, qword [rdi + rcx*2]
pmovsxwd xmm1, xmm0
movq xmm0, qword [rdi + rcx*2 + 8]
pabsd xmm2, xmm1
pmovsxwd xmm1, xmm0
pmaxsd xmm3, xmm2
add rcx, 8
pabsd xmm2, xmm1
pmaxsd xmm4, xmm2
cmp rcx, rdx
jl 0x1800595f0
pmaxsd xmm3, xmm4
movdqa xmm0, xmm3
psrldq xmm0, 8
pmaxsd xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
pmaxsd xmm3, xmm0
movd ebx, xmm3
cmp rcx, r8
jge 0x18005953c
movsx eax, word [rdi + rcx*2]
cdq
xor eax, edx
sub eax, edx
cmp eax, ebx
cmovg ebx, eax
inc rcx
cmp rcx, r8
jl 0x180059650
jmp 0x18005953c
mov eax, dword [0x1800b02da]
lea rdx, [0x1800b04a4]
mov dword [rbp - 0x20], eax
lea rcx, [rbp - 0x1a]
movzx eax, word [0x1800b02de]
mov r8d, 3
mov word [rbp - 0x1c], ax
mov word [rbp - 0x1a], r9w
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
jmp 0x18005952d
mov dword [rbp - 0xe], 0x63
jmp case.0x180059518.8
mov eax, dword [0x1800b04f2]
mov dword [rbp - 0x14], eax
movzx eax, word [0x1800b04f6]
mov word [rbp - 0x10], ax
jmp case.0x180059518.8
mov r9, rdi
mov dword [rbp - 0x40], 0xfa
lea r8, [rbp - 0x40]
mov edx, 0xe6
lea rcx, [rbp - 0x48]
call fcn.180058bf0
lea rcx, [rbp - 0x30]
call qword [sym.imp.SHLWAPI.dll_PathStripToRootW]
mov r15d, dword [rbp - 0x48]
jmp 0x18005952d
mov r8d, 1
mov word [rbp - 0x30], r9w
lea rdx, [0x1800b05d4]
lea rcx, [rbp - 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov r8d, 4
lea rdx, [0x1800b060a]
lea rcx, [rbp - 0x2e]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
xor r9d, r9d
mov word [rbp - 0x26], r9w
jmp 0x180059530
mov r8d, 2
mov word [rbp - 0x24], r9w
lea rdx, [0x1800b06a6]
lea rcx, [rbp - 0x24]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
jmp 0x18005952d
cmp ebx, r10d
cmovg ebx, r10d
mov word [rbp - 0x50], bx
jmp case.0x180059518.8
mov eax, 0xffffffff
mov word [rbp - 0x50], ax
jmp case.0x180059518.29
mov eax, dword [r12]
lea rdx, [rbp - 0x50]
mov ecx, dword [r13]
mov r9d, 0xae
mov dword [rbp - 0x50], eax
mov r8, rdi
mov dword [rbp - 0x38], eax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x48]
mov dword [rbp - 0x40], ecx
mov dword [rbp - 0x48], ecx
lea rcx, [rbp - 0x38]
mov qword [rsp + 0x20], rax
call fcn.18009eb70
jmp 0x180059550