Function at 0x140037810
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 0x140037860
movzx ecx, bl
mov eax, 1
lea edx, [rcx - 0xaa]
cmp edx, 3
ja 0x140037853
cmp edx, 2
jne 0x140037af0
cmp ecx, 0x15
je 0x140037af0
xor edx, edx
jmp 0x140037875
cmp bpl, 0xc0
sete dl
movzx eax, bpl
or eax, 0x10
cmp eax, 0xd0
jne 0x1400378a3
mov rcx, qword [rdi + 0x1650]
mov eax, 1
test rcx, rcx
je 0x140037af0
nop word [rax + rax]
cmp dword [rcx], 0xa
je 0x1400378ad
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x140037890
jmp 0x140037af0
mov eax, 1
jmp 0x140037af0
mov r15, qword [rcx + 8]
test r15, r15
je 0x140037a5a
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x30], 0x50
mov dword [rsp + 0x2c], 0
mov dword [rsp + 0x28], 0
mov r12d, 0x50
xor r13d, r13d
nop
movzx edx, word [r15]
cmp dx, 0x1e
ja 0x140037910
mov rcx, rdi
call fcn.140034af0
test eax, eax
jne 0x140037910
mov eax, dword [r15]
add eax, 0xffffffeb
cmp ax, 4
ja 0x140037910
mov ecx, 0x1d
bt ecx, eax
jb 0x140037928
nop dword [rax]
xor eax, eax
mov r15, qword [r15 + 8]
test r15, r15
je 0x140037a7d
test al, al
je 0x1400378e0
jmp 0x140037a7d
movsx rax, ax
lea rcx, [0x1400d35d8]
mov ecx, dword [rcx + rax*4]
lea rdx, [0x1400d35ec]
mov eax, dword [rdx + rax*4]
test r13d, r13d
je 0x140037956
test r14d, r14d
je 0x14003797f
cmp dword [rsp + 0x28], 0
jne 0x140037999
jmp 0x1400379e3
movzx edx, word [rdi + 0x5c8]
cmp eax, edx
setae dl
cmp r12d, eax
seta r8b
test dl, r8b
mov r13d, 0
cmovne r13d, ecx
cmovne r12d, eax
test r14d, r14d
jne 0x14003794a
movzx edx, word [rdi + 0x5c8]
cmp eax, edx
mov r14d, 0
cmove r14d, ecx
cmp dword [rsp + 0x28], 0
je 0x1400379e3
cmp dword [rsp + 0x30], eax
ja 0x1400379e3
cmp byte [rsp + 0x34], 0
je 0x140037a09
movzx edx, bl
mov al, 1
add edx, 0xfffffffe
cmp edx, 0xad
ja case.0x1400379c4.6
lea r8, [0x1400d3730]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp dword [rdi + 0x5a0], ecx
sete al
mov dword [rsp + 0x2c], 1
cmp bpl, 0xcc
jne 0x140037912
jmp 0x140037a15
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
cmp byte [rsp + 0x34], 0
jne 0x1400379a6
xor eax, eax
cmp bpl, 0xcc
jne 0x140037912
movzx edx, bl
lea r8d, [rdx - 0xa8]
cmp r8d, 2
jb 0x140037a2d
add edx, 0xffffffed
cmp edx, 1
ja 0x140037a7b
cmp dword [rdi + 0x5a0], ecx
sete cl
or al, cl
mov dword [rsp + 0x2c], 1
jmp 0x140037912
cmp dword [rdi + 0x5cc], ecx
sete al
cmp bpl, 0xcc
jne 0x140037912
jmp 0x140037a15
mov r12d, 0x50
xor r13d, r13d
mov dword [rsp + 0x28], 0
mov r9d, 0x50
mov edx, r14d
xor r8d, r8d
xor ecx, ecx
jmp 0x140037a94
mov al, 1
mov edx, r14d
movzx ecx, al
mov r14d, dword [rdi + 0x5a0]
mov r8d, dword [rsp + 0x2c]
mov r9d, dword [rsp + 0x30]
mov dword [rsi], r14d
test r14d, r14d
jne 0x140037ac2
movzx eax, word [rdi + 0x5c8]
cmp r12d, eax
jne 0x140037ab8
mov dword [rsi], r13d
mov ecx, 1
mov r14d, r13d
test r13d, r13d
jne 0x140037ac2
mov dword [rsi], edx
mov ecx, 1
mov r14d, edx
xor r12d, r9d
or r12d, r14d
cmovne r13d, r14d
je 0x140037ad3
test r13d, r13d
jne 0x140037ae2
test r13d, r13d
mov r14d, dword [rsp + 0x28]
cmovne r14d, r13d
mov dword [rsi], r14d
xor eax, eax
test r8d, r8d
cmove eax, ecx
test r14d, r14d
cmovne eax, ecx
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret