Function at 0x1800699d0
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
imul eax, r9d, 0x7c8
mov ebx, r9d
mov r12, rdx
mov dword [rsp + 0x40], ebx
mov r13d, r9d
mov dword [rsp + 0x7c], eax
cmp r9d, eax
ja case.0x180069d80.5
mov rdi, qword [rsp + 0x70]
lea r9, [0x180000000]
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x70]
mov r15, qword [rsp + 0x70]
lea rdx, [0x1800706b0]
cmp r13d, 0x7761
ja 0x180069e4a
je 0x180069e09
cmp r13d, 0x10b
ja 0x180069dea
je 0x180069c84
mov eax, r13d
sub eax, 0x3a
je 0x180069aa5
sub eax, 0x27
je 0x180069a89
cmp eax, 0x56
jne 0x18006a67d
cmp dword [r8], 1
je 0x18006a700
jmp 0x18006a67d
cmp dword [r8], 1
je 0x18006a700
mov rax, qword [r12 + 0x58]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x40], rax
jmp 0x18006a67d
mov eax, dword [r12 + 0xb8]
cmp dword [r8], eax
jne 0x180069ada
mov r9, r12
xor edx, edx
xor ecx, ecx
mov r8d, pe_nt_image_headers64
call fcn.18002f910
test al, al
je 0x18006a6a2
mov r8, qword [rbp + 0x90]
lea rdx, [0x1800706b0]
mov ecx, dword [r8]
sub ecx, 1
je 0x180069c74
sub ecx, 2
je 0x180069c20
sub ecx, 0x12
je 0x180069c20
sub ecx, 5
je 0x180069bbc
cmp ecx, 2
je 0x180069b58
mov r9, r12
xor edx, edx
xor ecx, ecx
mov r8d, pe_nt_image_headers64
call fcn.18002f910
test al, al
je 0x180069c74
mov rcx, qword [rbp + 0x90]
mov eax, dword [r12 + 0xb8]
cmp dword [rcx], eax
jne 0x180069c74
xor r9d, r9d
mov r8, r12
xor ecx, ecx
lea edx, [r9 + 0x2f]
call fcn.180055320
mov r13d, 0x3a
mov byte [rsp + 0x38], 1
jmp 0x18006a676
mov eax, dword [r12 + 0xb8]
lea r9, [rsp + 0x48]
mov dword [rsp + 0x40], eax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x48], rdx
mov dword [rsp + 0x28], 0xde
lea rcx, [rsp + 0x40]
mov rdx, r12
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x50], 0
call fcn.18002f6b0
mov dword [r12 + 0xb8], 0x1d
mov r13d, 0x3a
mov byte [rsp + 0x38], 1
jmp 0x18006a676
mov eax, dword [r12 + 0xb8]
lea r9, [rsp + 0x50]
mov dword [rsp + 0x40], eax
lea r8, [rsp + 0x48]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rdx
mov dword [rsp + 0x28], 0xde
lea rcx, [rsp + 0x40]
mov rdx, r12
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x48], 0
call fcn.18002f6b0
mov dword [r12 + 0xb8], 0x1b
mov r13d, 0x3a
mov byte [rsp + 0x38], 1
jmp 0x18006a676
mov eax, dword [r12 + 0xb8]
lea r9, [rsp + 0x50]
mov dword [rsp + 0x40], eax
lea r8, [rsp + 0x48]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rdx
mov dword [rsp + 0x28], 0xde
lea rcx, [rsp + 0x40]
mov rdx, r12
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x48], 0
call fcn.18002f6b0
mov dword [r12 + 0xb8], 0x16
mov r13d, 0x3a
mov byte [rsp + 0x38], 1
jmp 0x18006a676
mov rax, qword [r12]
cmp rax, 0x7f
jbe 0x18006a6bd
cmp rax, 0x7ff
ja 0x180069cf0
mov ecx, 0x88
nop
mov eax, ecx
sub eax, 0x88
je 0x180069cb4
cmp eax, 0x19
je case.0x180069d80.5
jmp 0x180069cd7
mov eax, dword [r12]
shr rax, 6
or al, 0xc0
mov qword [rsp + 0x38], 2
mov byte [r8], al
movzx eax, byte [r12]
and al, 0x3f
or al, 0x80
mov byte [r8 + 1], al
add ecx, 0x19
cmp ecx, 0xba
jb 0x180069ca0
mov qword [rsp + 0x38], 0
jmp 0x18006a67d
cmp rax, 0xffff
ja 0x180069d61
mov ecx, 0xd3
nop dword [rax]
mov eax, ecx
sub eax, 0xd3
je 0x180069d3c
sub eax, 1
je 0x180069d1d
cmp eax, 1
jne 0x180069d49
mov eax, 3
jmp 0x18006a740
mov eax, dword [r12]
shr rax, 6
and al, 0x3f
or al, 0x80
mov byte [r8 + 1], al
movzx eax, byte [r12]
and al, 0x3f
or al, 0x80
mov byte [r8 + 2], al
jmp 0x180069d49
mov eax, dword [r12]
shr rax, 0xc
or al, 0xe0
mov byte [r8], al
inc ecx
cmp ecx, 0xd6
jb 0x180069d00
mov qword [rsp + 0x38], 0
jmp 0x18006a67d
cmp rax, 0x1fffff
ja 0x180069ddc
xor edx, edx
nop dword [rax + rax]
cmp edx, 5
ja case.default.0x180069d80
mov ecx, dword [r9 + rdx*4 + 0x6a75c]
add rcx, r9
jmp rcx
movzx eax, byte [r12]
and al, 0x3f
or al, 0x80
mov byte [r8 + 3], al
jmp case.default.0x180069d80
mov eax, dword [r12]
shr rax, 0xc
and al, 0x3f
or al, 0x80
mov byte [r8 + 1], al
jmp case.default.0x180069d80
mov qword [rsp + 0x38], 4
jmp case.default.0x180069d80
mov eax, dword [r12]
shr rax, 0x12
or al, 0xf0
mov byte [r8], al
jmp case.default.0x180069d80
mov eax, dword [r12]
shr rax, 6
and al, 0x3f
or al, 0x80
mov byte [r8 + 2], al
inc edx
lea eax, [rdx + 0x11f]
cmp eax, 0x125
jb 0x180069d70
mov qword [rsp + 0x38], 0
jmp 0x18006a67d
cmp r13d, 0x25d6
je case.0x180069d80.5
cmp r13d, 0x3f47
je 0x18006a5da
jmp 0x18006a67d
cmp dword [r8], 0xa
jne 0x18006a6c7
mov rax, qword [r12 + 0x58]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 8]
mov qword [rbp - 0x10], rax
test rax, rax
jne 0x18006a67d
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc3
mov rcx, r12
call fcn.180067280
mov byte [rsp + 0x38], 0
jmp case.0x180069d80.5
cmp r13d, 0x7e2d
je 0x180069ebe
cmp r13d, 0xae2d
je case.0x180069d80.5
cmp r13d, 0xee0b
je 0x180069e8e
cmp r13d, 0x164b5
je 0x180069e84
cmp r13d, 0x1db5f
je case.0x180069d80.5
jmp 0x18006a67d
mov byte [rsp + 0x38], 1
jmp 0x18006a67d
mov rcx, qword [rbp - 0x10]
mov r9, r12
mov qword [rsp + 0x20], r8
add rcx, 0x10
xor r8d, r8d
lea edx, [r8 + 0x54]
call fcn.1800303e0
lea rax, [0x180072f30]
mov qword [r12 + 0x98], rax
jmp 0x18006a676
mov ebx, 0x115
mov dword [rsp + 0x48], ebx
nop word [rax + rax]
mov eax, ebx
sub eax, 0x114
je 0x18006a707
cmp eax, 1
jne 0x18006a5c3
mov r13, qword [rsp + 0x58]
cmp qword [r13], 0
jne 0x18006a09a
mov rbx, r12
mov r13d, 0x5b
nop
mov eax, r13d
sub eax, 0x58
je 0x18006a019
sub eax, 3
je 0x180069f23
cmp eax, 1
jne 0x18006a007
xor edi, edi
mov ebx, edi
jmp 0x18006a032
lea rax, [rbp - 0x80]
mov qword [rbp - 0x80], 0
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x60]
mov r9d, 0x34
mov qword [rsp + 0x20], r12
lea rcx, [rbp - 0x38]
mov dword [rsp + 0x60], 0
call fcn.18004e4f0
test al, al
je 0x18006a000
mov r12d, 0x99
cmp r12d, 0x99
je 0x180069f81
cmp r12d, 0x4ab5
jne 0x180069fe5
mov rdi, qword [rbp - 0x78]
mov rbx, rdi
jmp 0x18006a032
mov rdx, qword [rbp + 0x88]
mov r9d, 0xbc
xor r8d, r8d
xor ecx, ecx
mov rdx, qword [rdx + 0x58]
call fcn.1800291f0
mov qword [rbp - 0x78], rax
xor r9d, r9d
lea rax, [rbp - 8]
mov qword [rbp - 8], 0x18
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov rax, qword [rbp + 0x88]
xor edx, edx
mov ecx, 0x103
mov qword [rsp + 0x20], rax
call fcn.180057840
mov rcx, qword [rbp - 0x80]
mov qword [rax], rcx
mov ecx, dword [rsp + 0x60]
mov dword [rax + 0x10], ecx
mov rcx, qword [rbp - 0x78]
mov qword [rcx + 8], rax
add r12d, 0x4a1c
cmp r12d, 0x9438
jbe 0x180069f63
mov r12, qword [rbp + 0x88]
mov r8, qword [rbp + 0x90]
inc r13d
cmp r13d, 0x5e
jb 0x180069f00
mov rbx, rdi
jmp 0x18006a032
mov rax, qword [r12 + 0x38]
test rax, rax
je 0x18006a02f
mov rbx, rax
mov rax, qword [rax + 0x38]
test rax, rax
jne 0x18006a023
mov rdi, rbx
mov r13, qword [rsp + 0x58]
mov qword [r13], rbx
test rbx, rbx
jne 0x18006a6dc
mov r12, qword [rbp + 0x88]
lea rax, [rbp - 0x38]
mov rcx, qword [rbp + 0x90]
lea r8, [rsp + 0x78]
mov r9, r12
mov dword [rsp + 0x78], ebx
mov edx, 0xfb
mov qword [rsp + 0x20], rax
call fcn.18004eeb0
test al, al
je 0x18006a1fb
mov qword [rsp + 0x28], rbx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r12
mov edx, 0x9a
xor ecx, ecx
call fcn.18004ca90
jmp 0x18006a71a
cmp qword [r13 + 8], 0
jne 0x18006a23d
mov rbx, r12
mov r13d, 0x5b
nop
mov eax, r13d
sub eax, 0x58
je 0x18006a1c9
sub eax, 3
je 0x18006a0d3
cmp eax, 1
jne 0x18006a1b7
xor esi, esi
mov ebx, esi
jmp 0x18006a1e2
lea rax, [rbp - 0x70]
mov qword [rbp - 0x70], 0
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x64]
mov r9d, 0x34
mov qword [rsp + 0x20], r12
lea rcx, [rbp - 0x38]
mov dword [rsp + 0x64], 0
call fcn.18004e4f0
test al, al
je 0x18006a1b0
mov r12d, 0x99
cmp r12d, 0x99
je 0x18006a131
cmp r12d, 0x4ab5
jne 0x18006a195
mov rsi, qword [rbp - 0x68]
mov rbx, rsi
jmp 0x18006a1e2
mov rax, qword [rbp + 0x88]
mov r9d, 0xbc
xor r8d, r8d
xor ecx, ecx
mov rdx, qword [rax + 0x58]
call fcn.1800291f0
mov qword [rbp - 0x68], rax
xor r9d, r9d
lea rax, [rbp]
mov qword [rbp], 0x18
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov rax, qword [rbp + 0x88]
xor edx, edx
mov ecx, 0x103
mov qword [rsp + 0x20], rax
call fcn.180057840
mov rcx, qword [rbp - 0x70]
mov qword [rax], rcx
mov ecx, dword [rsp + 0x64]
mov dword [rax + 0x10], ecx
mov rcx, qword [rbp - 0x68]
mov qword [rcx + 8], rax
add r12d, 0x4a1c
cmp r12d, 0x9438
jbe 0x18006a113
mov r12, qword [rbp + 0x88]
mov r8, qword [rbp + 0x90]
inc r13d
cmp r13d, 0x5e
jb 0x18006a0b0
mov rbx, rsi
jmp 0x18006a1e2
mov rax, qword [r12 + 0x38]
test rax, rax
je 0x18006a1df
mov rbx, rax
mov rax, qword [rax + 0x38]
test rax, rax
jne 0x18006a1d3
mov rsi, rbx
mov r13, qword [rsp + 0x58]
mov qword [r13 + 8], rbx
test rbx, rbx
jne 0x18006a6eb
mov r12, qword [rbp + 0x88]
mov r8, qword [rbp + 0x90]
mov ebx, dword [rsp + 0x48]
cmp dword [r8], 0x14
jne 0x18006a5c3
mov rax, qword [r8 + 0x18]
cmp byte [rax], 0x2f
jne 0x18006a5c3
mov ecx, 0xca
mov eax, ecx
sub eax, 0xca
je 0x18006a59b
cmp eax, 1
je 0x18006a6e2
jmp 0x18006a5b5
cmp qword [r13 + 0x10], 0
jne 0x18006a3b3
mov rbx, r12
mov r13d, 0x5b
mov eax, r13d
sub eax, 0x58
je 0x18006a36c
sub eax, 3
je 0x18006a276
cmp eax, 1
jne 0x18006a35a
xor r14d, r14d
mov ebx, r14d
jmp 0x18006a38f
lea rax, [rbp - 0x60]
mov qword [rbp - 0x60], 0
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x68]
mov r9d, 0x34
mov qword [rsp + 0x20], r12
lea rcx, [rbp - 0x38]
mov dword [rsp + 0x68], 0
call fcn.18004e4f0
test al, al
je 0x18006a353
mov r12d, 0x99
cmp r12d, 0x99
je 0x18006a2d4
cmp r12d, 0x4ab5
jne 0x18006a338
mov r14, qword [rbp - 0x58]
mov rbx, r14
jmp 0x18006a38f
mov rax, qword [rbp + 0x88]
mov r9d, 0xbc
xor r8d, r8d
xor ecx, ecx
mov rdx, qword [rax + 0x58]
call fcn.1800291f0
mov qword [rbp - 0x58], rax
xor r9d, r9d
lea rax, [rbp + 8]
mov qword [rbp + 8], 0x18
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov rax, qword [rbp + 0x88]
xor edx, edx
mov ecx, 0x103
mov qword [rsp + 0x20], rax
call fcn.180057840
mov rcx, qword [rbp - 0x60]
mov qword [rax], rcx
mov ecx, dword [rsp + 0x68]
mov dword [rax + 0x10], ecx
mov rcx, qword [rbp - 0x58]
mov qword [rcx + 8], rax
add r12d, 0x4a1c
cmp r12d, 0x9438
jbe 0x18006a2b6
mov r12, qword [rbp + 0x88]
mov r8, qword [rbp + 0x90]
inc r13d
cmp r13d, 0x5e
jb 0x18006a251
mov rbx, r14
jmp 0x18006a38f
mov rax, qword [r12 + 0x38]
test rax, rax
je 0x18006a38c
nop word [rax + rax]
mov rbx, rax
mov rax, qword [rax + 0x38]
test rax, rax
jne 0x18006a380
mov r14, rbx
mov r13, qword [rsp + 0x58]
mov qword [r13 + 0x10], rbx
test rbx, rbx
je 0x18006a1f4
mov dword [rbx], 0x27
mov byte [rbp + 0x98], 1
jmp 0x18006a720
cmp qword [r13 + 0x18], 0
jne 0x18006a206
mov rbx, r12
mov r13d, 0x5b
nop word [rax + rax]
mov eax, r13d
sub eax, 0x58
je 0x18006a4ed
sub eax, 3
je 0x18006a3f5
cmp eax, 1
jne 0x18006a4db
xor r15d, r15d
mov ebx, r15d
jmp 0x18006a50f
lea rax, [rbp - 0x50]
mov qword [rbp - 0x50], 0
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x6c]
mov r9d, 0x34
mov qword [rsp + 0x20], r12
lea rcx, [rbp - 0x38]
mov dword [rsp + 0x6c], 0
call fcn.18004e4f0
test al, al
je 0x18006a4d4
mov r12d, 0x99
cmp r12d, 0x99
je 0x18006a453
cmp r12d, 0x4ab5
jne 0x18006a4b9
mov r15, qword [rbp - 0x48]
mov rbx, r15
jmp 0x18006a50f
mov rax, qword [rbp + 0x88]
mov r9d, 0xbc
xor r8d, r8d
xor ecx, ecx
mov rdx, qword [rax + 0x58]
call fcn.1800291f0
mov qword [rbp - 0x48], rax
xor r9d, r9d
lea rax, [rsp + 0x70]
mov qword [rsp + 0x70], 0x18
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov rax, qword [rbp + 0x88]
xor edx, edx
mov ecx, 0x103
mov qword [rsp + 0x20], rax
call fcn.180057840
mov rcx, qword [rbp - 0x50]
mov qword [rax], rcx
mov ecx, dword [rsp + 0x6c]
mov dword [rax + 0x10], ecx
mov rcx, qword [rbp - 0x48]
mov qword [rcx + 8], rax
add r12d, 0x4a1c
cmp r12d, 0x9438
jbe 0x18006a435
mov r12, qword [rbp + 0x88]
mov r8, qword [rbp + 0x90]
inc r13d
cmp r13d, 0x5e
jb 0x18006a3d0
mov rbx, r15
jmp 0x18006a50f
mov rax, qword [r12 + 0x38]
test rax, rax
je 0x18006a50c
nop word [rax + rax]
mov rbx, rax
mov rax, qword [rax + 0x38]
test rax, rax
jne 0x18006a500
mov r15, rbx
mov r13, qword [rsp + 0x58]
mov qword [r13 + 0x18], rbx
test rbx, rbx
je 0x18006a1f4
mov ebx, 0x11
cmp ebx, 0x11
je 0x18006a577
cmp ebx, 0xc27
je 0x18006a541
cmp ebx, 0x183d
je case.0x180069d80.5
jmp 0x18006a581
mov r12, qword [rbp + 0x88]
lea rcx, [0x180039a60]
xor r9d, r9d
mov byte [rsp + 0x30], 1
lea rdx, [rbp - 0x38]
mov qword [r12 + 0x98], rcx
lea rcx, [rsp + 0x30]
lea r8d, [r9 + 0x28]
call fcn.18003f300
mov byte [rsp + 0x38], al
jmp 0x18006a588
mov rax, qword [r13 + 0x18]
mov dword [rax], 0x26
mov r12, qword [rbp + 0x88]
add ebx, 0xc16
cmp ebx, 0x2442
jbe 0x18006a526
jmp 0x18006a1fb
cmp qword [r13], 0
je 0x18006a6c7
lea rax, [0x180039a30]
mov qword [r12 + 0x98], rax
inc ecx
cmp ecx, 0xcc
jb 0x18006a222
dec ebx
mov dword [rsp + 0x48], ebx
cmp ebx, 0x113
ja 0x180069ed0
mov r13d, dword [rsp + 0x40]
mov rax, qword [rbp - 0x40]
mov rbx, qword [rax + 8]
mov qword [rsp + 0x58], rbx
test rbx, rbx
jne 0x18006a62d
lea rax, [rsp + 0x50]
mov qword [rsp + 0x50], 0x20
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r12
xor edx, edx
mov ecx, 0x103
call fcn.180057840
mov rcx, qword [rbp - 0x40]
mov rbx, rax
mov r8, qword [rbp + 0x90]
mov qword [rsp + 0x58], rax
mov qword [rcx + 8], rax
xor r9d, r9d
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], r8
mov rdx, r12
xor r8d, r8d
lea ecx, [r9 + 0x6c]
call fcn.180054820
test al, al
jne 0x18006a6fa
mov ebx, dword [rbp + 0x98]
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp + 0x30], rax
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x28], xmm0
movsd xmm0, qword [rbp + 0x30]
movsd qword [rbp - 0x18], xmm0
lea r9, [0x180000000]
imul eax, ebx, 0xa6
add r13d, eax
mov dword [rsp + 0x40], r13d
cmp r13d, dword [rsp + 0x7c]
ja case.0x180069d80.5
mov r8, qword [rbp + 0x90]
jmp 0x180069a37
xor r9d, r9d
mov r8, r12
xor ecx, ecx
lea edx, [r9 + 0x2f]
call fcn.180055320
mov byte [rsp + 0x38], 0
jmp case.0x180069d80.5
mov byte [r8], al
mov eax, 1
jmp 0x18006a740
xor r9d, r9d
xor r8d, r8d
mov edx, 0x132
mov rcx, r12
call fcn.180021460
jmp 0x18006a737
mov dword [rbx], 0x46
mov byte [rbp + 0x98], 1
jmp 0x18006a720
mov dword [rbx], 0x47
mov byte [rbp + 0x98], 1
jmp 0x18006a720
cmp qword [rbx], 0
je 0x18006a6c7
mov byte [rsp + 0x38], 1
jmp case.0x180069d80.5
xor r9d, r9d
xor r8d, r8d
mov edx, 0x132
mov rcx, r12
call fcn.180021460
mov byte [rbp + 0x98], al
xor r9d, r9d
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x98]
lea r8d, [r9 + 0x28]
call fcn.18003f300
mov byte [rsp + 0x38], al
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x180]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret