Function at 0x1400ca764
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov eax, 0x201
mov rdi, r9
mov rsi, r8
mov rbx, rcx
cmp edx, eax
ja 0x1400ca96e
je 0x1400ca949
cmp edx, 0x2c
ja 0x1400ca890
je 0x1400ca87c
mov eax, edx
sub eax, 5
je 0x1400ca85f
sub eax, 0xa
je 0x1400ca840
sub eax, 1
je 0x1400ca835
sub eax, 4
je 0x1400ca828
sub eax, 0xc
je 0x1400ca7de
cmp eax, 0xb
jne 0x1400caaf4
mov rax, qword [rcx]
mov r8, r9
mov rdx, rsi
call qword [rax + 0xd8]
jmp 0x1400cac07
mov rcx, qword [rcx + 0x48]
test rcx, rcx
je 0x1400ca807
call qword [sym.imp.USER32.dll_SetCursor]
movabs rax, 1
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov r10, qword [rbx]
mov rax, r9
movzx r8d, di
shr rax, 0x10
mov rdx, rsi
mov rcx, rbx
movzx r9d, ax
call qword [r10 + 0x80]
jmp 0x1400ca831
mov rax, qword [rcx]
mov rdx, r8
call qword [rax + 0x40]
cdqe
jmp 0x1400ca7f7
mov rax, qword [rcx]
call qword [rax + 0x38]
jmp 0x1400cac07
test byte [rcx + 0x60], 2
je 0x1400ca854
mov rcx, qword [rcx + 0x20]
call fcn.1400ca73c
jmp 0x1400cac07
mov rax, qword [rcx]
call qword [rax + 0x28]
jmp 0x1400cac07
mov r10, qword [rcx]
mov rax, r9
movzx r8d, di
shr rax, 0x10
mov edx, esi
movzx r9d, ax
call qword [r10 + 0x78]
jmp 0x1400cac07
mov rax, qword [rcx]
mov r8, r9
mov rdx, rsi
call qword [rax + 0xc0]
jmp 0x1400cac07
mov eax, edx
sub eax, 0x83
je 0x1400ca936
sub eax, 1
je 0x1400ca913
sub eax, 1
je 0x1400ca8ef
sub eax, 0x8e
je 0x1400ca8de
cmp eax, 0xed
jne 0x1400caaf4
movsx eax, r9w
shr rdi, 0x10
mov edx, esi
mov dword [rsp + 0x20], eax
movsx eax, di
mov dword [rsp + 0x24], eax
mov rax, qword [rcx]
mov r8, qword [rsp + 0x20]
call qword [rax + 0x48]
jmp 0x1400cac07
mov rax, qword [rcx]
mov rdx, r8
call qword [rax + 0x88]
jmp 0x1400cac07
mov rax, qword [rcx]
call qword [rax + 0xa8]
mov r11, qword [rbx]
mov rcx, qword [rbx + 0x20]
mov r9, rdi
mov r8, rsi
mov edx, 0x85
call qword [r11 + 8]
jmp 0x1400cac07
movsx eax, r9w
shr rdi, 0x10
mov dword [rsp + 0x20], eax
movsx eax, di
mov dword [rsp + 0x24], eax
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x20]
call qword [rax + 0x70]
jmp 0x1400ca7f7
mov rax, qword [rcx]
mov r8, r9
mov edx, esi
call qword [rax + 0xc8]
jmp 0x1400cac07
movsx eax, r9w
shr rdi, 0x10
mov edx, esi
mov dword [rsp + 0x20], eax
movsx eax, di
mov dword [rsp + 0x24], eax
mov rax, qword [rcx]
mov r8, qword [rsp + 0x20]
call qword [rax + 0x50]
jmp 0x1400cac07
mov eax, 0x44c
cmp edx, eax
ja 0x1400caad1
je 0x1400caaaf
mov eax, edx
sub eax, 0x202
je 0x1400caa8a
sub eax, 2
je 0x1400caa65
sub eax, 1
je 0x1400caa40
sub eax, 0x243
je 0x1400caa2f
cmp eax, 1
jne 0x1400caaf4
mov rsi, qword [rcx + 0x20]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, qword [rbx + 0x20]
and dword [rsp + 0x20], 0
and dword [rsp + 0x24], 0
and dword [rsp + 0x28], 0
and dword [rsp + 0x2c], 0
lea rdx, [rsp + 0x20]
mov rdi, rax
call qword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x2c]
add eax, ecx
mov rcx, rdi
cdq
sub eax, edx
mov edx, dword [rsp + 0x20]
sar eax, 1
mov r8d, eax
mov eax, dword [rsp + 0x28]
add eax, edx
cdq
sub eax, edx
sar eax, 1
mov edx, eax
call qword [sym.imp.GDI32.dll_GetPixel]
movsxd rbx, eax
test rdi, rdi
je 0x1400caa27
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rax, rbx
jmp 0x1400ca7f7
mov rax, qword [rcx]
mov rdx, r8
call qword [rax + 0xe0]
jmp 0x1400ca831
movsx eax, r9w
shr rdi, 0x10
mov edx, esi
mov dword [rsp + 0x20], eax
movsx eax, di
mov dword [rsp + 0x24], eax
mov rax, qword [rcx]
mov r8, qword [rsp + 0x20]
call qword [rax + 0x68]
jmp 0x1400cac07
movsx eax, r9w
shr rdi, 0x10
mov edx, esi
mov dword [rsp + 0x20], eax
movsx eax, di
mov dword [rsp + 0x24], eax
mov rax, qword [rcx]
mov r8, qword [rsp + 0x20]
call qword [rax + 0x60]
jmp 0x1400cac07
movsx eax, r9w
shr rdi, 0x10
mov edx, esi
mov dword [rsp + 0x20], eax
movsx eax, di
mov dword [rsp + 0x24], eax
mov rax, qword [rcx]
mov r8, qword [rsp + 0x20]
call qword [rax + 0x58]
jmp 0x1400cac07
and qword [0x14011c158], 0
mov rcx, qword [rcx + 0x20]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x2a3
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400cac07
mov eax, edx
sub eax, 0x459
je 0x1400cac0e
sub eax, 2
je 0x1400cab51
sub eax, 0xb7be
je 0x1400cab1f
sub eax, 0x12
je 0x1400cab0e
cmp eax, 1
je 0x1400caafd
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x20]
jmp 0x1400cab49
mov rax, qword [rcx]
mov rdx, r9
call qword [rax + 0xb8]
jmp 0x1400cac07
mov rax, qword [rcx]
mov rdx, r9
call qword [rax + 0xd0]
jmp 0x1400cac07
mov rax, qword [rcx]
mov r8d, r9d
mov rdx, rsi
call qword [rax + 0x98]
test rax, rax
jne 0x1400ca7f7
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x20]
mov r9, rdi
mov r8, rsi
mov edx, 0xbc19
call qword [rax + 8]
jmp 0x1400ca7f7
cmp r8, rcx
je 0x1400cab66
lea rax, [0x14011afa0]
cmp r8, rax
jne 0x1400cac07
cmp byte [rcx + 0x45], 2
jne 0x1400cab80
cmp qword [rcx + 0xc0], 0
jne 0x1400cab80
mov edx, 0x10000000
call fcn.1400d31e4
cmp byte [rbx + 0x45], 2
jne 0x1400cab92
mov rsi, qword [rbx + 0xc0]
test rsi, rsi
jne 0x1400cab95
mov rsi, rbx
cmp qword [rdi], 0xfffffffffbd3e280
jl 0x1400cabac
pxor xmm0, xmm0
cvtsi2ss xmm0, qword [rdi]
movss dword [rsi + 0x34], xmm0
mov rcx, 0xffffffff80000000
cmp qword [rdi + 8], rcx
je 0x1400cabbf
mov eax, dword [rdi + 8]
mov dword [rsi + 0x38], eax
cmp qword [rdi + 0x10], rcx
je 0x1400cabcb
mov eax, dword [rdi + 0x10]
mov dword [rsi + 0x3c], eax
cmp qword [rdi + 0x18], rcx
je 0x1400cabd7
mov eax, dword [rdi + 0x18]
mov dword [rsi + 0x40], eax
mov rdx, qword [rdi + 0x20]
test rdx, rdx
je 0x1400cabea
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.USER32.dll_SetWindowTextW]
cmp qword [rdi + 0x28], 0
jle 0x1400cabf7
mov al, byte [rdi + 0x28]
mov byte [rsi + 0x44], al
mov rcx, qword [rsi + 0x20]
xor edx, edx
lea r8d, [rdx + 1]
call qword [sym.imp.USER32.dll_InvalidateRect]
xor eax, eax
jmp 0x1400ca7f7
cmp r8, rcx
jne 0x1400ca7ed
mov rdx, r9
call fcn.1400ca704
jmp 0x1400ca7f7