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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
movdqa xmmword [rsp + 0xf0], xmm9
movapd xmmword [rsp + 0xe0], xmm8
movapd xmmword [rsp + 0xd0], xmm7
movapd xmmword [rsp + 0xc0], xmm6
cmp qword [rcx + 0x78], 0
jne 0x1400229b1
mov rsi, rcx
movabs rdi, 0x7fffffffffffffff
xor r14d, r14d
lea r15, [rsp + 0x40]
xorpd xmm6, xmm6
movapd xmm7, xmmword [0x14016cba0]
movsd xmm8, qword [0x14016cbb0]
jmp 0x1400225d6
call fcn.140167f34
movd edx, xmm9
pshufd xmm0, xmm9, 0x55
movd ecx, xmm0
xor eax, eax
xor r8d, r8d
sub edx, r8d
mov r8d, edx
neg r8d
cmovs r8d, edx
sub eax, ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, r8
xorpd xmm1, xmm1
maxsd xmm1, xmm0
movapd xmm0, xmm8
minsd xmm0, xmm1
cvttsd2si rax, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
xorpd xmm1, xmm1
maxsd xmm1, xmm0
movapd xmm0, xmm8
minsd xmm0, xmm1
cvttsd2si rcx, xmm0
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 0x4216
mov rcx, rbx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call sub.user32.dll_SetWindowPos
mov rcx, rbx
xor edx, edx
xor r8d, r8d
call sub.user32.dll_InvalidateRgn
cmp qword [rsi + 0x78], 0
jne 0x1400229b1
mov qword [rsi + 0x78], 0xffffffffffffffff
mov rax, qword [rsi + 0x98]
test rax, rax
je 0x140022973
mov rcx, qword [rsi + 0x90]
lea rdx, [rcx + 1]
mov r8, qword [rsi + 0x80]
cmp rdx, r8
cmovb r8, r14
mov r9, qword [rsi + 0x88]
neg r8
lea rdx, [rcx + r8]
inc rdx
mov qword [rsi + 0x90], rdx
dec rax
mov qword [rsi + 0x98], rax
lea r8, [rcx + rcx*8]
mov rdx, qword [r9 + r8*8]
mov rbx, qword [r9 + r8*8 + 8]
movsd xmm0, qword [r9 + r8*8 + 0x10]
mov ecx, dword [r9 + r8*8 + 0x18]
mov eax, dword [r9 + r8*8 + 0x1c]
mov r10, qword [r9 + r8*8 + 0x40]
mov qword [rsp + 0xb0], r10
movups xmm1, xmmword [r9 + r8*8 + 0x30]
movaps xmmword [rsp + 0xa0], xmm1
movupd xmm1, xmmword [r9 + r8*8 + 0x20]
movapd xmmword [rsp + 0x90], xmm1
mov qword [rsi + 0x78], 0
cmp rdx, 0x28
je 0x140022700
cmp rdx, 0x29
je 0x14002297b
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rbx
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0xb0]
lea rcx, [rsp + 0x60]
mov qword [rcx + 0x20], rax
movapd xmm0, xmmword [rsp + 0x90]
movapd xmm1, xmmword [rsp + 0xa0]
movupd xmmword [rcx + 0x10], xmm1
movupd xmmword [rcx], xmm0
mov qword [rsp + 0x88], rsi
mov rcx, rsi
mov rdx, r15
call fcn.140021e00
cmp qword [rsi + 0x78], 0
je 0x1400225d6
jmp 0x1400229b1
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x3c], eax
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x40], 0x1b
lea rax, [rsp + 0x38]
mov qword [rsp + 0x48], rax
movsd qword [rsp + 0x50], xmm0
mov qword [rsp + 0x80], rbx
mov rcx, rsi
mov rdx, r15
call fcn.140021e00
mov rcx, rbx
mov edx, 0xffffffeb
call sub.user32.dll_GetWindowLongPtrW
mov r15, qword [rax + 0x10]
lea r14, [r15 + 0x10]
mov rcx, r14
call sub.kernel32.dll_AcquireSRWLockExclusive
mov rax, qword [0x1402223e8]
test rax, rdi
jne 0x1400228b6
movzx eax, byte [r15 + 0x18]
test al, al
jne 0x1400229bd
mov r12d, dword [r15 + 0xe8]
mov rax, qword [0x1402223e8]
test rax, rdi
jne 0x14002295c
mov rcx, r14
call fcn.140167fe4
movsd xmm0, qword [rsp + 0x38]
unpcklps xmm0, xmm6
orpd xmm0, xmm7
subpd xmm0, xmm7
xorpd xmm1, xmm1
maxsd xmm1, xmm0
movapd xmm2, xmm8
minsd xmm2, xmm1
cvttsd2si rax, xmm2
movd xmm9, eax
unpckhpd xmm0, xmm0
xorpd xmm1, xmm1
maxsd xmm1, xmm0
movapd xmm0, xmm8
minsd xmm0, xmm1
cvttsd2si rax, xmm0
mov qword [rsp + 0x40], 0
movd xmm0, eax
punpckldq xmm9, xmm0
movq qword [rsp + 0x48], xmm9
mov rcx, rbx
mov edx, 0xfffffff0
call sub.user32.dll_GetWindowLongW
mov r15d, eax
mov rcx, rbx
mov edx, 0xffffffec
call sub.user32.dll_GetWindowLongW
mov ebp, eax
mov r14d, r15d
and r14d, 0xff3bffff
test r12d, 0x80000
cmovne r14d, r15d
mov rcx, rbx
call sub.user32.dll_GetMenu
mov r15, rax
mov rax, qword [0x14016b330]
cmp rax, 2
jne 0x1400228dc
mov r13, qword [0x14016b328]
mov rax, qword [0x14016b350]
cmp rax, 2
jne 0x1400228f9
test r13, r13
je 0x140022910
mov rdi, qword [0x14016b348]
test rdi, rdi
je 0x140022910
xor r12d, r12d
test r15, r15
setne r12b
mov rcx, rbx
call r13
mov dword [rsp + 0x20], eax
lea r15, [rsp + 0x40]
mov rcx, r15
mov edx, r14d
mov r8d, r12d
mov r9d, ebp
call rdi
movabs rdi, 0x7fffffffffffffff
xor r14d, r14d
test eax, eax
jne 0x140022942
jmp 0x140022533
call fcn.1401196c0
movzx ecx, byte [r15 + 0x18]
test cl, cl
jne 0x1400229f1
mov r12d, dword [r15 + 0xe8]
test al, al
jne 0x14002277d
jmp 0x14002278d
call fcn.1401674f0
mov r13, qword [0x14016b328]
mov rax, qword [0x14016b350]
cmp rax, 2
je 0x14002285c
call fcn.140167550
test r13, r13
jne 0x140022865
nop word [rax + rax]
xor r8d, r8d
test r15, r15
setne r8b
lea r15, [rsp + 0x40]
mov rcx, r15
mov edx, r14d
mov r9d, ebp
call sub.user32.dll_AdjustWindowRectEx
movabs rdi, 0x7fffffffffffffff
xor r14d, r14d
test eax, eax
je 0x140022533
mov r8d, dword [rsp + 0x40]
mov rax, qword [rsp + 0x44]
mov ecx, dword [rsp + 0x4c]
mov rdx, rax
shr rdx, 0x20
jmp 0x14002254c
call fcn.1401196c0
test al, al
jne 0x14002278d
mov byte [r15 + 0x18], 1
jmp 0x14002278d
mov qword [rsi + 0x78], 0
movaps xmm6, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str._home_drados_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winit_0.28.7_src_platform_impl_windows_event_loop_runner.rs
call fcn.14003a790
xor eax, eax
mov qword [rsp + 0x40], r14
mov byte [rsp + 0x48], al
lea rax, str._home_drados_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winit_0.28.7_src_platform_impl_windows_event_loop.rsthis_shouldnt_be_possible._please_open_an_issue_with_Winit._error_code:
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x140174bc0]
lea r8, [rsp + 0x40]
mov edx, 0x2b
call fcn.14003bb10
xor al, 1
jmp 0x1400229bf