Function at 0x14003ce70
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, r9
mov ebx, r8d
mov ebp, edx
mov rdi, rcx
mov r14d, dword [rcx + 0x5a0]
cmp dl, 0xcc
jne 0x14003cec0
movzx ecx, bl
mov eax, 1
lea edx, [rcx - 0xaa]
cmp edx, 3
ja 0x14003ceb3
cmp edx, 2
jne 0x14003d147
cmp ecx, 0x15
je 0x14003d147
xor edx, edx
jmp 0x14003ced5
cmp bpl, 0xc0
sete dl
movzx eax, bpl
or eax, 0x10
cmp eax, 0xd0
jne 0x14003cf03
mov rcx, qword [rdi + 0x1650]
mov eax, 1
test rcx, rcx
je 0x14003d147
nop word [rax + rax]
cmp dword [rcx], 0xa
je 0x14003cf0d
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x14003cef0
jmp 0x14003d147
mov eax, 1
jmp 0x14003d147
mov r15, qword [rcx + 8]
test r15, r15
je 0x14003d0af
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x30], 0x50
mov dword [rsp + 0x2c], 0
mov dword [rsp + 0x28], 0
mov r13d, 0x50
xor r12d, r12d
nop
movzx edx, word [r15]
cmp dx, 0x1e
ja 0x14003cf70
mov rcx, rdi
call fcn.14003a110
test eax, eax
jne 0x14003cf70
mov eax, dword [r15]
add eax, 0xffffffeb
cmp ax, 4
ja 0x14003cf70
mov ecx, 0x1d
bt ecx, eax
jb 0x14003cf88
nop dword [rax]
xor eax, eax
mov r15, qword [r15 + 8]
test r15, r15
je 0x14003d0d1
test al, al
je 0x14003cf40
jmp 0x14003d0d1
movzx eax, ax
lea rcx, [0x1400da5d8]
mov ecx, dword [rcx + rax*4]
lea rdx, [0x1400da5ec]
mov eax, dword [rdx + rax*4]
test r12d, r12d
je 0x14003cfb2
test r14d, r14d
je 0x14003cfdb
cmp dword [rsp + 0x28], 0
jne 0x14003cff5
jmp 0x14003cffb
movzx edx, word [rdi + 0x5c8]
cmp eax, edx
setae dl
cmp r13d, eax
seta r8b
test dl, r8b
mov r12d, 0
cmovne r12d, ecx
cmovne r13d, eax
test r14d, r14d
jne 0x14003cfa9
movzx edx, word [rdi + 0x5c8]
cmp eax, edx
mov r14d, 0
cmove r14d, ecx
cmp dword [rsp + 0x28], 0
je 0x14003cffb
cmp dword [rsp + 0x30], eax
jbe 0x14003d01a
movzx edx, word [rdi + 0x5c8]
cmp eax, edx
mov edx, dword [rsp + 0x28]
cmovae edx, ecx
mov dword [rsp + 0x28], edx
mov edx, dword [rsp + 0x30]
cmovae edx, eax
mov dword [rsp + 0x30], edx
movzx edx, bl
cmp byte [rsp + 0x34], 0
je 0x14003d061
mov al, 1
lea r8d, [rdx - 2]
cmp r8d, 0xad
ja case.0x14003d041.6
lea r9, [0x1400da730]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
cmp dword [rdi + 0x5a0], ecx
sete al
mov dword [rsp + 0x2c], 1
cmp bpl, 0xcc
jne 0x14003cf72
jmp 0x14003d06d
xor eax, eax
cmp bpl, 0xcc
jne 0x14003cf72
lea r8d, [rdx - 0xa8]
cmp r8d, 2
jb 0x14003d082
add edx, 0xffffffed
cmp edx, 1
ja 0x14003d0cf
cmp dword [rdi + 0x5a0], ecx
sete cl
or al, cl
mov dword [rsp + 0x2c], 1
jmp 0x14003cf72
cmp dword [rdi + 0x5cc], ecx
sete al
cmp bpl, 0xcc
jne 0x14003cf72
jmp 0x14003d06d
mov r13d, 0x50
xor r12d, r12d
mov dword [rsp + 0x28], 0
mov r9d, 0x50
mov r8d, r14d
xor ecx, ecx
xor edx, edx
jmp 0x14003d0eb
mov al, 1
mov r8d, r14d
movzx edx, al
mov r14d, dword [rdi + 0x5a0]
cmp dword [rsp + 0x2c], 0
setne cl
mov r9d, dword [rsp + 0x30]
mov dword [rsi], r14d
test r14d, r14d
jne 0x14003d11a
movzx eax, word [rdi + 0x5c8]
cmp r13d, eax
jne 0x14003d10f
mov dword [rsi], r12d
mov edx, 1
mov r14d, r12d
test r12d, r12d
jne 0x14003d11a
mov dword [rsi], r8d
mov edx, 1
mov r14d, r8d
xor r13d, r9d
or r13d, r14d
cmovne r12d, r14d
je 0x14003d12b
test r12d, r12d
jne 0x14003d13a
test r12d, r12d
mov r14d, dword [rsp + 0x28]
cmovne r14d, r12d
mov dword [rsi], r14d
xor eax, eax
test cl, cl
cmove eax, edx
test r14d, r14d
cmovne eax, edx
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret