Function at 0x18003f550
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf0
lea eax, [rdx - 0xf]
mov r13, r9
mov dword [rsp + 0x58], eax
mov r12, r8
mov edi, edx
mov rsi, rcx
cmp edx, eax
jbe case.0x18003f5c1.46
mov r15, qword [rsp + 0x60]
lea r8, [0x180000000]
mov rbp, qword [rsp + 0x68]
xor edx, edx
mov r14, qword [rsp + 0x68]
lea eax, [rdi - 0x29]
cmp eax, 0x3e
ja case.0x18003f5c1.55
movzx eax, byte [r8 + rax + 0x3fab4]
mov ecx, dword [r8 + rax*4 + 0x3fa78]
add rcx, r8
jmp rcx
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x50], rax
mov qword [rax], rsi
mov qword [rax + 8], rdx
jmp case.0x18003f5c1.55
test byte [r13], 1
je case.0x18003f5c1.55
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor edx, edx
xor ecx, ecx
test byte [rsi + 0xc0], 2
je 0x18003f606
mov r8d, 0xa0
call fcn.18002f060
jmp 0x18003f611
mov r8d, 0x119
call fcn.180055840
test dword [rsi + 0xc0], 0x1000
jne case.0x18003f5c1.46
jmp 0x18003f6d5
mov eax, dword [rsp + 0x80]
cmp eax, 8
jne 0x18003f6ef
mov r15, qword [rsp + 0x70]
mov ebx, 0x6c
mov eax, ebx
sub eax, 0x6c
je 0x18003f666
cmp eax, 1
jne 0x18003f6c0
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor edx, edx
mov r8d, 0x8e
mov rcx, r15
call fcn.18000c5c0
jmp 0x18003f6c0
mov r9, qword [rsp + 0x88]
xor edx, edx
mov rcx, qword [r12 + 0x10]
lea r8d, [rdx + 0x6b]
call fcn.180032fc0
mov r15, rax
test rax, rax
jne 0x18003f6c0
mov rax, qword [r12 + 0x10]
lea r9d, [r15 + 0x15]
mov r8d, dword [r12 + 4]
mov rdx, r13
mov dword [rsp + 0x38], 6
mov rcx, rsi
mov qword [rsp + 0x30], rax
lea rax, str.xRowChanged
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
call fcn.180033f30
inc ebx
cmp ebx, 0x6e
jb 0x18003f640
mov qword [rsp + 0x70], r15
mov r15, qword [rsp + 0x60]
lea r8, [0x180000000]
xor edx, edx
dec edi
cmp edi, dword [rsp + 0x58]
ja 0x18003f5a1
jmp case.0x18003f5c1.46
cmp eax, 4
je 0x18003f719
cmp eax, 7
je 0x18003f719
mov r8d, dword [r12 + 4]
mov r9d, 0x16
mov rdx, r13
mov dword [rsp + 0x20], 6
mov rcx, rsi
call fcn.180033f30
jmp 0x18003f6d5
mov r15, qword [rsp + 0x88]
mov ebx, 0x19
mov eax, ebx
sub eax, 0x19
je 0x18003f75e
sub eax, 0x5d
je 0x18003f754
cmp eax, 0x5d
jne 0x18003f776
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor edx, edx
lea r8d, [rax + 0x31]
lea rcx, [rsp + 0x98]
call fcn.18000c5c0
jmp 0x18003f776
mov qword [rsp + 0xa8], r15
jmp 0x18003f776
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0x98], 0xa
add ebx, 0x5d
cmp ebx, 0x130
jb 0x18003f726
jmp 0x18003f6d0
test byte [r13], 2
je case.0x18003f5c1.55
test dword [rsi + 0xc0], 0x802
jne case.0x18003f5c1.55
mov qword [rsp + 0x30], rdx
xor r9d, r9d
mov qword [rsp + 0x28], rdx
xor r8d, r8d
mov qword [rsp + 0x20], rdx
mov rcx, rsi
lea edx, [r9 + 0x42]
call fcn.180029600
jmp 0x18003f6d5
mov r9, qword [r12 + 8]
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0x30], rdx
xor r8d, r8d
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r13
lea edx, [r8 + 0x5a]
call fcn.180052210
xor eax, eax
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x48], rax
xor r9d, r9d
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rax
lea edx, [rax + 0x39]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.180007140
movups xmm1, xmmword [rax]
movups xmmword [rsp + 0x80], xmm1
jmp 0x18003f6d5
test byte [r13], 3
jne case.0x18003f5c1.55
mov dword [rsp + 0x128], edx
lea r8, [rsp + 0x128]
mov rdx, rsi
mov r9d, 0x78
mov rcx, r12
call fcn.180015490
jmp 0x18003f6d5
mov ecx, 0xc8
call fcn.18006d050
mov qword [rsp + 0x60], rax
mov r15, rax
test rax, rax
je 0x18003f6d5
mov ebx, 0x17
cmp ebx, 0x17
je 0x18003f8ff
cmp ebx, 0xcc
je 0x18003f8e6
cmp ebx, 0x181
je 0x18003f8c5
cmp ebx, 0x236
je 0x18003f8b8
cmp ebx, 0x2eb
jne 0x18003f90f
mov qword [r15 + 0x38], 0xffffffffffffffff
jmp 0x18003f90f
mov rax, qword [r12]
mov qword [r15 + 0xa0], rax
jmp 0x18003f90f
xor ecx, ecx
call fcn.18007b968
mov qword [r15 + 0x80], rax
mov eax, dword [r12 + 8]
and eax, 0x3f02000
mov dword [r15 + 0xc0], eax
jmp 0x18003f90f
mov qword [r15 + 0x20], 0xffffffffffffffff
mov rax, qword [r13]
mov qword [r15 + 0x98], rax
mov qword [r15 + 0x18], rsi
jmp 0x18003f90f
xor edx, edx
mov r8d, 0xc8
mov rcx, r15
call fcn.180069450
add ebx, 0xb5
cmp ebx, 0x3a0
jb 0x18003f885
jmp 0x18003f6d5
cmp dword [r13], 0
je 0x18003f938
mov rax, qword [r12]
mov qword [rsi + 0x80], rax
mov eax, dword [rsi + 0xc0]
test al, 8
jne 0x18003fa2e
test al, 1
je case.0x18003f5c1.55
test byte [r13], 1
je case.0x18003f5c1.46
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x66]
call fcn.18005ff90
jmp case.0x18003f5c1.46
mov ebx, 0x12b
cmp ebx, 0x12b
je 0x18003f9b8
cmp ebx, 0x6c9f
je 0x18003f9a2
cmp ebx, 0xd813
jne 0x18003f9e8
cmp rbp, 0x78
jge 0x18003f9e8
mov ecx, 0x7530
call qword [sym.imp.KERNEL32.dll_Sleep]
xor edx, edx
jmp 0x18003f9e8
test r14, r14
jne 0x18003f9e8
lea r8, [0x180000000]
mov edi, 0x2a
jmp case.0x18003f5c1.55
mov dword [rsp + 0x28], 0xd5
xor r9d, r9d
mov qword [rsp + 0x20], rdx
xor r8d, r8d
mov rdx, rsi
xor ecx, ecx
call fcn.18003f050
mov rbp, rax
xor eax, eax
xor edx, edx
lock cmpxchg qword [0x1800bb540], rdx
mov r14, rax
add ebx, 0x6b74
cmp ebx, 0x1425c
jbe 0x18003f975
jmp case.0x18003f5c1.43
xor edx, edx
mov qword [rsp + 0x78], 0x10
lea r9, [rsp + 0x78]
xor ecx, ecx
lea r8d, [rdx + 0x76]
call fcn.180032fc0
mov qword [rsp + 0x68], rax
jmp 0x18003f6d5
mov qword [rsp + 0x50], r15
jmp case.0x18003f5c1.55
cmp dword [r13], 0
je case.0x18003f5c1.46
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor edx, edx
xor ecx, ecx
mov r8d, 0x119
call fcn.180055840
jmp case.0x18003f5c1.46
mov dword [rsp + 0x50], edx
mov rax, qword [rsp + 0x50]
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret