Function at 0x14003cec0
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 0x14003cf10
movzx ecx, bl
mov eax, 1
lea edx, [rcx - 0xaa]
cmp edx, 3
ja 0x14003cf03
cmp edx, 2
jne 0x14003d197
cmp ecx, 0x15
je 0x14003d197
xor edx, edx
jmp 0x14003cf25
cmp bpl, 0xc0
sete dl
movzx eax, bpl
or eax, 0x10
cmp eax, 0xd0
jne 0x14003cf53
mov rcx, qword [rdi + 0x1650]
mov eax, 1
test rcx, rcx
je 0x14003d197
nop word [rax + rax]
cmp dword [rcx], 0xa
je 0x14003cf5d
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x14003cf40
jmp 0x14003d197
mov eax, 1
jmp 0x14003d197
mov r15, qword [rcx + 8]
test r15, r15
je 0x14003d0ff
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 0x14003cfc0
mov rcx, rdi
call fcn.14003a160
test eax, eax
jne 0x14003cfc0
mov eax, dword [r15]
add eax, 0xffffffeb
cmp ax, 4
ja 0x14003cfc0
mov ecx, 0x1d
bt ecx, eax
jb 0x14003cfd8
nop dword [rax]
xor eax, eax
mov r15, qword [r15 + 8]
test r15, r15
je 0x14003d121
test al, al
je 0x14003cf90
jmp 0x14003d121
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 0x14003d002
test r14d, r14d
je 0x14003d02b
cmp dword [rsp + 0x28], 0
jne 0x14003d045
jmp 0x14003d04b
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 0x14003cff9
movzx edx, word [rdi + 0x5c8]
cmp eax, edx
mov r14d, 0
cmove r14d, ecx
cmp dword [rsp + 0x28], 0
je 0x14003d04b
cmp dword [rsp + 0x30], eax
jbe 0x14003d06a
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 0x14003d0b1
mov al, 1
lea r8d, [rdx - 2]
cmp r8d, 0xad
ja case.0x14003d091.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 0x14003cfc2
jmp 0x14003d0bd
xor eax, eax
cmp bpl, 0xcc
jne 0x14003cfc2
lea r8d, [rdx - 0xa8]
cmp r8d, 2
jb 0x14003d0d2
add edx, 0xffffffed
cmp edx, 1
ja 0x14003d11f
cmp dword [rdi + 0x5a0], ecx
sete cl
or al, cl
mov dword [rsp + 0x2c], 1
jmp 0x14003cfc2
cmp dword [rdi + 0x5cc], ecx
sete al
cmp bpl, 0xcc
jne 0x14003cfc2
jmp 0x14003d0bd
mov r13d, 0x50
xor r12d, r12d
mov dword [rsp + 0x28], 0
mov r9d, 0x50
mov r8d, r14d
xor ecx, ecx
xor edx, edx
jmp 0x14003d13b
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 0x14003d16a
movzx eax, word [rdi + 0x5c8]
cmp r13d, eax
jne 0x14003d15f
mov dword [rsi], r12d
mov edx, 1
mov r14d, r12d
test r12d, r12d
jne 0x14003d16a
mov dword [rsi], r8d
mov edx, 1
mov r14d, r8d
xor r13d, r9d
or r13d, r14d
cmovne r12d, r14d
je 0x14003d17b
test r12d, r12d
jne 0x14003d18a
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