Function at 0x18003c6f0
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x18], r8d
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov ebx, dword [rbp + 0x40]
mov r12, rcx
lea ecx, [r8 + 0x225]
mov r14, r9
mov dword [rbp - 0x10], ecx
mov r13, rdx
cmp r8d, ecx
jae 0x18003c848
mov r15d, dword [rbp - 0xc]
lea r10, [0x180000000]
mov rdi, qword [rbp + 0x50]
xor r9d, r9d
nop word [rax + rax]
cmp r8d, 0xe4
ja 0x18003ce50
je 0x18003cc3d
mov eax, r8d
sub eax, 0x5d
je 0x18003cc26
sub eax, 0x3d
je 0x18003ca33
sub eax, 0xd
je 0x18003c78b
cmp eax, 0x30
je 0x18003cada
jmp 0x18003d41f
cmp r14, r13
je 0x18003cc33
movzx ecx, byte [r14]
test cl, cl
jne 0x18003c7ab
movzx eax, byte [r14 + 1]
movzx eax, byte [rax + rdi + 0x90]
jmp 0x18003c7df
movzx eax, byte [r14 + 1]
lea r8, [rbp + 0x40]
mov qword [rsp + 0x28], r9
xor edx, edx
mov qword [rsp + 0x20], r9
mov r9d, 0x7b
mov byte [rbp + 0x40], cl
lea rcx, [rbp - 0x20]
mov byte [rbp - 0x20], al
call fcn.18005acc0
xor r9d, r9d
lea r10, [0x180000000]
sub eax, 5
cmp eax, 0x18
ja case.0x18003c801.10
cdqe
movzx eax, byte [r10 + rax + 0x3d498]
mov ecx, dword [r10 + rax*4 + 0x3d480]
add rcx, r10
jmp rcx
movzx eax, byte [r14]
movzx r8d, byte [r14 + 1]
movzx ecx, byte [rax + r10 + 0x67330]
mov eax, r8d
shr eax, 5
and r8d, 0x1f
lea eax, [rax + rcx*8]
mov eax, dword [r10 + rax*4 + 0x66e30]
bt eax, r8d
jb case.0x18003c801.8
mov ecx, 0x125
mov eax, ecx
sub eax, 0x125
je 0x18003c86d
sub eax, 0x23
je 0x18003c868
cmp eax, 0x23
jne 0x18003c871
mov eax, ebx
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ebx, r9d
jmp 0x18003c871
mov qword [r12], r14
add ecx, 0x23
cmp ecx, 0x18e
jb 0x18003c835
mov ecx, dword [rbp - 0x10]
add r14, 2
mov r8d, 0xa7
jmp 0x18003d41f
mov r8, r13
mov edx, 0xa7
sub r8, r14
nop dword [rax]
mov eax, edx
sub eax, 0xa5
je 0x18003ca25
sub eax, 1
je 0x18003c8f2
cmp eax, 1
jne 0x18003c8fa
cmp r8, 2
jl 0x18003d45c
mov ecx, 0x9a
nop word [rax + rax]
mov eax, ecx
sub eax, 0x99
je 0x18003d454
cmp eax, 1
jne 0x18003c8e6
mov qword [r12], r14
dec ecx
cmp ecx, 0x98
ja 0x18003c8d0
jmp 0x18003c8fa
add r14, 2
sub r8, 2
dec edx
cmp edx, 0xa4
ja 0x18003c8a0
mov r8, r13
mov edx, 5
sub r8, r14
nop
cmp edx, 5
je 0x18003c935
cmp edx, 0xf0
je 0x18003c92b
cmp edx, 0x1db
je 0x18003ca25
jmp 0x18003c970
add r14, 3
sub r8, 3
jmp 0x18003c970
cmp r8, 3
jl 0x18003d45c
mov ecx, 0x100
nop dword [rax]
nop dword [rax + rax]
mov eax, ecx
sub eax, 0xff
je 0x18003d454
cmp eax, 1
jne 0x18003c966
mov qword [r12], r14
dec ecx
cmp ecx, 0xfe
ja 0x18003c950
add edx, 0xeb
cmp edx, 0x2c1
jbe 0x18003c910
mov rdx, r13
mov ecx, 0xa4
sub rdx, r14
nop dword [rax]
cmp ecx, 0xa4
je 0x18003c9b4
cmp ecx, 0x1cd4
je 0x18003c9aa
cmp ecx, 0x3904
je 0x18003ca25
jmp 0x18003c9e7
add r14, 4
sub rdx, 4
jmp 0x18003c9e7
cmp rdx, 4
jl 0x18003d45c
mov eax, 0xc9
cmp eax, 0xc9
je 0x18003c9d7
cmp eax, 0x16d
je 0x18003d454
jmp 0x18003c9db
mov qword [r12], r14
add eax, 0xa4
cmp eax, 0x211
jb 0x18003c9c3
add ecx, 0x1c30
cmp ecx, 0x5490
jbe 0x18003c990
mov eax, 0x6e
nop word [rax + rax]
cmp eax, 0x6e
je 0x18003ca12
cmp eax, 0x2184
je 0x18003c848
jmp 0x18003ca19
mov qword [r12], r14
mov ebx, r9d
add eax, 0x2116
cmp eax, 0x422c
jbe 0x18003ca00
mov ecx, dword [rbp - 0x10]
mov r8d, 0xa7
jmp 0x18003d41f
movzx ecx, byte [r14]
test cl, cl
jne 0x18003ca4a
movzx eax, byte [r14 + 1]
movzx eax, byte [rax + rdi + 0x90]
jmp 0x18003ca7e
movzx eax, byte [r14 + 1]
lea r8, [rbp - 0x20]
mov qword [rsp + 0x28], r9
xor edx, edx
mov qword [rsp + 0x20], r9
mov r9d, 0x7b
mov byte [rbp - 0x20], cl
lea rcx, [rbp - 0x18]
mov byte [rbp - 0x18], al
call fcn.18005acc0
xor r9d, r9d
lea r10, [0x180000000]
sub eax, 5
cmp eax, 0x18
ja case.0x18003caa0.10
cdqe
movzx eax, byte [r10 + rax + 0x3d4cc]
mov ecx, dword [r10 + rax*4 + 0x3d4b4]
add rcx, r10
jmp rcx
movzx eax, byte [r14]
movzx r8d, byte [r14 + 1]
movzx ecx, byte [rax + r10 + 0x67330]
mov eax, r8d
shr eax, 5
and r8d, 0x1f
lea eax, [rax + rcx*8]
mov eax, dword [r10 + rax*4 + 0x66e30]
bt eax, r8d
jae 0x18003d450
add r14, 2
mov ecx, dword [rbp - 0x10]
mov r8d, 0xd7
jmp 0x18003d41f
mov r8, r13
mov edx, 0x10d
sub r8, r14
mov eax, edx
sub eax, 0x10d
je 0x18003cb0f
sub eax, 1
je 0x18003cb05
cmp eax, 1
je 0x18003cad7
jmp 0x18003cb3b
add r14, 2
sub r8, 2
jmp 0x18003cb3b
cmp r8, 2
jl 0x18003d45c
mov ecx, 0x1b
nop
mov eax, ecx
sub eax, 0x1a
je 0x18003d454
cmp eax, 1
jne 0x18003cb34
mov qword [r12], r14
dec ecx
cmp ecx, 0x19
ja 0x18003cb20
inc edx
cmp edx, 0x110
jb 0x18003caf0
mov rdx, r13
mov eax, 0x9f
sub rdx, r14
cmp eax, 0x9f
je 0x18003d435
cmp eax, 0x1839
je 0x18003cad7
add eax, 0x179a
cmp eax, 0x2f34
jbe 0x18003cb50
mov rdx, r13
mov ecx, 0xb0
sub rdx, r14
nop dword [rax]
cmp ecx, 0xb0
je 0x18003cb96
cmp ecx, 0x6720
je 0x18003cad7
jmp 0x18003cbd2
cmp rdx, 4
jl 0x18003d45c
mov eax, 0x12
cmp eax, 0x12
je 0x18003cbb7
cmp eax, 0x29a
je 0x18003c848
jmp 0x18003cbbe
mov qword [r12], r14
mov ebx, r9d
add eax, 0x288
cmp eax, 0x510
jbe 0x18003cba5
add r14, 4
sub rdx, 4
add ecx, 0x6670
cmp ecx, 0xcce0
jbe 0x18003cb80
mov ecx, 0x10c
nop word [rax + rax]
mov eax, ecx
sub eax, 0x10a
je 0x18003c848
sub eax, 1
je 0x18003cc0d
cmp eax, 1
jne 0x18003cc10
mov qword [r12], r14
jmp 0x18003cc10
mov ebx, r9d
dec ecx
cmp ecx, 0x109
ja 0x18003cbf0
mov r8d, dword [rbp + 0x40]
mov ecx, dword [rbp - 0x10]
jmp 0x18003d41f
mov qword [rbp - 8], r14
cmp r14, r13
jne 0x18003d41f
mov eax, 0xffffffff
jmp 0x18003c84a
cmp r14, r13
je 0x18003d41f
nop word [rax + rax]
mov esi, 0x6b
mov eax, esi
mov rdi, r14
sub eax, 0x6b
je 0x18003cc7c
cmp eax, 1
jne 0x18003ce30
mov r8d, SHSetFolderPathW
mov esi, 0x6c
mov dword [rbp + 0x40], r8d
jmp 0x18003ce30
movzx ecx, byte [r14]
test cl, cl
jne 0x18003cc97
movzx eax, byte [r14 + 1]
mov rcx, qword [rbp + 0x50]
movzx eax, byte [rax + rcx + 0x90]
jmp 0x18003cccf
movzx eax, byte [r14 + 1]
lea r8, [rbp - 0x18]
mov qword [rsp + 0x28], r9
xor edx, edx
mov qword [rsp + 0x20], r9
mov r9d, 0x7b
mov byte [rbp - 0x18], cl
lea rcx, [rbp - 0x20]
mov byte [rbp - 0x20], al
call fcn.18005acc0
mov r8d, dword [rbp + 0x40]
lea r10, [0x180000000]
xor r9d, r9d
sub eax, 5
cmp eax, 0x1f
ja case.0x18003ccf1.11
cdqe
movzx eax, byte [r10 + rax + 0x3d504]
mov ecx, dword [r10 + rax*4 + 0x3d4e8]
add rcx, r10
jmp rcx
movzx eax, byte [r14]
movzx r8d, byte [r14 + 1]
movzx ecx, byte [rax + r10 + 0x67430]
mov eax, r8d
shr eax, 5
and r8d, 0x1f
lea eax, [rax + rcx*8]
mov eax, dword [r10 + rax*4 + 0x66e30]
bt eax, r8d
jae 0x18003d450
mov r8d, SHSetFolderPathW
add r14, 2
mov dword [rbp + 0x40], r8d
mov esi, 0x6c
jmp 0x18003ce30
mov ecx, 0x114
cmp ecx, 0x114
je 0x18003cd57
cmp ecx, 0x6abc
je 0x18003d450
jmp 0x18003cd67
mov rax, r13
sub rax, rdi
cmp rax, 2
jl 0x18003d45c
add ecx, 0x69a8
cmp ecx, 0xd350
jbe 0x18003cd41
mov rdx, r13
mov ecx, 8
sub rdx, rdi
mov eax, ecx
sub eax, 8
je 0x18003cdaa
sub eax, 1
je 0x18003d450
sub eax, 1
je 0x18003cda0
cmp eax, 1
je 0x18003cc68
jmp 0x18003cdb4
add r14, 3
sub rdx, 3
jmp 0x18003cdb4
cmp rdx, 3
jl 0x18003d45c
inc ecx
cmp ecx, 0xc
jb 0x18003cd80
mov rdx, r13
mov eax, 0x5e
sub rdx, r14
cmp eax, 0x5e
je 0x18003d447
cmp eax, 0x110
je 0x18003cc68
add eax, 0xb2
cmp eax, 0x1c2
jb 0x18003cdc6
nop word [rax + rax]
mov qword [r12], r14
mov eax, 0x14
jmp 0x18003c84a
mov ecx, 0xd0
mov eax, ecx
sub eax, 0xce
je 0x18003c848
sub eax, 1
je 0x18003ce20
cmp eax, 1
jne 0x18003ce23
mov qword [r12], rdi
jmp 0x18003ce23
mov ebx, r9d
dec ecx
mov r14, rdi
cmp ecx, 0xcd
ja 0x18003ce03
inc esi
cmp esi, 0x6d
jb 0x18003cc55
cmp r14, r13
jne 0x18003cc50
mov rdi, qword [rbp + 0x50]
mov ecx, dword [rbp - 0x10]
jmp 0x18003d41f
mov eax, r8d
sub eax, 0x114
je 0x18003ce80
sub eax, 0xd
je 0x18003ce76
sub eax, 0x30
je 0x18003c848
cmp eax, 0xd
je 0x18003c848
jmp 0x18003d41f
mov ebx, 0xffffffec
jmp 0x18003d41f
cmp r14, r13
je 0x18003d41a
nop dword [rax]
mov ecx, 0x24
mov eax, ecx
sub eax, 0x24
je 0x18003ceb4
cmp eax, 1
jne 0x18003d3fb
mov r8d, 0x114
mov dword [rbp + 0x40], r8d
jmp 0x18003d3ff
movzx ecx, byte [r14]
test cl, cl
jne 0x18003cecf
movzx eax, byte [r14 + 1]
mov rsi, qword [rbp + 0x50]
movzx eax, byte [rax + rsi + 0x90]
jmp 0x18003cf07
movzx eax, byte [r14 + 1]
lea r8, [rbp - 0x18]
mov qword [rsp + 0x28], r9
xor edx, edx
mov qword [rsp + 0x20], r9
mov r9d, 0x7b
mov byte [rbp - 0x18], cl
lea rcx, [rbp - 0x20]
mov byte [rbp - 0x20], al
call fcn.18005acc0
mov rsi, qword [rbp + 0x50]
lea r10, [0x180000000]
xor r9d, r9d
sub eax, 5
cmp eax, 0x18
ja case.0x18003cf29.12
cdqe
movzx eax, byte [r10 + rax + 0x3d544]
mov ecx, dword [r10 + rax*4 + 0x3d524]
add rcx, r10
jmp rcx
movzx eax, byte [r14]
movzx r8d, byte [r14 + 1]
movzx ecx, byte [rax + r10 + 0x67430]
mov eax, r8d
shr eax, 5
and r8d, 0x1f
lea eax, [rax + rcx*8]
mov eax, dword [r10 + rax*4 + 0x66e30]
bt eax, r8d
jb case.0x18003cf29.10
mov eax, 0x41
nop dword [rax]
cmp eax, 0x41
je 0x18003cf72
cmp eax, 0xb6d
je 0x18003d454
jmp 0x18003cf76
mov qword [r12], r14
add eax, 0xb2c
cmp eax, 0x1658
jbe 0x18003cf60
add r14, 2
jmp 0x18003d3f3
mov edx, 0xd5
mov eax, edx
sub eax, 0xd5
je 0x18003cfdc
sub eax, 0xb
je 0x18003cfa5
cmp eax, 0xb
je case.0x18003cf29.10
jmp 0x18003cfec
mov ecx, 0x8b
nop word [rax + rax]
mov eax, ecx
sub eax, 0x89
je 0x18003c848
sub eax, 1
je 0x18003cfcd
cmp eax, 1
jne 0x18003cfd0
mov qword [r12], r14
jmp 0x18003cfd0
mov ebx, r9d
dec ecx
cmp ecx, 0x88
ja 0x18003cfb0
jmp 0x18003cfec
mov rax, r13
sub rax, r14
cmp rax, 2
jl 0x18003d45c
add edx, 0xb
cmp edx, 0xf6
jb 0x18003cf90
mov rdx, r13
mov ecx, 0x54
sub rdx, r14
mov eax, ecx
sub eax, 0x54
je 0x18003d014
cmp eax, 1
je 0x18003d3f3
jmp 0x18003d050
cmp rdx, 3
jl 0x18003d45c
mov eax, 0x61
cmp eax, 0x61
je 0x18003d035
cmp eax, 0x127
je 0x18003c848
jmp 0x18003d03c
mov qword [r12], r14
mov ebx, r9d
add eax, 0xc6
cmp eax, 0x1ed
jb 0x18003d023
add r14, 3
sub rdx, 3
inc ecx
cmp ecx, 0x56
jb 0x18003d002
mov r8, r13
mov edx, 0xfe
sub r8, r14
cmp edx, 0xfe
je 0x18003d08a
cmp edx, 0x18c
je 0x18003d080
cmp edx, 0x21a
je 0x18003d3f3
jmp 0x18003d0c5
add r14, 4
sub r8, 4
jmp 0x18003d0c5
cmp r8, 4
jl 0x18003d45c
mov ecx, 0xef
nop dword [rax]
mov eax, ecx
sub eax, 0xef
je 0x18003d0b4
cmp eax, 1
je 0x18003c848
jmp 0x18003d0bb
mov qword [r12], r14
mov ebx, r9d
inc ecx
cmp ecx, 0xf1
jb 0x18003d0a0
add edx, 0x8e
cmp edx, 0x2a8
jb 0x18003d062
mov r15, qword [rbp - 8]
mov edi, 0x104
jmp 0x18003d0e3
xor r9d, r9d
mov eax, edi
sub eax, 0x104
je 0x18003d274
sub eax, 1
je 0x18003d103
cmp eax, 1
je 0x18003c848
jmp 0x18003d2cf
cmp r14, r13
je 0x18003d26d
mov edi, 0x105
movzx ecx, byte [r14]
test cl, cl
jne 0x18003d128
movzx eax, byte [r14 + 1]
movzx eax, byte [rax + rsi + 0x90]
jmp 0x18003d159
movzx eax, byte [r14 + 1]
lea r8, [rbp - 0x18]
mov qword [rsp + 0x28], r9
xor edx, edx
mov qword [rsp + 0x20], r9
mov r9d, 0x7b
mov byte [rbp - 0x18], cl
lea rcx, [rbp - 0x20]
mov byte [rbp - 0x20], al
call fcn.18005acc0
lea r10, [0x180000000]
cmp eax, 0xf
ja case.0x18003d16f.2
cdqe
mov ecx, dword [r10 + rax*4 + 0x3d560]
add rcx, r10
jmp rcx
mov ecx, 0x10e
mov eax, ecx
sub eax, 0x10e
je 0x18003d18f
sub eax, 1
je 0x18003d19f
cmp eax, 1
je case.0x18003d16f.2
jmp 0x18003d19f
mov rax, r13
sub rax, r14
cmp rax, 2
jl 0x18003d45c
inc ecx
cmp ecx, 0x111
jb 0x18003d176
mov ecx, 0x74
nop
mov eax, ecx
sub eax, 0x74
je 0x18003d1c5
cmp eax, 1
jne 0x18003d1d5
add r14, 3
jmp 0x18003d261
mov rax, r13
sub rax, r14
cmp rax, 3
jl 0x18003d45c
inc ecx
cmp ecx, 0x76
jb 0x18003d1b0
mov ecx, 0x31
cmp ecx, 0x31
je 0x18003d1f4
xor r9d, r9d
cmp ecx, 0x49
jne 0x18003d204
add r14, 4
jmp 0x18003d264
mov rax, r13
sub rax, r14
cmp rax, 4
jl 0x18003d45c
add ecx, 0xc
cmp ecx, 0x55
jb 0x18003d1e1
nop dword [rax]
mov qword [r12], r14
xor eax, eax
jmp 0x18003c84a
mov ecx, 0x101
mov eax, ecx
sub eax, 0xff
je 0x18003d261
sub eax, 1
je 0x18003d239
cmp eax, 1
jne 0x18003d253
add r14, 2
jmp 0x18003d253
cmp r14, r13
je 0x18003cc33
cmp byte [r14], 0
jne 0x18003d253
cmp byte [r14 + 1], 0x3e
je 0x18003d470
dec ecx
cmp ecx, 0xfe
ja 0x18003d220
add r14, 2
xor r9d, r9d
cmp r14, r13
jne 0x18003d111
mov ebx, 0xffffffff
jmp 0x18003d2cf
lea rax, [rbp - 0xc]
mov r9, r14
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov edx, 0xf0
mov qword [rsp + 0x20], rsi
mov rcx, r15
call fcn.180026ba0
test eax, eax
jne 0x18003d2cb
mov ecx, 0xfd
nop
mov eax, ecx
sub eax, 0xfd
je 0x18003d2bd
sub eax, 1
je 0x18003d2b9
cmp eax, 1
je 0x18003c848
jmp 0x18003d2c1
xor ebx, ebx
jmp 0x18003d2c1
mov qword [r12], r14
inc ecx
cmp ecx, 0x100
jb 0x18003d2a0
add r14, 2
inc edi
lea r10, [0x180000000]
cmp edi, 0x107
jb 0x18003d0e0
mov r15d, dword [rbp - 0xc]
mov edi, 4
nop dword [rax]
mov eax, edi
sub eax, 3
je 0x18003d367
cmp eax, 1
jne 0x18003d3a9
mov rcx, qword [rbp - 8]
lea rax, [rbp - 0xc]
mov qword [rsp + 0x28], rax
mov r9, r14
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov edx, 0xf0
call fcn.180026ba0
test eax, eax
jne 0x18003d354
mov eax, 0x3c
nop dword [rax + rax]
cmp eax, 0x3c
je 0x18003d342
cmp eax, 0x1dc4
je 0x18003c848
jmp 0x18003d348
mov qword [r12], r14
xor ebx, ebx
add eax, 0x1d88
cmp eax, 0x3b10
jbe 0x18003d330
add r14, 2
cmp r14, r13
je 0x18003cc33
mov r15d, dword [rbp - 0xc]
jmp 0x18003d3a9
cmp byte [r14], 0
jne 0x18003d3a9
cmp byte [r14 + 1], 0x3e
jne 0x18003d3a9
mov ecx, 0x116
nop dword [rax]
mov eax, ecx
sub eax, 0x116
je 0x18003d394
cmp eax, 1
je 0x18003c848
jmp 0x18003d39f
lea rax, [r14 + 2]
mov ebx, r15d
mov qword [r12], rax
inc ecx
cmp ecx, 0x118
jb 0x18003d380
dec edi
cmp edi, 2
ja 0x18003d2f0
mov ecx, 0xdf
nop dword [rax]
mov eax, ecx
sub eax, 0xdf
je 0x18003d3dd
sub eax, 3
je 0x18003d3d9
cmp eax, 3
je 0x18003c848
jmp 0x18003d3e1
xor ebx, ebx
jmp 0x18003d3e1
mov qword [r12], r14
add ecx, 3
cmp ecx, 0xe8
jb 0x18003d3c0
lea r10, [0x180000000]
mov ecx, 0x24
xor r9d, r9d
mov r8d, dword [rbp + 0x40]
inc ecx
cmp ecx, 0x26
jb 0x18003ce95
cmp r14, r13
jne 0x18003ce90
mov rdi, qword [rbp + 0x50]
mov ecx, dword [rbp - 0x10]
mov ebx, 0xffffffff
add r8d, 0x3d
mov dword [rbp + 0x40], r8d
cmp r8d, ecx
jb 0x18003c750
jmp 0x18003c848
cmp rdx, 3
jl 0x18003d45c
mov qword [r12], r14
mov eax, r9d
jmp 0x18003c84a
cmp rdx, 4
jl 0x18003d45c
nop dword [rax]
mov qword [r12], r14
mov eax, r9d
jmp 0x18003c84a
mov eax, 0xfffffffe
jmp 0x18003c84a
lea rax, [r14 + 2]
mov qword [r12], rax
mov eax, dword [rbp - 0xc]
jmp 0x18003c84a