Function at 0x18005cc00
Capabilities:
Encode data using xor
Hash data using sha1

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x100]
sub rsp, 0x200
mov rax, qword [0x1800a2078]
xor rax, rsp
mov qword [rbp + 0xf0], rax
lea ebx, [r8 - 0xf]
mov qword [rsp + 0x48], r9
mov rsi, r9
mov dword [rsp + 0x30], ebx
mov eax, r8d
mov dword [rsp + 0x40], r8d
xor r9d, r9d
mov dword [rsp + 0x38], eax
mov rdi, rdx
lea r11, [0x180000000]
mov rdx, qword [rbp + 0x160]
cmp r8d, ebx
mov ebx, dword [rsp + 0x38]
mov r13, rcx
mov qword [rsp + 0x50], rdx
jbe 0x18005d253
movzx r15d, byte [rsp + 0x3c]
lea rdx, [0x1800a2210]
mov ecx, dword [rsp + 0x30]
nop word [rax + rax]
add eax, 0xffffff10
cmp eax, 0x2f
ja case.default.0x18005ccb2
movzx eax, byte [r11 + rax + 0x5d510]
mov ecx, dword [r11 + rax*4 + 0x5d4d0]
add rcx, r11
jmp rcx
mov r8d, 3
lea rdx, [0x18008c5f0]
lea rcx, [rbp + 0xc9]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
lea r11, [0x180000000]
jmp 0x18005d224
mov r8d, 3
lea rdx, [0x18008c5fb]
lea rcx, [rbp + 0xc0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
lea r11, [0x180000000]
jmp 0x18005d224
mov byte [rbp + 0xc4], 0
jmp case.0x18005ccb2.255
mov rax, qword [0x1800a2240]
mov byte [rax + 4], r15b
mov qword [0x1800a2348], rdx
jmp case.0x18005ccb2.255
test dword [rsi], 0xffffffc0
mov r14d, r9d
mov dword [rbp - 0x38], 0x67452301
mov dword [rbp - 0x34], 0xefcdab89
mov dword [rbp - 0x30], 0x98badcfe
mov dword [rbp - 0x2c], 0x10325476
movups xmm0, xmmword [rbp - 0x38]
mov dword [rbp - 0x28], 0xc3d2e1f0
mov dword [rbp - 0x10], 0xc3d2e1f0
movups xmmword [rbp - 0x20], xmm0
jbe case.0x18005ccb2.255
mov r12, qword [rsp + 0x48]
nop dword [rax]
lea rdx, [rbp + 0x80]
mov r9d, reloc.SHELL32.dll_ILFindLastID
nop dword [rax]
mov r8d, 0x10b
mov eax, r8d
sub eax, 0x109
je 0x18005cdb1
sub eax, 1
je 0x18005cda4
cmp eax, 1
jne 0x18005cdc6
movzx eax, byte [rdi]
inc rdi
mov dword [rdx], eax
jmp 0x18005cdc6
movzx eax, byte [rdi]
shl eax, 8
or dword [rdx], eax
inc rdi
jmp 0x18005cdc6
movzx ecx, byte [rdi + 1]
movzx eax, byte [rdi]
shl ecx, 8
or ecx, eax
shl ecx, 0x10
or dword [rdx], ecx
add rdi, 2
dec r8d
cmp r8d, 0x108
ja 0x18005cd86
add rdx, 4
sub r9, 1
jne 0x18005cd80
lea rax, [rbp + 0x80]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov edx, 0x169
lea rax, [rbp - 0x20]
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.1800459a0
mov eax, dword [r12]
inc r14d
shr eax, 6
cmp r14d, eax
jb 0x18005cd70
lea r11, [0x180000000]
jmp 0x18005d224
mov r15b, 8
jmp case.0x18005ccb2.255
mov r8d, 1
mov byte [rbp + 0xc3], 0
lea rdx, [0x18008c646]
lea rcx, [rbp + 0xc3]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
lea r11, [0x180000000]
jmp 0x18005d224
mov byte [rbp + 0xc5], 0
jmp case.0x18005ccb2.255
mov dword [rbp + 0xc5], 0x6d657473
mov byte [rbp + 0xc9], 0
jmp case.0x18005ccb2.255
mov byte [rbp + 0xc4], 0x79
jmp case.0x18005ccb2.255
mov r14d, 0xc4
nop dword [rax + rax]
mov eax, r14d
sub eax, 0xc0
je 0x18005cfd2
sub eax, 1
je 0x18005cfbe
sub eax, 1
je 0x18005cf4c
sub eax, 1
je 0x18005cf23
cmp eax, 1
jne 0x18005cff9
mov r10d, dword [rsi]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x40], xmm0
mov r8d, r9d
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x60], xmm0
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x30], xmm0
and r10d, 0x3f
jbe 0x18005cff9
mov rax, r9
lea rdx, [rbp]
shr rax, 2
mov ecx, r8d
lea rdx, [rdx + rax*4]
and ecx, 3
movzx eax, byte [rdi]
inc r8d
shl ecx, 3
inc rdi
shl eax, cl
inc r9
xor dword [rdx], eax
cmp r8d, r10d
jb 0x18005cef1
jmp 0x18005cff6
mov ecx, dword [rsi]
lea rdx, [rbp]
mov eax, ecx
and ecx, 3
shr rax, 2
and eax, 0xf
lea rdx, [rdx + rax*4]
lea eax, [rcx*8 + 7]
mov ecx, dword [rdx]
btc ecx, eax
mov dword [rdx], ecx
jmp 0x18005cff9
mov eax, dword [rsi]
and eax, 0x3f
cmp al, 0x37
jbe 0x18005cff9
mov esi, 0x116
nop
cmp esi, 0x116
je 0x18005cf85
cmp esi, 0x2944
jne 0x18005cfa9
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
jmp 0x18005cfa9
lea rax, [rbp]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
lea rax, [rbp - 0x20]
mov edx, 0x169
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.1800459a0
add esi, 0x282e
cmp esi, 0x505c
jbe 0x18005cf60
mov rsi, qword [rsp + 0x48]
jmp 0x18005cff6
mov ecx, dword [rsi]
lea eax, [rcx*8]
shr ecx, 0x1d
mov dword [rbp + 0x3c], ecx
mov dword [rbp + 0x38], eax
jmp 0x18005cff9
lea rax, [rbp]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
lea rax, [rbp - 0x20]
mov edx, 0x169
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.1800459a0
xor r9d, r9d
dec r14d
cmp r14d, 0xbf
ja 0x18005ce90
lea r11, [0x180000000]
jmp 0x18005d224
movzx eax, word [0x1800a21f2]
cmp ax, 8
jae 0x18005d050
movzx r15d, word [0x1800a21f2]
movzx eax, byte [0x1800a2331]
test al, al
jne 0x18005d03e
mov byte [0x1800a2331], 1
jmp 0x18005d050
movzx eax, byte [0x1800a2331]
cmp al, 1
jne 0x18005d050
mov byte [0x1800a2331], 2
movzx ecx, word [0x1800a21f2]
movzx eax, r15b
sub cx, ax
mov word [0x1800a21f2], cx
jmp case.0x18005ccb2.255
lea r8, [rbp - 0x20]
mov r9d, 5
nop dword [rax]
nop dword [rax + rax]
mov edx, 0xe5
mov eax, edx
sub eax, 0xe5
je 0x18005d0b9
sub eax, 0x61
je 0x18005d0b1
cmp eax, 0x61
jne 0x18005d0c4
mov ecx, dword [r8]
mov eax, ecx
shr eax, 0x10
shr ecx, 0x18
mov byte [r13], al
mov byte [r13 + 1], cl
add r13, 2
jmp 0x18005d0c4
mov eax, dword [r8]
shr eax, 8
jmp 0x18005d0bd
movzx eax, byte [r8]
mov byte [r13], al
inc r13
add edx, 0x61
cmp edx, 0x208
jb 0x18005d085
add r8, 4
sub r9, 1
jne 0x18005d080
jmp 0x18005d224
test rsi, rsi
jne case.0x18005ccb2.255
mov esi, 0x89
nop dword [rax]
cmp esi, 0x89
je 0x18005d139
cmp esi, 0x10c
je 0x18005d134
cmp esi, 0x18f
jne 0x18005d155
mov eax, ebx
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.180084890
mov rbx, qword [rsp + 0x250]
add rsp, 0x200
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ebx, r9d
jmp 0x18005d155
lea rdx, [rdi + 0xc8]
mov r8d, 0x48
lea rcx, str.unknown_243
call fcn.180060d40
xor r9d, r9d
add esi, 0x83
cmp esi, 0x212
jb 0x18005d0f0
lea r11, [0x180000000]
jmp 0x18005d224
movzx eax, byte [0x1800a21f0]
test al, 1
jne 0x18005d1d1
test r15b, r15b
je case.0x18005ccb2.255
mov edx, PathMakeUniqueName
cmp edx, 0x2e
jne 0x18005d1bc
mov rax, qword [0x1800a21e8]
movzx ecx, byte [rax]
mov rax, qword [0x1800a2348]
mov byte [rax], cl
mov rax, qword [0x1800a21e8]
inc qword [0x1800a2348]
inc rax
mov qword [0x1800a21e8], rax
add r15b, 0xff
add edx, 0xbe
cmp edx, 0xec
jb 0x18005d188
test r15b, r15b
jne 0x18005d183
jmp 0x18005d224
test r15b, r15b
je case.0x18005ccb2.255
mov edx, 0x68
nop dword [rax + rax]
cmp edx, 0x68
jne 0x18005d214
mov rax, qword [0x1800a21e8]
movzx ecx, byte [rax]
mov rax, qword [0x1800a2348]
mov byte [rax], cl
mov rax, qword [0x1800a21e8]
inc qword [0x1800a2348]
inc rax
mov qword [0x1800a21e8], rax
add r15b, 0xff
add edx, 0x18
cmp edx, 0x80
jb 0x18005d1e0
test r15b, r15b
jne 0x18005d1d6
lea rdx, [0x1800a2210]
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x38]
xor r9d, r9d
mov rsi, qword [rsp + 0x48]
dec eax
mov dword [rsp + 0x38], eax
cmp eax, ecx
ja 0x18005cc90
mov r8d, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
lea r15d, [r8 + 0xe]
cmp r8d, r15d
jae case.0x18005d287.26
mov r12, qword [rsp + 0x50]
lea r14d, [r8 - 0x101]
mov r10d, 0x6c
cmp r14d, 0x1a
ja case.0x18005d287.2
mov ecx, dword [r11 + r14*4 + 0x5d540]
add rcx, r11
jmp rcx
mov eax, dword [0x18008c690]
mov dword [rbp + 0xd0], eax
movzx eax, word [0x18008c694]
mov word [rbp + 0xd4], ax
mov byte [rbp + 0xcd], 0
jmp case.0x18005d287.2
mov byte [rbp + 0xcc], 0
jmp case.0x18005d287.2
test r13, r13
jne case.0x18005d287.2
mov esi, 0x12b
nop dword [rax]
mov eax, esi
sub eax, 0x129
je case.0x18005d287.26
sub eax, 1
je 0x18005d300
cmp eax, 1
jne 0x18005d303
lea rdx, [rdi + 0xc8]
lea r8d, [rax + 0x47]
lea rcx, str._Z5log1pDv2_f
call fcn.180060d40
jmp 0x18005d303
mov ebx, r9d
dec esi
mov r9d, 0
cmp esi, 0x128
ja 0x18005d2d0
lea r10d, [r9 + 0x6c]
jmp case.0x18005d287.2
mov word [rbp + 0xd6], r9w
jmp case.0x18005d287.2
mov r8d, 5
lea rdx, [0x18008c6cc]
lea rcx, [rbp + 0xd0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov r8d, 1
lea rdx, [0x18008c72e]
lea rcx, [rbp + 0xe0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r10d, 0x6c
jmp case.0x18005d287.2
mov rax, qword [rdx]
lea r9, [rbp - 0x58]
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x30], rax
lea r8, [rbp - 0x78]
mov qword [rsp + 0x20], r13
mov ecx, r10d
call fcn.1800629d0
test eax, eax
je 0x18005d3dc
mov esi, 0x34
cmp esi, 0x34
je 0x18005d3a6
cmp esi, 0x1178
je case.0x18005d287.26
jmp 0x18005d3c3
mov rdx, qword [rsp + 0x48]
lea r8, [rbp - 0x78]
mov r9d, 0xaa
lea rcx, [rbp - 0x58]
call fcn.180064ec0
mov ebx, 1
add esi, 0x1144
cmp esi, 0x2288
jbe 0x18005d393
mov r10d, 0x6c
jmp case.0x18005d287.2
mov eax, 0x79
cmp eax, 0x79
je 0x18005d3f4
cmp eax, 0x11e
jne 0x18005d406
xor eax, eax
jmp 0x18005d10a
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
add eax, 0xa5
cmp eax, 0x1c3
jb 0x18005d3e1
mov r10d, 0x6c
jmp case.0x18005d287.2
mov word [rbp + 0xe6], r10w
jmp case.0x18005d287.2
mov ebx, dword [rsp + 0x78]
jmp case.0x18005d287.2
lea rcx, [rsp + 0x58]
call r12
mov r10d, 0x6c
jmp case.0x18005d287.2
xor r9d, r9d
lea r8, [rbp + 0xc0]
mov edx, reloc.SHELL32.dll_SHSetInstanceExplorer
lea rcx, [rbp + 0xd0]
call fcn.18000fe10
mov r12, rax
mov r10d, 0x6c
jmp case.0x18005d287.2
mov r8d, 2
mov word [rbp + 0xe2], r9w
lea rdx, [0x18008c7fa]
lea rcx, [rbp + 0xd0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov r10d, 0x6c
jmp case.0x18005d287.2
mov word [rbp + 0xe8], r9w
jmp case.0x18005d287.2
mov byte [rbp + 0xcc], 0x6f
mov esi, dword [rsp + 0x40]
inc r14d
inc esi
mov dword [rsp + 0x40], esi
cmp esi, r15d
jae case.0x18005d287.26
mov rsi, qword [rsp + 0x48]
lea r11, [0x180000000]
mov rdx, qword [rsp + 0x50]
xor r9d, r9d
jmp 0x18005d272