Function at 0x1800139c0
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rbx, qword [rbp - 0x30]
mov eax, r9d
mov r9, r8
mov r12, rdx
mov rdx, rcx
lea r8d, [rax + 0xf]
mov dword [rbp - 0x50], r8d
cmp eax, r8d
jae case.0x180013a4a.120
mov r14, qword [rbp - 0x30]
lea rcx, [0x180000000]
mov r13, qword [rbp - 0x40]
xor edi, edi
mov rsi, qword [rbp + 0x68]
mov r15, qword [rbp + 0x60]
add eax, 0xffffff92
lea r11, [0x1800634f4]
lea r10, [0x180063548]
cmp eax, 0x12
ja case.default.0x180013a4a
mov ecx, dword [rcx + rax*4 + 0x13f68]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], rdi
jmp case.0x180013a4a.121
cmp qword [r15], 2
jb 0x180013a70
cmp byte [rsi], 0x3c
je 0x180013aa8
mov eax, 0x55
cmp eax, 0x55
je 0x180013a9d
cmp eax, 0x68
jne 0x180013aa0
mov rax, rbx
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rbx, rdi
add eax, 0x13
cmp eax, 0x7b
jb 0x180013a75
mov r14d, 1
jmp case.0x180013a4a.121
inc qword [r9 + 8]
jmp case.0x180013a4a.121
mov r13, rdi
mov qword [rbp - 0x40], rdi
jmp case.0x180013a4a.121
mov rcx, qword [r15]
cmp r14, rcx
jae case.0x180013a4a.121
mov r8, qword [rbp + 0x68]
nop dword [rax + rax]
movzx eax, byte [r14 + r8]
cmp al, 0x3e
je 0x180013ae5
cmp al, 0x20
je 0x180013ae5
inc r14
cmp r14, rcx
jb 0x180013ad0
mov rsi, r8
mov r8d, dword [rbp - 0x50]
lea rcx, [0x180000000]
mov eax, dword [rbp + 0x58]
inc eax
mov dword [rbp + 0x58], eax
cmp eax, r8d
jae case.0x180013a4a.120
mov rdx, qword [rbp + 0x40]
mov r9, qword [rbp + 0x50]
jmp 0x180013a1f
mov rax, qword [r9 + 8]
inc rax
cmp rax, qword [r9 + 0x10]
jbe case.0x180013a4a.121
lea r8, [rbp - 0x48]
mov qword [rbp - 0x48], rax
mov edx, reloc.SHELL32.dll_ILFindLastID
mov rcx, r9
call fcn.180026820
test eax, eax
js case.0x180013a4a.120
jmp 0x180013ae8
mov rdx, qword [r9 + 8]
mov rcx, qword [r9]
movzx eax, byte [r12]
mov byte [rdx + rcx], al
jmp case.0x180013a4a.121
cmp qword [rbp - 0x38], rdi
jne case.0x180013a4a.121
mov eax, 0x9d
mov dword [rbp - 0x48], eax
nop dword [rax]
sub eax, 0x9d
je 0x180013cf8
sub eax, 1
je 0x180013b8b
sub eax, 1
je 0x180013b83
cmp eax, 1
je case.0x180013a4a.120
jmp 0x180013e41
mov rbx, rdi
jmp 0x180013e41
mov rdx, qword [rbp + 0x60]
cmp qword [rdx], 4
jbe 0x180013e41
mov rcx, qword [rbp + 0x68]
movzx eax, byte [rcx + 1]
sub al, 0x48
test al, 0xdf
jne 0x180013e41
movzx eax, byte [rcx + 2]
sub al, 0x52
test al, 0xdf
jne 0x180013e41
mov r13d, 0xcf
nop
mov eax, r13d
sub eax, 0xcd
je 0x180013c08
sub eax, 1
je 0x180013be1
cmp eax, 1
jne 0x180013cdf
lea r14d, [rax + 2]
jmp 0x180013cdf
mov rax, qword [rdx]
cmp r14, rax
jae 0x180013cdf
nop dword [rax]
cmp byte [r14 + rcx], 0x3e
je 0x180013cdf
inc r14
cmp r14, rax
jb 0x180013bf0
jmp 0x180013cdf
lea rax, [r14 + 1]
cmp rax, qword [rdx]
jae 0x180013cdf
mov r15d, 0x11f
nop dword [rax + rax]
mov eax, r15d
sub eax, 0x11e
je 0x180013c3b
cmp eax, 1
jne 0x180013ccf
inc r14
jmp 0x180013ccf
mov rax, qword [rdx]
lea r8, [r14 + rcx]
sub rax, r14
mov dword [rsp + 0x28], reloc.SHELL32.dll_ILAppendID
mov qword [rbp - 0x40], rax
xor r9d, r9d
lea rax, [rbp - 0x40]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002a820
mov qword [rbp - 0x40], rax
mov rcx, rax
test rax, rax
je 0x180013cc7
mov esi, 0x49
mov eax, esi
sub eax, 0x49
je 0x180013c8c
cmp eax, 0x47
jne 0x180013cbc
mov rax, qword [rbp - 0x20]
jmp 0x180013a82
mov rdx, qword [rbp + 0x40]
lea rax, [rcx + r14]
mov qword [rbp - 0x20], rax
cmp dword [rdx], edi
je 0x180013cbc
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x180013cbc
mov r8, qword [r12 + 0xd0]
lea rdx, [rbp - 0x28]
mov rcx, qword [rbp + 0x50]
call rax
mov rcx, qword [rbp - 0x40]
add esi, 0x47
cmp esi, 0xd7
jb 0x180013c77
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x68]
dec r15d
cmp r15d, 0x11d
ja 0x180013c20
dec r13d
cmp r13d, 0xcc
ja 0x180013bc0
mov r13, qword [rbp - 0x40]
jmp 0x180013e41
mov rcx, qword [rbp + 0x60]
cmp qword [rcx], 5
jbe 0x180013e41
mov r8, qword [rbp + 0x68]
cmp byte [r8 + 1], 0x21
jne 0x180013e41
cmp byte [r8 + 2], 0x2d
jne 0x180013e41
cmp byte [r8 + 3], 0x2d
jne 0x180013e41
mov r15d, SHSetFolderPathA
mov eax, r15d
sub eax, 0xe2
je 0x180013d85
sub eax, 1
je 0x180013d52
cmp eax, 1
jne 0x180013e21
lea r14d, [rax + 4]
jmp 0x180013e21
mov rcx, qword [rcx]
cmp r14, rcx
jae 0x180013d7d
lea rax, [r8 - 1]
add rax, r14
cmp byte [rax - 1], 0x2d
jne 0x180013d72
cmp byte [rax], 0x2d
jne 0x180013d72
cmp byte [rax + 1], 0x3e
je 0x180013d7d
inc r14
inc rax
cmp r14, rcx
jb 0x180013d61
inc r14
jmp 0x180013e21
mov rax, qword [rcx]
cmp r14, rax
jae 0x180013dc3
sub rax, r14
mov dword [rsp + 0x28], reloc.SHELL32.dll_ILAppendID
mov qword [rbp - 0x40], rax
add r8, r14
lea rax, [rbp - 0x40]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
xor ecx, ecx
call fcn.18002a820
mov rdx, qword [rbp + 0x40]
mov r13, rax
mov r9, qword [rbp + 0x50]
mov qword [rbp - 0x40], rax
test r13, r13
je 0x180013e21
mov esi, 0x24
nop dword [rax]
mov eax, esi
sub eax, 0x22
je case.0x180013a4a.120
sub eax, 1
je 0x180013e0e
cmp eax, 1
jne 0x180013e12
lea rax, [r14 + r13]
mov qword [rbp - 0x20], rax
cmp dword [rdx], edi
je 0x180013e12
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x180013e12
mov r8, qword [r12 + 0xd0]
lea rdx, [rbp - 0x28]
mov rcx, r9
call rax
jmp 0x180013e12
mov rbx, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x40]
dec esi
mov r9, qword [rbp + 0x50]
cmp esi, 0x21
ja 0x180013dd0
mov rdx, qword [rbp + 0x40]
dec r15d
mov r9, qword [rbp + 0x50]
mov r8, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x60]
cmp r15d, 0xe1
ja 0x180013d31
mov eax, dword [rbp - 0x48]
mov rdx, qword [rbp + 0x40]
inc eax
mov r9, qword [rbp + 0x50]
mov dword [rbp - 0x48], eax
cmp eax, 0xa1
jb 0x180013b60
mov rsi, qword [rbp + 0x68]
mov r15, qword [rbp + 0x60]
jmp 0x180013ae8
cmp r14, qword [r15]
jae case.0x180013a4a.121
lea eax, [r14 - 1]
mov edx, 0x11b
lea rcx, [rsi + 1]
mov dword [rbp - 0x48], eax
lea r8, [rbp - 0x48]
call fcn.18002a3c0
mov qword [rbp - 0x38], rax
jmp 0x180013ae8
cmp dword [rdx], edi
je 0x180013eb7
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x180013eb7
mov r8, qword [r12 + 0xd0]
lea rdx, [rbp - 0x28]
mov rcx, r9
call rax
mov r8d, dword [rbp - 0x50]
mov rbx, qword [rbp - 0x30]
jmp case.0x180013a4a.121
cmp qword [rbp - 0x30], rdi
jne case.0x180013a4a.121
mov rdx, qword [rbp - 0x38]
mov rcx, rdi
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r10 + rcx - 1]
jne 0x180013eea
cmp rcx, 4
jne 0x180013ed1
jmp case.0x180013a4a.121
mov rcx, rdi
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r11 + rcx - 1]
jne 0x180013f09
cmp rcx, 4
jne 0x180013ef0
jmp case.0x180013a4a.121
mov dword [rbp - 0x48], edi
mov r8, rdx
mov rax, qword [r15]
lea rdx, [rbp - 0x30]
mov dword [rsp + 0x28], 0x12c
lea rcx, [rbp - 0x48]
mov r9, r12
mov qword [rbp - 0x30], rax
mov qword [rsp + 0x20], rsi
call fcn.18004f1c0
mov qword [rbp - 0x30], rax
jmp 0x180013ae8
mov r8, qword [rbp - 0x38]
mov dword [rbp - 0x48], 1
jmp 0x180013f0f
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x180013f60
mov qword [rbp - 0x20], rcx
jmp case.0x180013a4a.121
mov rax, rdi
jmp 0x180013a82