Function at 0x18006cd90
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0xf8
mov r15d, dword [rbp + 0x77]
xor ebx, ebx
mov r11, r8
mov r10, r9
mov r8, qword [rbp - 0x69]
mov r13, rcx
mov rcx, qword [rbp - 0x69]
mov r14d, r15d
lea eax, [r15 + 0xe]
mov qword [rbp - 0x39], r8
mov dword [rsp + 0x60], eax
lea r9d, [rbx + 1]
cmp r15d, eax
jae 0x18006d0c9
mov rax, qword [rbp - 0x69]
lea edi, [r15 - 0xa1]
mov r8, qword [rbp - 0x69]
mov r11d, dword [rbp + 0x77]
mov rsi, qword [rbp - 0x71]
mov r12, qword [rbp + 0x7f]
mov qword [rbp - 0x31], rax
mov rax, qword [rbp - 0x69]
mov qword [rbp - 0x49], rax
mov eax, dword [rbp + 0x77]
mov dword [rsp + 0x68], eax
mov eax, dword [rbp + 0x77]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rbp - 0x69]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x60]
mov dword [rbp - 0x59], r11d
mov qword [rbp - 0x41], r8
mov qword [rbp - 0x29], rcx
nop dword [rax]
cmp edi, 0x46
ja case.default.0x18006ce64
lea r11, [0x180000000]
movzx eax, byte [r11 + rdi + 0x6d82c]
mov ecx, dword [r11 + rax*4 + 0x6d7f0]
add rcx, r11
jmp rcx
mov eax, 0xcb
nop dword [rax + rax]
cmp eax, 0xcb
je 0x18006ce87
cmp eax, 0x3dda
jne 0x18006ce8b
mov dword [rbp - 0x19], 0x11
jmp 0x18006ce8b
mov qword [rbp - 0x21], r12
add eax, 0x3d0f
cmp eax, 0x7a1e
jbe 0x18006ce70
mov rax, qword [r10]
mov r9, rdx
mov r8, qword [rbp + 0x67]
lea rdx, [rbp - 0x21]
mov qword [rbp - 0x79], rax
mov ecx, 0x91
lea rax, [rbp - 0x79]
mov qword [rsp + 0x20], rax
call fcn.18008ecf0
mov rsi, rax
jmp 0x18006d08b
mov rcx, qword [rdx + 8]
mov qword [rbp - 0x39], rcx
test rcx, rcx
jne case.0x18006ce64.2
mov rdi, qword [rbp - 0x69]
mov rax, rdi
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rbp - 0x31], rbx
mov qword [rbp - 0x49], rbx
jmp case.0x18006ce64.2
mov eax, 0xc6
cmp eax, 0xc6
je 0x18006d0b9
add eax, 0x30
cmp eax, 0xf6
jb 0x18006cf02
mov rax, qword [r12]
lea r9, [rsp + 0x58]
xor r8d, r8d
mov qword [rsp + 0x58], rax
mov rdx, r10
lea ecx, [r8 + 0x20]
call fcn.180087f40
mov r8, qword [rbp - 0x41]
mov r9, rax
mov r10, qword [rbp + 0x6f]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x60]
jmp 0x18006d09c
mov rcx, qword [rbp + 0x67]
lea r9, [rbp - 0x79]
mov eax, ebx
mov qword [rsp + 0x20], rdx
cmp byte [r12], al
lea r8, [rbp - 0x11]
mov edx, 0x95
setne al
add eax, 2
mov dword [rbp - 9], eax
mov rax, qword [r10]
mov qword [rbp - 0x79], rax
call fcn.180015d40
mov dword [rbp - 0x69], eax
jmp 0x18006d08b
mov dword [rbp - 0x59], ebx
cmp r8, 3
jae case.0x18006ce64.2
mov rax, qword [r12]
cmp r8, rax
jae case.0x18006ce64.2
cmp byte [r8 + r10], 0x20
jne case.0x18006ce64.2
inc r8
mov qword [rbp - 0x41], r8
cmp r8, 3
jb 0x18006cf97
jmp case.0x18006ce64.2
mov r8, rbx
mov qword [rbp - 0x41], rbx
mov dword [rsp + 0x68], ebx
jmp case.0x18006ce64.2
mov rcx, qword [rbp - 0x39]
mov rax, qword [rcx + 8]
test rax, rax
je 0x18006cfea
mov qword [rax], rbx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
jmp case.0x18006ce64.2
mov qword [rdx], rbx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
jmp case.0x18006ce64.2
mov r9, qword [rsp + 0x58]
mov edx, ebx
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x50], ebx
jmp 0x18006d0a0
mov eax, dword [rsp + 0x60]
mov r9, rbx
mov qword [rsp + 0x58], rbx
mov qword [rbp - 0x29], rbx
jmp 0x18006d09c
mov rcx, qword [rbp + 0x5f]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x28], rax
lea r8, [rbp - 0x61]
lea rax, [rbp - 0x51]
mov dword [rbp - 0x51], r9d
mov r9, qword [rbp + 0x67]
mov edx, 0x105
mov qword [rsp + 0x20], rax
mov byte [rbp + 0x77], 0xff
mov byte [rbp - 0x61], bl
call fcn.18006a9f0
jmp 0x18006d08b
movzx eax, byte [r12]
lea r9, [rbp - 0x51]
mov byte [rbp + 0x77], al
mov r8, rdx
mov rax, qword [r10]
lea rdx, [rbp + 0x77]
mov qword [rbp - 0x79], rax
mov ecx, 0x109
mov rax, qword [rbp + 0x67]
mov eax, dword [rax]
mov dword [rbp - 0x51], eax
lea rax, [rbp - 0x79]
mov qword [rsp + 0x20], rax
call fcn.180138cc0
mov r10, qword [rbp + 0x6f]
mov r8, qword [rbp - 0x41]
mov eax, dword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
mov edx, dword [rsp + 0x50]
inc r14d
inc edi
cmp r14d, eax
jae 0x18006d108
mov rdx, qword [rbp + 0x5f]
mov r9d, 1
jmp 0x18006ce40
test rsi, rsi
je 0x18006d0c1
mov rbx, qword [rsi]
mov rax, rbx
jmp 0x18006cedc
mov eax, dword [rbp + 0x77]
mov rsi, qword [rbp - 0x69]
mov r9, qword [rbp - 0x69]
mov r14, qword [rbp - 0x69]
mov edx, dword [rbp + 0x77]
mov dword [rbp - 0x59], eax
mov rax, qword [rbp - 0x69]
mov qword [rbp - 0x41], rax
mov eax, dword [rbp + 0x77]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x60]
mov qword [rbp - 0x31], rsi
mov qword [rbp - 0x49], rcx
mov qword [rsp + 0x58], r9
mov dword [rsp + 0x50], edx
mov qword [rbp - 0x29], r14
jmp 0x18006d118
mov rsi, qword [rbp - 0x31]
mov r14, qword [rbp - 0x29]
mov r11, qword [rbp + 0x67]
mov r8, qword [rbp - 0x39]
cmp r15d, eax
jae case.0x18006ce64.15
mov rdi, qword [rbp - 0x69]
mov r12, qword [rbp - 0x71]
mov qword [rbp - 0x69], rdi
nop dword [rax]
lea eax, [r15 - 0xbd]
cmp eax, 0x1d
ja case.0x18006d158.201
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x6d874]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov r14, qword [rbp + 0x5f]
mov rax, qword [r14 + 0x20]
test rax, rax
je 0x18006d16d
lea rcx, [r8 + 0x10]
call rax
cmp byte [r14 + 0x28], bl
je 0x18006d182
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18006d79b
mov r8, qword [rbp - 0x39]
mov edx, 0xcd
xor ecx, ecx
call fcn.1800055b0
jmp 0x18006d79b
mov r14, qword [rbp + 0x5f]
dec qword [r14 + 0x10]
jmp case.0x18006d158.201
mov rax, r12
lea rdx, [rbp - 0x79]
sub rax, r9
mov r8, rsi
add r9, r10
mov qword [rbp - 0x79], rax
mov ecx, 0xd6
call fcn.180158020
jmp 0x18006d79b
mov r9, r12
mov qword [rsp + 0x58], r12
jmp case.0x18006d158.201
mov qword [rsp + 0x48], rbx
lea rdx, [rbp + 0x77]
mov qword [rsp + 0x40], r11
mov r14d, 1
mov dword [rsp + 0x38], 0xd2
xor r9d, r9d
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov qword [rsp + 0x28], rbx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
mov dword [rbp + 0x77], r14d
call fcn.180010050
mov qword [rsp + 0x48], rbx
lea rdx, [rbp - 0x51]
mov rsi, rax
mov qword [rbp - 0x31], rax
mov rax, qword [rbp + 0x67]
xor r9d, r9d
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov dword [rsp + 0x38], 0xd2
xor ecx, ecx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
mov dword [rbp - 0x51], r14d
call fcn.180010050
mov qword [rbp - 0x49], rax
jmp 0x18006d79b
test r9, r9
jne case.0x18006d158.201
mov rax, qword [rbp + 0x7f]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x30], r10
mov r9d, 0xa4
mov qword [rsp + 0x28], rbx
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rbx
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
call fcn.18009f2f0
mov r9, rax
mov qword [rsp + 0x58], rax
jmp case.0x18006d158.201
test r9, r9
jne case.0x18006d158.201
mov eax, 0xc1
nop
cmp eax, 0xc1
je 0x18006d2c4
cmp eax, 0x34c6
je 0x18006ced9
jmp 0x18006d2cb
mov rdi, rbx
mov qword [rbp - 0x69], rbx
add eax, 0x3405
cmp eax, 0x680a
jbe 0x18006d2b0
jmp case.0x18006d158.201
mov rax, qword [rbp + 0x7f]
mov rcx, qword [rax]
cmp r9, rcx
jae 0x18006d4b2
mov rdi, qword [rbp - 0x31]
mov r14, qword [rbp + 0x6f]
inc r12
mov r13, rbx
mov rsi, rbx
cmp r12, rcx
jae 0x18006d320
lea rax, [r14 - 1]
add rax, r12
nop dword [rax]
cmp byte [rax], 0xa
je 0x18006d320
inc r12
inc rax
cmp r12, rcx
jb 0x18006d310
mov rax, r12
lea r8, [rbp - 0x79]
sub rax, r9
xor edx, edx
add r9, r14
mov qword [rbp - 0x79], rax
mov ecx, 0x121
call fcn.180066400
test rax, rax
je 0x18006d34f
mov dword [rsp + 0x68], 1
jmp 0x18006d616
mov rcx, qword [rsp + 0x58]
mov r15, rbx
mov rax, rcx
nop word [rax + rax]
cmp rax, r12
jae 0x18006d378
cmp byte [rax + r14], 0x20
jne 0x18006d378
inc r15
inc rax
cmp r15, 4
jb 0x18006d360
mov rax, qword [rbp + 0x67]
test byte [rax + 0x248], 4
je 0x18006d3c6
lea r8, [r15 + rcx]
mov rax, r12
sub rax, r15
add r8, r14
sub rax, rcx
xor r9d, r9d
mov qword [rbp - 0x79], rax
mov edx, 0xa8
lea rax, [rbp - 0x79]
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18013d2a0
mov rcx, qword [rsp + 0x58]
test rax, rax
je 0x18006d3c6
cmp dword [rbp - 0x59], ebx
mov eax, ebx
sete al
mov dword [rbp - 0x59], eax
mov r14, r12
sub r14, r15
cmp dword [rbp - 0x59], ebx
jne 0x18006d430
lea rsi, [r15 + rcx]
mov qword [rbp - 0x71], r14
add rsi, qword [rbp + 0x6f]
lea r9, [rbp - 0x79]
sub r14, rcx
xor r8d, r8d
mov rdx, rsi
mov qword [rbp - 0x79], r14
lea ecx, [r8 + 0x20]
call fcn.180087f40
mov qword [rsp + 0x30], rsi
lea rcx, [rbp - 0x79]
mov qword [rsp + 0x28], rbx
mov r9d, 0xa4
xor r8d, r8d
mov qword [rsp + 0x20], rbx
xor edx, edx
mov qword [rbp - 0x79], r14
mov r13, rax
call fcn.18009f2f0
mov r14, qword [rbp - 0x71]
mov rsi, rax
nop dword [rax + rax]
mov r8d, dword [rsp + 0x68]
test r8d, r8d
je 0x18006d4cf
mov rdx, qword [rbp + 0x57]
test byte [rdx], 1
je 0x18006d48d
test r13, r13
jne 0x18006d492
mov r13, qword [rbp + 0x6f]
test rsi, rsi
je 0x18006d557
mov eax, 0xf8
nop
cmp eax, 0xf8
je 0x18006d524
cmp eax, 0xae60
jne 0x18006d542
cmp qword [rbp - 0x29], rbx
jne 0x18006d542
mov rcx, qword [rdi + 8]
mov qword [rbp - 0x29], rcx
jmp 0x18006d542
test rsi, rsi
je 0x18006d4cf
mov ecx, 0xee
mov eax, ecx
sub eax, 0xee
je 0x18006d4c1
cmp eax, 0x54
jne 0x18006d4c4
mov r9, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x69]
mov r13, qword [rbp + 0x57]
mov rsi, qword [rbp - 0x31]
mov r15d, 0xc4
jmp case.0x18006d158.201
or dword [rdx], 8
add ecx, 0x54
cmp ecx, 0x196
jb 0x18006d497
test r13, r13
je 0x18006d44c
mov rcx, qword [rsp + 0x58]
lea r8, [rbp - 0x71]
mov r13, qword [rbp + 0x6f]
xor edx, edx
mov qword [rsp + 0x30], rbx
mov rax, r12
sub rax, r15
mov qword [rsp + 0x28], rbx
lea r9, [r15 + rcx]
mov qword [rsp + 0x20], rbx
sub rax, rcx
add r9, r13
lea ecx, [rdx + 0x44]
mov qword [rbp - 0x71], rax
call fcn.180088510
test eax, eax
je 0x18006d459
mov r8d, dword [rsp + 0x68]
jmp 0x18006d450
cmp dword [rsp + 0x68], ebx
mov ecx, 1
mov edx, dword [rsp + 0x50]
cmovne edx, ecx
mov dword [rsp + 0x50], edx
cmp r15, qword [rbp - 0x41]
je 0x18006d4a5
add eax, 0xad68
cmp eax, 0x15ad0
jbe 0x18006d460
jmp 0x18006d5ee
test r8d, r8d
je 0x18006d5ee
test r15, r15
jne 0x18006d597
mov ecx, 0xcb
nop word [rax + rax]
mov eax, ecx
sub eax, 0xcb
je 0x18006d584
cmp eax, 1
je 0x18006d4a5
jmp 0x18006d58b
mov rax, qword [rbp + 0x57]
or dword [rax], 8
inc ecx
cmp ecx, 0xcd
jb 0x18006d570
jmp 0x18006d5ee
mov esi, 0xaf
mov r13d, 1
cmp esi, 0xaf
je 0x18006d5b9
cmp esi, 0x4669
jne 0x18006d5dc
mov dword [rsp + 0x50], r13d
jmp 0x18006d5dc
xor r9d, r9d
mov dword [rsp + 0x68], 0xa
xor r8d, r8d
mov dword [rsp + 0x20], 0x14b
lea rdx, [rsp + 0x68]
mov rcx, rdi
call fcn.1800431c0
add esi, 0x45ba
cmp esi, 0x8b74
jbe 0x18006d5a2
mov r13, qword [rbp + 0x6f]
mov rax, qword [rsp + 0x58]
lea rdx, [rbp - 0x71]
sub r14, rax
mov dword [rsp + 0x68], ebx
mov r8, rdi
mov qword [rbp - 0x71], r14
mov ecx, 0xd6
lea r9, [r15 + rax]
add r9, r13
call fcn.180158020
mov rax, qword [rbp + 0x7f]
mov r9, r12
mov qword [rsp + 0x58], r12
mov rcx, qword [rax]
cmp r12, rcx
jb 0x18006d2f0
jmp 0x18006d4aa
mov r12, r9
jmp case.0x18006d158.201
test edx, edx
je 0x18006d644
or dword [r13], 2
mov eax, dword [r13]
test al, 2
je 0x18006d704
test r14, r14
je 0x18006d6cb
cmp r14, qword [rsi + 8]
jae 0x18006d6cb
mov rax, qword [rbp - 0x49]
lea r9, [rbp - 0x71]
mov r8, qword [rsi]
xor edx, edx
mov qword [rsp + 0x38], rbx
mov rcx, r11
mov dword [rsp + 0x30], 0x3a
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x71], r14
call fcn.18006ebd0
mov rax, qword [rsi + 8]
lea r9, [rbp - 0x71]
mov r8, qword [rsi]
sub rax, r14
mov rcx, qword [rbp + 0x67]
add r8, r14
mov qword [rsp + 0x38], rbx
xor edx, edx
mov qword [rbp - 0x71], rax
mov rax, qword [rbp - 0x49]
mov dword [rsp + 0x30], 0x3a
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.18006ebd0
jmp 0x18006d79b
mov rax, qword [rsi + 8]
lea r9, [rbp - 0x71]
mov r8, qword [rsi]
xor edx, edx
mov qword [rsp + 0x38], rbx
mov rcx, r11
mov qword [rbp - 0x71], rax
mov rax, qword [rbp - 0x49]
mov dword [rsp + 0x30], 0x3a
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.18006ebd0
jmp 0x18006d79b
test r14, r14
je 0x18006d735
cmp r14, qword [rsi + 8]
jae 0x18006d735
mov rax, qword [rsi]
lea r9, [rbp - 0x71]
mov rcx, qword [rbp - 0x49]
mov r8, r11
mov edx, 0x9b
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x71], r14
call fcn.180081f70
jmp 0x18006d68b
mov rax, qword [rsi + 8]
lea r9, [rbp - 0x71]
mov rcx, qword [rbp - 0x49]
mov r8, r11
mov qword [rbp - 0x71], rax
mov edx, 0x9b
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
call fcn.180081f70
jmp 0x18006d79b
mov rax, qword [r11 + 0x30]
test rax, rax
je case.0x18006d158.199
mov r9, qword [r11 + 0xd0]
mov r8d, dword [r13]
mov rdx, qword [rbp - 0x49]
mov rcx, qword [rbp + 0x5f]
call rax
mov r11, qword [rbp + 0x67]
mov eax, 1
lea rcx, [rbp - 0x79]
xor r9d, r9d
mov dword [rbp - 0x79], eax
mov r8d, 0x91
mov rdx, r11
call fcn.18015b010
mov r9, qword [rsp + 0x58]
inc r15d
cmp r15d, dword [rsp + 0x60]
jae 0x18006ced9
mov edx, dword [rsp + 0x50]
mov r10, qword [rbp + 0x6f]
mov r14, qword [rbp - 0x29]
mov r11, qword [rbp + 0x67]
mov r8, qword [rbp - 0x39]
jmp 0x18006d130
mov rax, qword [rbp + 0x7f]
mov rax, qword [rax]
cmp r12, rax
jae case.0x18006d158.201
cmp byte [r10 + r12 - 1], 0xa
je case.0x18006d158.201
inc r12
cmp r12, rax
jb 0x18006d7d3
jmp case.0x18006d158.201
mov rax, r9
jmp 0x18006cedc