Function at 0x180021330
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
lea eax, [r8 - 0xe]
mov r14, r9
mov dword [rsp + 0x40], eax
mov esi, r8d
mov r12, rdx
mov rbp, rcx
cmp r8d, eax
jbe case.0x1800213a2.95
mov r15, qword [rsp + 0xb0]
mov r13d, dword [rsp + 0xa0]
xor ebx, ebx
lea eax, [rsi - 0x5f]
lea r10, [0x180000000]
cmp eax, 0x3a
ja case.0x1800213a2.106
movzx eax, byte [r10 + rax + 0x21e58]
mov ecx, dword [r10 + rax*4 + 0x21e28]
add rcx, r10
jmp rcx
xor r9d, r9d
mov dword [rsp + 0x38], r13d
xor edx, edx
lea rcx, [rsp + 0x38]
mov r8d, 0x83
call fcn.18001a0e0
mov dword [rsp + 0x48], eax
jmp case.0x1800213a2.106
xor r8d, r8d
mov r9, r12
xor ecx, ecx
lea edx, [r8 + 0x1d]
call fcn.180009bb0
jmp case.0x1800213a2.106
movzx eax, byte [r12]
test al, al
je case.0x1800213a2.106
mov ecx, dword [r14]
nop dword [rax]
movsx eax, al
cmp eax, ecx
je 0x180021df5
movzx eax, byte [r12 + 1]
inc r12
test al, al
jne 0x1800213f0
jmp case.0x1800213a2.106
mov dword [rsp + 0x48], 0xffffffff
jmp case.0x1800213a2.106
add r14, 4
mov r13d, ebx
cmp byte [r14 + 1], 0
jne 0x180021587
cmp byte [r14], 0x78
jne 0x180021587
movzx r9d, byte [r14 + 3]
add r14, 2
test r9b, r9b
jne 0x18002144e
cmp byte [r14], 0x3b
je case.0x1800213a2.106
mov eax, 0x7e
cmp eax, 0x7e
je 0x1800214ac
cmp eax, 0x485a
je 0x1800214a2
cmp eax, 0x9036
jne 0x180021572
cmp r13d, 0x110000
jl 0x180021572
mov dword [rsp + 0x48], 0xffffffff
mov rax, qword [rsp + 0x48]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov esi, 0x61
jmp 0x180021572
test r9b, r9b
jne 0x1800214b7
movsx r8d, byte [r14]
jmp 0x1800214bd
mov r8d, 0xffffffff
lea edx, [r8 - 0x30]
cmp edx, 0x36
ja case.0x1800214e1.51
movsxd rax, edx
movzx eax, byte [r10 + rax + 0x21ea4]
mov ecx, dword [r10 + rax*4 + 0x21e94]
add rcx, r10
jmp rcx
mov eax, reloc.SHELL32.dll_ILRemoveLastID
cmp eax, 0x11
je 0x1800214f6
cmp eax, 0x9a
je case.0x1800214e1.51
jmp 0x1800214fd
shl r13d, 4
or r13d, edx
add eax, 0x89
cmp eax, 0x123
jb 0x1800214e8
mov ecx, 0x10e
nop
mov eax, ecx
sub eax, 0x10e
je 0x180021527
cmp eax, 0x31
jne 0x18002152b
add r13d, 0xffffffc9
add r13d, r8d
jmp case.0x1800214e1.51
shl r13d, 4
add ecx, 0x31
cmp ecx, 0x170
jb 0x180021510
mov ecx, 0x11e
nop dword [rax + rax]
mov eax, ecx
sub eax, 0x11e
je 0x18002155e
sub eax, 0x18
je 0x180021555
cmp eax, 0x18
je case.0x1800214e1.51
jmp 0x180021562
add r13d, 0xffffffa9
add r13d, r8d
jmp 0x180021562
shl r13d, 4
add ecx, 0x18
cmp ecx, 0x166
jb 0x180021540
mov eax, 0x7e
add eax, 0x47dc
cmp eax, 0xd794
jbe 0x180021453
jmp 0x180021436
movzx ecx, byte [r14 + 1]
test cl, cl
jne 0x18002159a
cmp byte [r14], 0x3b
je case.0x1800213a2.106
mov eax, 0xff
nop
cmp eax, 0xff
je 0x1800215c7
cmp eax, 0x7689
jne 0x1800215e5
mov edx, dword [rsp + 0x30]
add edx, 0xffffffd0
add r13d, edx
cmp r13d, 0x110000
jge 0x180021477
jmp 0x1800215e5
test cl, cl
jne 0x1800215d5
movsx edx, byte [r14]
mov dword [rsp + 0x30], edx
jmp 0x1800215dd
mov dword [rsp + 0x30], 0xffffffff
lea r13d, [r13 + r13*4]
add r13d, r13d
add eax, 0x758a
cmp eax, 0xeb14
jbe 0x1800215a0
add r14, 2
jmp 0x180021587
mov qword [rsp + 0x50], r14
cmp r14, rbp
je 0x180021477
jmp case.0x1800213a2.106
movzx eax, byte [r14]
movzx ecx, byte [rax + r12 + 0x90]
add ecx, 0xfffffffb
cmp ecx, 0x18
ja case.0x18002163a.10
movsxd rax, ecx
movzx eax, byte [r10 + rax + 0x21ef4]
mov ecx, dword [r10 + rax*4 + 0x21edc]
add rcx, r10
jmp rcx
mov ecx, 0x59
mov eax, ecx
sub eax, 0x57
je case.0x1800213a2.95
sub eax, 1
je 0x18002165b
cmp eax, 1
jne 0x18002165f
mov qword [r15], r14
jmp 0x18002165f
mov dword [rsp + 0x48], ebx
dec ecx
cmp ecx, 0x56
ja 0x180021641
inc r14
cmp r14, rbp
je 0x180021d9c
nop dword [rax]
nop word [rax + rax]
mov eax, 0xf4
cmp eax, 0xf4
jne 0x180021d86
movzx eax, byte [r14]
movzx ecx, byte [rax + r12 + 0x90]
add ecx, 0xfffffffb
cmp ecx, 0x18
ja case.0x1800216c5.8
movsxd rax, ecx
lea rbx, [0x180000000]
movzx eax, byte [rbx + rax + 0x21f30]
mov ecx, dword [rbx + rax*4 + 0x21f10]
add rcx, rbx
jmp rcx
mov rdi, rbp
mov ebx, 0x71
sub rdi, r14
mov eax, ebx
sub eax, 0x71
je 0x1800216ef
sub eax, 1
je 0x1800216e5
cmp eax, 1
je case.0x1800213a2.103
jmp 0x180021739
add r14, 2
sub rdi, 2
jmp 0x180021739
cmp rdi, 2
jl 0x180021e10
mov rdx, r14
mov rcx, r12
call qword [r12 + 0x1a8]
test eax, eax
jne 0x180021739
mov ecx, 0x50
mov eax, ecx
sub eax, 0x4e
je case.0x1800213a2.95
sub eax, 1
je 0x18002172a
cmp eax, 1
jne 0x180021732
mov qword [r15], r14
jmp 0x180021732
mov dword [rsp + 0x48], 0
dec ecx
cmp ecx, 0x4d
ja 0x180021710
inc ebx
cmp ebx, 0x74
jb 0x1800216d2
xor ebx, ebx
mov ecx, 1
mov eax, ecx
sub eax, 1
je 0x18002178b
cmp eax, 1
jne 0x18002179b
mov rdx, r14
mov rcx, r12
call qword [r12 + 0x1b0]
test eax, eax
jne 0x18002182a
mov eax, 0x11e
nop
cmp eax, 0x11e
je 0x180021813
cmp eax, 0x925a
je case.0x1800213a2.95
jmp 0x18002181a
mov rax, rbp
sub rax, r14
cmp rax, 3
jl 0x180021e10
inc ecx
cmp ecx, 3
jb 0x180021747
mov rdi, rbp
mov ebx, 0x76
sub rdi, r14
nop dword [rax]
mov eax, ebx
sub eax, 0x75
je case.0x1800213a2.103
cmp eax, 1
jne 0x1800217e8
cmp rdi, 4
jl 0x180021e10
mov rdx, r14
mov rcx, r12
call qword [r12 + 0x1b8]
test eax, eax
je case.0x1800216c5.29
add r14, 4
sub rdi, 4
dec ebx
cmp ebx, 0x74
ja 0x1800217b0
mov ecx, 0x74
mov eax, ecx
sub eax, 0x73
je 0x180021e03
cmp eax, 1
jne 0x180021807
mov qword [r15], r14
dec ecx
cmp ecx, 0x72
ja 0x1800217f4
jmp case.0x1800213a2.106
mov qword [r15], r14
mov dword [rsp + 0x48], ebx
add eax, 0x913c
cmp eax, 0x12278
jbe 0x180021770
add r14, 3
jmp case.0x1800213a2.103
inc r14
jmp 0x180021d81
mov ebx, 0x95
mov eax, ebx
sub eax, 0x95
je 0x180021857
cmp eax, 0x1a
jne 0x1800218aa
add r14, 2
jmp 0x180021d81
mov rax, rbp
sub rax, r14
cmp rax, 2
jl 0x180021e10
mov rdx, r14
mov rcx, r12
call qword [r12 + 0x190]
test eax, eax
jne 0x1800218aa
mov ecx, 0xdf
nop
mov eax, ecx
sub eax, 0xdf
je 0x180021894
cmp eax, 0x64
je case.0x1800213a2.95
jmp 0x18002189f
mov qword [r15], r14
mov dword [rsp + 0x48], 0
add ecx, 0x64
cmp ecx, 0x1a7
jb 0x180021880
add ebx, 0x1a
cmp ebx, 0xc9
jb 0x180021840
mov rdi, rbp
mov ebx, 0x81
sub rdi, r14
mov eax, ebx
sub eax, 0x81
je 0x1800218f9
sub eax, 1
je 0x1800218d9
cmp eax, 1
je 0x180021d81
jmp 0x180021903
mov rdx, r14
mov rcx, r12
call qword [r12 + 0x198]
test eax, eax
je case.0x1800216c5.29
add r14, 3
sub rdi, 3
jmp 0x180021903
cmp rdi, 3
jl 0x180021e10
inc ebx
cmp ebx, 0x84
jb 0x1800218c0
mov ebx, 0xa1
mov eax, ebx
sub eax, 0xa1
je 0x180021929
cmp eax, 0x74
jne 0x180021967
add r14, 4
jmp 0x180021d81
mov rax, rbp
sub rax, r14
cmp rax, 4
jl 0x180021e10
mov rdx, r14
mov rcx, r12
call qword [r12 + 0x1a0]
test eax, eax
jne 0x180021967
mov eax, 0x116
cmp eax, 0x116
je case.0x1800216c5.29
add eax, 0x92
cmp eax, 0x1a8
jb 0x180021950
add ebx, 0x74
cmp ebx, 0x189
jb 0x180021912
lea rbx, [0x180000000]
mov esi, 0xa2
nop
mov eax, esi
sub eax, 0xa2
je 0x1800219a9
sub eax, 0x7a
je 0x18002199c
cmp eax, 0x7a
je case.0x1800213a2.95
jmp 0x180021c6f
mov dword [rsp + 0x48], 0xffffffff
jmp 0x180021c6f
mov rdx, qword [rsp + 0x50]
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov r9d, 0xf9
mov r8, r12
mov qword [rsp + 0x20], 0
mov rcx, r14
call fcn.180006d30
test eax, eax
jne 0x180021a03
mov eax, 0xa0
nop
cmp eax, 0xa0
je 0x1800219f4
cmp eax, 0x320
je 0x180021e03
jmp 0x1800219f7
mov qword [r15], r14
add eax, 0x280
cmp eax, 0x500
jbe 0x1800219e0
inc r14
cmp r14, rbp
je 0x180021c6f
mov esi, 0xa2
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r14]
movzx ecx, byte [rax + r12 + 0x90]
cmp ecx, 0xf
ja case.0x180021a40.2
mov ecx, dword [rbx + rcx*4 + 0x21f4c]
add rcx, rbx
jmp rcx
mov ebx, 0xf6
mov eax, ebx
sub eax, 0xf6
je 0x180021aa9
sub eax, 1
je 0x180021a63
cmp eax, 1
jne 0x180021ab9
add r14, 2
jmp 0x180021c5f
mov rdx, r14
mov rcx, r12
call qword [r12 + 0x1c0]
test eax, eax
je 0x180021ab9
mov ecx, SHSetFolderPathW
nop word [rax + rax]
mov eax, ecx
sub eax, 0xe5
je case.0x1800213a2.95
cmp eax, 1
jne 0x180021a9d
mov qword [r15], r14
mov dword [rsp + 0x48], 0
dec ecx
cmp ecx, 0xe4
ja 0x180021a80
jmp 0x180021ab9
mov rax, rbp
sub rax, r14
cmp rax, 2
jl 0x180021e10
inc ebx
cmp ebx, 0xf9
jb 0x180021a47
mov rbx, rbp
mov edi, 0x77
sub rbx, r14
nop
mov eax, edi
sub eax, 0x77
je 0x180021af1
sub eax, 0x77
je 0x180021ae7
cmp eax, 0x77
je 0x180021c5f
jmp 0x180021b3d
add r14, 3
sub rbx, 3
jmp 0x180021b3d
cmp rbx, 3
jl 0x180021e10
mov rdx, r14
mov rcx, r12
call qword [r12 + 0x1c8]
test eax, eax
je 0x180021b3d
mov ecx, 0x3f
mov eax, ecx
sub eax, 0x3f
je 0x180021b33
sub eax, 1
je 0x180021b29
cmp eax, 1
je case.0x1800213a2.95
jmp 0x180021b36
mov dword [rsp + 0x48], 0
jmp 0x180021b36
mov qword [r15], r14
inc ecx
cmp ecx, 0x42
jb 0x180021b12
add edi, 0x77
cmp edi, 0x1dc
jb 0x180021ad0
mov rbx, rbp
mov edi, 0x25
sub rbx, r14
mov eax, edi
sub eax, 0x25
je 0x180021b65
cmp eax, 0x6d
je 0x180021c5f
jmp 0x180021bc0
cmp rbx, 4
jl 0x180021e10
mov rdx, r14
mov rcx, r12
call qword [r12 + 0x1d0]
test eax, eax
je 0x180021bb8
mov eax, 2
cmp eax, 2
je 0x180021ba9
cmp eax, 0x12c
je 0x180021b9f
cmp eax, 0x256
je case.0x1800213a2.95
jmp 0x180021bac
mov dword [rsp + 0x48], 0
jmp 0x180021bac
mov qword [r15], r14
add eax, 0x12a
cmp eax, 0x37e
jbe 0x180021b86
add r14, 4
sub rbx, 4
add edi, 0x6d
cmp edi, 0xff
jb 0x180021b53
mov ecx, 0x62
mov eax, ecx
sub eax, 0x61
je case.0x1800213a2.95
cmp eax, 1
jne 0x180021beb
mov qword [r15], r14
mov dword [rsp + 0x48], 0
dec ecx
cmp ecx, 0x60
ja 0x180021bd0
mov edx, 0x2b
mov eax, edx
sub eax, 0x2b
je 0x180021c05
cmp eax, 1
je 0x180021c5f
jmp 0x180021c55
inc r14
cmp r14, rbp
je 0x180021477
cmp byte [r14], 0x3e
jne 0x180021c55
mov ecx, 0xcf
nop dword [rax]
mov eax, ecx
sub eax, 0xcd
je case.0x1800213a2.95
sub eax, 1
je 0x180021c40
cmp eax, 1
jne 0x180021c4b
lea rax, [r14 + 1]
mov qword [r15], rax
jmp 0x180021c4b
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x48], eax
dec ecx
cmp ecx, 0xcc
ja 0x180021c20
inc edx
cmp edx, 0x2d
jb 0x180021bf7
inc r14
lea rbx, [0x180000000]
cmp r14, rbp
jne 0x180021a20
add esi, 0x7a
lea rbx, [0x180000000]
cmp esi, 0x210
jb 0x180021980
mov ebx, 0xeb
nop word [rax + rax]
mov eax, ebx
sub eax, 0xea
je 0x180021cfd
cmp eax, 1
jne 0x180021d47
mov rdx, qword [rsp + 0x50]
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x28], rax
xor edi, edi
mov r9d, 0xf9
mov qword [rsp + 0x20], rdi
mov r8, r12
mov rcx, r14
call fcn.180006d30
test eax, eax
jne 0x180021cf8
mov ecx, 0x7f
mov eax, ecx
sub eax, 0x7f
je 0x180021ce7
cmp eax, 1
je case.0x1800213a2.95
jmp 0x180021cee
mov qword [r15], r14
mov dword [rsp + 0x48], edi
inc ecx
cmp ecx, 0x81
jb 0x180021cd5
inc r14
jmp 0x180021d47
cmp r14, rbp
je 0x180021477
cmp byte [r14], 0x3e
jne 0x180021d47
mov ecx, 0x3a
mov eax, ecx
sub eax, 0x3a
je 0x180021d35
sub eax, 0x4b
je 0x180021d28
cmp eax, 0x4b
je case.0x1800213a2.95
jmp 0x180021d3c
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x48], eax
jmp 0x180021d3c
lea rax, [r14 + 1]
mov qword [r15], rax
add ecx, 0x4b
cmp ecx, 0x11b
jb 0x180021d11
dec ebx
cmp ebx, 0xe9
ja 0x180021c90
mov ecx, 0xa4
nop word [rax + rax]
mov eax, ecx
sub eax, 0xa4
je 0x180021d74
cmp eax, 1
je 0x180021e03
jmp 0x180021d77
mov qword [r15], r14
inc ecx
cmp ecx, 0xa6
jb 0x180021d60
mov eax, 0xf4
dec eax
cmp eax, 0xf3
ja 0x180021685
cmp r14, rbp
jne 0x180021680
mov esi, 0x97
jmp case.0x1800213a2.106
xor edx, edx
mov qword [rsp + 0x28], rbx
mov r9, r12
mov qword [rsp + 0x20], rbx
xor r8d, r8d
lea ecx, [rdx + 0x45]
call fcn.18005b3f0
lea rcx, [r12 - 1]
add rcx, rax
cmp rcx, r12
jb case.0x1800213a2.100
mov edx, dword [r14]
nop dword [rax]
movsx eax, byte [rcx]
cmp eax, edx
je 0x180021e1d
dec rcx
cmp rcx, r12
jae 0x180021dd0
mov qword [rsp + 0x48], rbx
dec esi
cmp esi, dword [rsp + 0x40]
jbe case.0x1800213a2.95
jmp 0x180021379
mov rax, r12
jmp 0x180021484
mov qword [r15], r14
mov dword [rsp + 0x48], 0
jmp case.0x1800213a2.95
mov dword [rsp + 0x48], 0xfffffffe
jmp case.0x1800213a2.95
mov rax, rcx
jmp 0x180021484