Function at 0x180003a00
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, r9
lea rbp, [0x180000000]
mov rsi, rdx
mov rbx, rcx
xor r8b, r8b
nop word [rax + rax]
movzx r10d, r8b
xor r11b, r11b
lea rax, [r10 + 1]
cmp rax, rdi
ja 0x180003d04
movzx edx, byte ds:[r10 + rsi]
movzx r9d, byte [rdx + rbp + 0xa2000]
test r9b, r9b
je 0x180003ce6
cmp r9b, 1
jne case.0x180003aa0.44
lea eax, ds:[rdx - 0x26]
cmp eax, 0xcd
ja case.0x180003aa0.44
cdqe
movzx eax, byte [rax + rbp + 0x3d3c]
mov ecx, dword [rbp + rax*4 + 0x3d20]
add rcx, rbp
jmp rcx
or byte [rbx + 7], 8
jmp 0x180003b07
or byte [rbx + 7], 0x20
mov byte [rbx + 0x19], 0xf3
jmp 0x180003b07
or byte [rbx + 7], 0x10
mov byte [rbx + 0x19], 0xf2
jmp 0x180003b07
movzx eax, byte [rbx]
and al, 0xf
cmp al, 2
jne 0x180003af4
lea eax, [rdx - 0x64]
cmp al, 1
jbe 0x180003af4
cmp dl, 0x3e
jne 0x180003ae4
movzx eax, byte [rbx + 0x1a]
sub al, 0x64
cmp al, 1
jbe 0x180003ae4
or byte [rbx + 7], 0x40
mov byte [rbx + 0x1a], dl
jmp 0x180003b07
movzx ecx, byte [rbx + 0x1a]
lea eax, [rcx - 0x64]
cmp al, 1
jbe 0x180003b07
cmp cl, 0x3e
je 0x180003b07
or byte [rbx + 7], 0x40
mov byte [rbx + 0x1a], dl
jmp 0x180003b07
or byte [rbx + 7], 2
jmp 0x180003b07
or byte [rbx + 7], 4
movzx eax, byte [rbx + 6]
mov r11b, 1
test al, 0x10
je case.0x180003aa0.44
and al, 0xef
mov byte [rbx + 0x1c], 0
and dword [rbx + 0x24], 0xfffffff0
mov byte [rbx + 6], al
movzx eax, byte [rbx]
and al, 0xf
cmp al, 2
jne 0x180003b62
cmp r9b, 3
jne 0x180003b62
or byte ds:[rbx + 6], 0x10
mov ecx, edx
and dword [rbx + 0x24], 0xfffffff0
mov eax, ecx
and eax, 4
mov byte [rbx + 0x1c], dl
shr edx, 2
and edx, 2
or edx, eax
mov eax, ecx
and eax, 1
shr edx, 1
shl eax, 2
and ecx, 2
or eax, ecx
add eax, eax
or edx, eax
or dword [rbx + 0x24], edx
jmp 0x180003b67
test r11b, r11b
je 0x180003b85
inc byte [rbx + 0xc]
inc r8b
cmp byte [rbx + 0xc], 0xf
jbe 0x180003a30
mov eax, 0x80000003
jmp 0x180003d09
lfence
movzx eax, byte [r10 + rsi]
lea rcx, [r10 + rsi]
cmp byte [rax + rbp + 0xa2000], 2
jne 0x180003ce2
nop
cmp al, 0x8f
jne 0x180003bd3
lfence
mov r9, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.180003580
nop word [rax + rax]
cmp eax, 0x80000000
jb 0x180003ce6
lfence
jmp 0x180003d09
cmp al, 0xc5
jne 0x180003c99
lea rax, ds:[r10 + 2]
cmp rax, rdi
jbe 0x180003bf2
mov eax, 0x80000001
lfence
jmp 0x180003d09
movzx eax, byte [rbx]
and al, 0xf
cmp al, 2
je 0x180003c09
movzx eax, byte [rcx + 1]
and al, 0xc0
cmp al, 0xc0
jne 0x180003ce6
movzx eax, byte [rbx + 7]
test al, 0x32
jne 0x180003c8c
movzx edx, byte [rbx + 6]
test dl, 0x10
jne 0x180003c8c
nop
test al, 8
jne 0x180003c8c
or dl, 0x20
mov byte [rbx + 3], 2
mov byte [rbx + 6], dl
movzx eax, byte [rcx]
mov byte [rbx + 0x20], al
movzx eax, byte [rcx + 1]
and dword [rbx + 0x24], 0xfffc009d
mov edx, eax
shr edx, 3
mov ecx, eax
not edx
mov byte [rbx + 0x21], al
add byte [rbx + 0xc], 2
and edx, 0xf
shl edx, 4
and eax, 4
or edx, eax
mov eax, ecx
shl edx, 5
and eax, 3
or edx, eax
shr ecx, 7
or edx, 4
not ecx
shl edx, 4
and ecx, 1
or edx, ecx
add edx, edx
or dword [rbx + 0x24], edx
cmp byte [rbx + 0xc], 0xf
jbe 0x180003ce6
mov eax, 0x80000003
lfence
jmp 0x180003d09
mov eax, 0x80000007
lfence
jmp 0x180003d09
cmp al, 0xc4
jne 0x180003cba
lfence
mov r9, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.1800036c0
cmp eax, 0x80000000
jb 0x180003ce6
lfence
jmp 0x180003d09
cmp al, 0x62
jne 0x180003cdb
lfence
mov r9, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.180003820
cmp eax, 0x80000000
jb 0x180003ce6
lfence
jmp 0x180003d09
mov eax, 0x80000101
jmp 0x180003d09
and byte [rbx + 3], 0xf0
movzx eax, byte [rbx + 0xc]
xor al, byte [rbx + 0x12]
and byte [rbx + 0xd], 0xf
and al, 0xf
xor byte [rbx + 0x12], al
movzx eax, byte [rbx + 0x12]
shl al, 4
or byte [rbx + 0xd], al
xor eax, eax
jmp 0x180003d09
mov eax, 0x80000001
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret