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

Disassembly:
mov rax, rsp
push rbx
push rsi
push r12
sub rsp, 0xb0
mov rsi, qword [0x1406dd860]
mov qword [rax - 0x38], r14
mov qword [rax - 0x40], r15
movaps xmmword [rax - 0x78], xmm8
mov eax, dword [rsi + 0x4208]
cmp dword [rsi + 0x38d8], eax
jle 0x1405899c0
mov r8d, 0x31be
lea rdx, str.D:BackupGamingAET_New_MenuImGui_Standalone_mainSourceImGui_StandaloneImGuiimgui.cpp
lea rcx, str.g.PlatformIO.Viewports.Size___g.Viewports.Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [rsi + 0x4208]
mov r14d, dword [rsi + 0x3d40]
xor r12d, r12d
shr r14d, 0xa
and r14b, 1
mov qword [rsp + 0xa8], rbp
mov dword [rsp + 0xd0], r14d
mov qword [rsp + 0xa0], rdi
je 0x140589a61
mov ebp, r12d
test eax, eax
jle 0x140589a65
mov edi, r12d
test rdi, rdi
js 0x1405899ff
cmp ebp, eax
jl 0x140589a19
mov r8d, 0x74e
lea rdx, str.D:BackupGamingAET_New_MenuImGui_Standalone_mainSourceImGui_StandaloneImGuiimgui.h
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rsi + 0x4210]
mov rbx, qword [rax + rdi*8]
mov rax, qword [rsi + 0x3858]
test rax, rax
je 0x140589a52
cmp byte [rbx + 0x82], r12b
je 0x140589a52
mov rcx, rbx
call rax
mov ecx, dword [rbx + 4]
test al, al
je 0x140589a4b
bts ecx, 0xa
jmp 0x140589a4f
btr ecx, 0xa
mov dword [rbx + 4], ecx
mov eax, dword [rsi + 0x4208]
inc ebp
inc rdi
cmp ebp, eax
jl 0x1405899f6
test eax, eax
jg 0x140589a7f
mov r8d, 0x74e
lea rdx, str.D:BackupGamingAET_New_MenuImGui_Standalone_mainSourceImGui_StandaloneImGuiimgui.h
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rsi + 0x4210]
mov rbx, qword [rax]
mov qword [rsp + 0xe8], rbx
cmp dword [rbx], 0x11111111
je 0x140589ab3
mov r8d, 0x31d6
lea rdx, str.D:BackupGamingAET_New_MenuImGui_Standalone_mainSourceImGui_StandaloneImGuiimgui.cpp
lea rcx, str.main_viewport__ID__IMGUI_VIEWPORT_DEFAULT_ID
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp qword [rbx + 0x88], r12
je 0x140589ad6
mov r8d, 0x31d7
lea rdx, str.D:BackupGamingAET_New_MenuImGui_Standalone_mainSourceImGui_StandaloneImGuiimgui.cpp
lea rcx, str.main_viewport__Window__0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xorps xmm8, xmm8
test r14b, r14b
je 0x140589b02
mov rax, qword [rsi + 0x3830]
lea rcx, [rsp + 0xd8]
mov rdx, rbx
call rax
movsd xmm0, qword [rax]
movsd qword [rsp + 0xd8], xmm0
jmp 0x140589b0a
mov qword [rsp + 0xd8], r12
movsd xmm1, qword [rsi + 0x10]
lea rax, [rsp + 0xd8]
movsd xmm0, qword [rax]
movsd qword [rsp + 0xe0], xmm0
movsd qword [rsp + 0xd8], xmm1
test r14b, r14b
je 0x140589b57
test dword [rbx + 4], 0x400
je 0x140589b57
movsd xmm0, qword [rbx + 8]
movsd xmm1, qword [rbx + 0x10]
movsd qword [rsp + 0xe0], xmm0
movsd qword [rsp + 0xd8], xmm1
lea r9, [rsp + 0xd8]
mov dword [rsp + 0x20], 0x1004
lea r8, [rsp + 0xe0]
mov edx, 0x11111111
xor ecx, ecx
call fcn.14058a2b0
mov eax, dword [rsi + 0x4208]
mov r15d, r12d
mov dword [rsi + 0x4218], r12d
mov qword [rsi + 0x4220], r12
mov qword [rsi + 0x4228], r12
test eax, eax
jle 0x140589f4a
mov qword [rsp + 0x98], r13
mov r13, r12
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x40], xmm9
movss xmm9, dword [0x1406c0d30]
movaps xmmword [rsp + 0x70], xmm6
test r15d, r15d
js 0x140589bcf
cmp r15d, eax
jl 0x140589be9
mov r8d, 0x74e
lea rdx, str.D:BackupGamingAET_New_MenuImGui_Standalone_mainSourceImGui_StandaloneImGuiimgui.h
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rsi + 0x4210]
mov rbx, qword [rax + r13]
mov dword [rbx + 0x60], r15d
test r15d, r15d
jle 0x140589c1f
mov eax, dword [rsi + 0x3f60]
sub eax, 2
cmp dword [rbx + 0x64], eax
jge 0x140589c1f
mov rcx, rbx
call fcn.14058a640
dec r15d
sub r13, 8
jmp 0x140589f14
movzx edi, byte [rbx + 0x82]
test r14b, r14b
je 0x140589c8f
test dword [rbx + 4], 0x400
jne 0x140589c8f
test dil, dil
je 0x140589c8f
cmp byte [rbx + 0x58], r12b
je 0x140589c64
mov rax, qword [rsi + 0x3830]
lea rcx, [rsp + 0xd8]
mov rdx, rbx
call rax
movsd xmm0, qword [rax]
movsd qword [rbx + 0x100], xmm0
movsd qword [rbx + 8], xmm0
cmp byte [rbx + 0x59], r12b
je 0x140589c8f
mov rax, qword [rsi + 0x3840]
lea rcx, [rsp + 0xe0]
mov rdx, rbx
call rax
movsd xmm0, qword [rax]
movsd qword [rbx + 0x108], xmm0
movsd qword [rbx + 0x10], xmm0
movss xmm0, dword [rbx + 8]
lea rcx, [rsp + 0x30]
movss xmm1, dword [rbx + 0xc]
movss dword [rsp + 0x30], xmm0
addss xmm0, dword [rbx + 0x10]
movss dword [rsp + 0x34], xmm1
addss xmm1, dword [rbx + 0x14]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x3c], xmm1
call fcn.14058b770
test dword [rbx + 4], 0x1000
lea rdx, [rbx + 0x70]
movsd xmm3, qword [rbx + 0x128]
movsd xmm4, qword [rbx + 0x130]
movss xmm6, dword [rbx + 0xc]
movss xmm5, dword [rbx + 8]
movaps xmm1, xmm6
mov qword [rbx + 0x130], r12
movaps xmm2, xmm5
movsd xmm0, qword [rbx + 0x130]
addss xmm2, xmm3
movsd qword [rbx + 0x128], xmm0
movaps xmm0, xmm3
shufps xmm0, xmm0, 0x55
addss xmm1, xmm0
mov word [rbx + 0x80], ax
movss xmm0, dword [rbx + 0x10]
movss dword [rbx + 0x18], xmm2
subss xmm0, xmm3
movsd qword [rbx + 0x118], xmm3
movaps xmm2, xmm8
movsd qword [rbx + 0x120], xmm4
movss dword [rbx + 0x1c], xmm1
movaps xmm1, xmm8
addss xmm0, xmm4
maxss xmm2, xmm0
movss xmm0, dword [rbx + 0x14]
subss xmm0, dword [rbx + 0x11c]
addss xmm0, dword [rbx + 0x124]
movss dword [rbx + 0x20], xmm2
mov dword [rbx + 0x78], 0x3f800000
maxss xmm1, xmm0
movss dword [rbx + 0x24], xmm1
subss xmm5, dword [rdx]
subss xmm6, dword [rdx + 4]
je 0x140589da1
ucomiss xmm5, xmm8
jp 0x140589d95
jne 0x140589d95
ucomiss xmm6, xmm8
jp 0x140589d95
je 0x140589da1
lea r8, [rbx + 8]
mov rcx, rbx
call fcn.1405894b0
mov rax, qword [rsi + 0x3888]
test rax, rax
je 0x140589dbc
test dil, dil
je 0x140589dbc
mov rcx, rbx
call rax
movaps xmm6, xmm0
jmp 0x140589e17
movsx rax, word [rbx + 0x80]
cmp ax, 0xffff
je 0x140589e06
mov rdi, rax
test eax, eax
js 0x140589dd9
cmp edi, dword [rsi + 0x38c8]
jl 0x140589df3
mov r8d, 0x74e
lea rdx, str.D:BackupGamingAET_New_MenuImGui_Standalone_mainSourceImGui_StandaloneImGuiimgui.h
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rsi + 0x38d0]
lea rcx, [rdi + rdi*8]
movss xmm6, dword [rax + rcx*4 + 0x20]
jmp 0x140589e17
movss xmm6, dword [rbx + 0x28]
ucomiss xmm6, xmm8
jp 0x140589e17
jne 0x140589e17
movaps xmm6, xmm9
movss xmm0, dword [rbx + 0x28]
ucomiss xmm0, xmm8
jp 0x140589e28
je 0x140589f0f
ucomiss xmm6, xmm0
jp 0x140589e33
je 0x140589f0f
test dword [rsi + 8], 0x4000
movaps xmm7, xmm6
divss xmm7, xmm0
je 0x140589f0f
mov rcx, qword [rbx + 0x88]
mov r14, qword [0x1406dd860]
test rcx, rcx
je 0x140589e67
movaps xmm1, xmm7
call fcn.14056f0b0
jmp 0x140589f07
mov eax, dword [r14 + 0x3f80]
mov ebp, r12d
mov rdi, r12
test eax, eax
je 0x140589f07
mov edx, eax
nop
test rdi, rdi
js 0x140589e89
cmp ebp, eax
jl 0x140589eaa
mov r8d, 0x74e
lea rdx, str.D:BackupGamingAET_New_MenuImGui_Standalone_mainSourceImGui_StandaloneImGuiimgui.h
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov edx, dword [r14 + 0x3f80]
mov rcx, qword [r14 + 0x3f88]
mov rax, qword [rcx + rdi*8]
cmp qword [rax + 0x30], rbx
jne 0x140589ef1
test rdi, rdi
js 0x140589ec4
cmp ebp, edx
jl 0x140589ee5
mov r8d, 0x74e
lea rdx, str.D:BackupGamingAET_New_MenuImGui_Standalone_mainSourceImGui_StandaloneImGuiimgui.h
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rcx, qword [r14 + 0x3f88]
mov rcx, qword [rcx + rdi*8]
movaps xmm1, xmm7
call fcn.14056f0b0
mov eax, dword [r14 + 0x3f80]
inc ebp
inc rdi
mov edx, eax
cmp ebp, eax
jne 0x140589e80
mov r14d, dword [rsp + 0xd0]
movss dword [rbx + 0x28], xmm6
mov eax, dword [rsi + 0x4208]
inc r15d
add r13, 8
cmp r15d, eax
jl 0x140589bc5
mov rbx, qword [rsp + 0xe8]
movaps xmm9, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
mov r13, qword [rsp + 0x98]
movaps xmm8, xmmword [rsp + 0x50]
mov r15, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xa8]
cmp dword [rsi + 0x38c8], r12d
jne 0x140589fae
movsd xmm0, qword [rbx + 8]
movsd qword [rsi + 0x423c], xmm0
movsd xmm1, qword [rbx + 0x10]
movsd qword [rsi + 0x4244], xmm1
movsd xmm0, qword [rbx + 0x18]
movsd qword [rsi + 0x424c], xmm0
movsd xmm1, qword [rbx + 0x20]
movsd qword [rsi + 0x4254], xmm1
mov eax, dword [rbx + 0x28]
mov dword [rsi + 0x425c], eax
test r14b, r14b
mov r14, qword [rsp + 0x90]
jne 0x140589fce
mov qword [rsi + 0x4228], rbx
add rsp, 0xb0
pop r12
pop rsi
pop rbx
ret
test dword [rsi + 0xc], 0x800
je 0x140589ff4
mov ecx, dword [rsi + 0xdb4]
test ecx, ecx
je 0x14058a017
call fcn.140589030
mov rbx, rax
test rax, rax
je 0x14058a003
test byte [rax + 4], 0x80
je 0x14058a003
lea rcx, [rsi + 0xd9c]
call fcn.140589880
mov rbx, rax
test rbx, rbx
je 0x14058a01a
mov qword [rsi + 0x4230], rbx
mov rax, rbx
mov rdx, rbx
jmp 0x14058a060
mov rbx, r12
mov rax, qword [rsi + 0x4230]
mov rdx, rax
test rax, rax
jne 0x14058a060
cmp dword [rsi + 0x4208], r12d
jg 0x14058a04c
mov r8d, 0x74e
lea rdx, str.D:BackupGamingAET_New_MenuImGui_Standalone_mainSourceImGui_StandaloneImGuiimgui.h
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rsi + 0x4210]
mov rax, qword [rax]
mov qword [rsi + 0x4230], rax
mov rdx, rax
mov rcx, qword [rsi + 0x4000]
test rcx, rcx
je 0x14058a075
mov rcx, qword [rcx + 0x30]
test rcx, rcx
jne 0x14058a078
mov rcx, rax
mov qword [rsi + 0x4228], rcx
cmp byte [rsi + 0x43fc], r12b
je 0x14058a092
test rbx, rbx
jne 0x14058a0bb
mov rbx, rdx
jmp 0x14058a0b6
cmp dword [rsi + 0x4034], r12d
je 0x14058a0b6
mov rax, qword [0x1406dd860]
cmp byte [r12 + rax + 0xda4], 0
jne 0x14058a0cd
inc r12
cmp r12, 5
jl 0x14058a0a2
test rbx, rbx
je 0x14058a0cd
cmp rbx, rcx
je 0x14058a0cd
test byte [rbx + 4], 0x80
jne 0x14058a0cd
mov qword [rsi + 0x4228], rbx
cmp qword [rsi + 0x4228], 0
jne 0x14058a0f1
mov r8d, 0x3266
lea rdx, str.D:BackupGamingAET_New_MenuImGui_Standalone_mainSourceImGui_StandaloneImGuiimgui.cpp
lea rcx, str.g.MouseViewport___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add rsp, 0xb0
pop r12
pop rsi
pop rbx
ret