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

Disassembly:
mov rax, rsp
push rbx
push rsi
push r12
sub rsp, 0xb0
mov rsi, qword [0x1400a6370]
mov qword [rax - 0x20], rbp
mov qword [rax - 0x40], r15
movaps xmmword [rax - 0x78], xmm8
mov ecx, dword [rsi + 0x4208]
cmp dword [rsi + 0x38d8], ecx
jle 0x1400448b0
mov r8d, 0x31b1
lea rdx, str.C:UsersGavinDesktopImGui_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 ecx, dword [rsi + 0x4208]
mov ebp, dword [rsi + 0x3d40]
xor r12d, r12d
shr ebp, 0xa
mov eax, ecx
and bpl, 1
mov qword [rsp + 0xa0], rdi
mov dword [rsp + 0xd0], ebp
je 0x140044955
mov ebp, r12d
test ecx, ecx
jle 0x14004494e
mov edi, r12d
test rdi, rdi
js 0x1400448ea
cmp ebp, ecx
jl 0x140044904
mov r8d, 0x74d
lea rdx, str.C:UsersGavinDesktopImGui_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 0x14004493d
cmp byte [rbx + 0x82], r12b
je 0x14004493d
mov rcx, rbx
call rax
mov ecx, dword [rbx + 4]
test al, al
je 0x140044936
bts ecx, 0xa
jmp 0x14004493a
btr ecx, 0xa
mov dword [rbx + 4], ecx
mov eax, dword [rsi + 0x4208]
inc ebp
inc rdi
mov ecx, eax
cmp ebp, eax
jl 0x1400448e1
mov ebp, dword [rsp + 0xd0]
test eax, eax
jg 0x140044973
mov r8d, 0x74d
lea rdx, str.C:UsersGavinDesktopImGui_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 0x1400449a7
mov r8d, 0x31c9
lea rdx, str.C:UsersGavinDesktopImGui_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 0x1400449ca
mov r8d, 0x31ca
lea rdx, str.C:UsersGavinDesktopImGui_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 bpl, bpl
je 0x140044a17
mov rax, qword [rsi + 0x3830]
lea rcx, [rsp + 0xd8]
mov rdx, rbx
call rax
test dword [rbx + 4], 0x400
movsd xmm1, qword [rsi + 0x10]
movsd xmm0, qword [rax]
movsd qword [rsp + 0xe0], xmm0
movsd qword [rsp + 0xd8], xmm1
je 0x140044a42
movsd xmm0, qword [rbx + 8]
movsd xmm1, qword [rbx + 0x10]
jmp 0x140044a30
movsd xmm1, qword [rsi + 0x10]
lea rax, [rsp + 0xd8]
mov qword [rsp + 0xd8], r12
movsd xmm0, qword [rax]
movsd qword [rsp + 0xd8], xmm1
movsd qword [rsp + 0xe0], xmm0
lea r9, [rsp + 0xd8]
mov dword [rsp + 0x20], 0x1004
lea r8, [rsp + 0xe0]
mov edx, 0x11111111
xor ecx, ecx
call fcn.1400451d0
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 0x140044e5f
mov qword [rsp + 0x98], r13
mov r13, r12
mov qword [rsp + 0x90], r14
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x40], xmm9
movss xmm9, dword [0x140095d40]
movaps xmmword [rsp + 0x70], xmm6
test r15d, r15d
js 0x140044ac2
cmp r15d, eax
jl 0x140044adc
mov r8d, 0x74d
lea rdx, str.C:UsersGavinDesktopImGui_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 0x140044b12
mov eax, dword [rsi + 0x3f60]
sub eax, 2
cmp dword [rbx + 0x64], eax
jge 0x140044b12
mov rcx, rbx
call fcn.140045560
dec r15d
sub r13, 8
jmp 0x140044e21
movzx edi, byte [rbx + 0x82]
test bpl, bpl
je 0x140044ba4
test dword [rbx + 4], 0x400
jne 0x140044ba4
test dil, dil
je 0x140044ba4
cmp byte [rbx + 0x58], r12b
je 0x140044b6a
mov rdx, rbx
lea rcx, [rsp + 0xd8]
call qword [rsi + 0x3830]
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rbx + 0x100], xmm0
movss dword [rbx + 0x104], xmm1
movss dword [rbx + 8], xmm0
movss dword [rbx + 0xc], xmm1
cmp byte [rbx + 0x59], r12b
je 0x140044ba4
mov rdx, rbx
lea rcx, [rsp + 0xe0]
call qword [rsi + 0x3840]
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rbx + 0x108], xmm0
movss dword [rbx + 0x10c], xmm1
movss dword [rbx + 0x10], xmm0
movss dword [rbx + 0x14], xmm1
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.1400465e0
test dword [rbx + 4], 0x1000
lea rdx, [rbx + 0x70]
movsd xmm4, qword [rbx + 0x128]
movsd xmm3, qword [rbx + 0x130]
movaps xmm0, xmm4
movss xmm6, dword [rbx + 0xc]
movaps xmm2, xmm4
movss xmm5, dword [rbx + 8]
movaps xmm1, xmm6
shufps xmm0, xmm0, 0x55
addss xmm2, xmm5
addss xmm1, xmm0
mov word [rbx + 0x80], ax
movss xmm0, dword [rbx + 0x10]
subss xmm0, xmm4
mov qword [rbx + 0x130], r12
mov qword [rbx + 0x128], r12
movss dword [rbx + 0x18], xmm2
movaps xmm2, xmm8
movss dword [rbx + 0x1c], xmm1
movss xmm1, dword [rbx + 0x14]
addss xmm0, xmm3
movsd qword [rbx + 0x120], xmm3
movsd qword [rbx + 0x118], xmm4
maxss xmm2, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm0, 0x55
subss xmm1, xmm0
movaps xmm0, xmm8
addss xmm1, dword [rbx + 0x124]
movss dword [rbx + 0x20], xmm2
mov dword [rbx + 0x78], 0x3f800000
maxss xmm0, xmm1
movss dword [rbx + 0x24], xmm0
subss xmm5, dword [rdx]
subss xmm6, dword [rdx + 4]
je 0x140044cb0
ucomiss xmm5, xmm8
jp 0x140044ca4
jne 0x140044ca4
ucomiss xmm6, xmm8
jp 0x140044ca4
je 0x140044cb0
lea r8, [rbx + 8]
mov rcx, rbx
call fcn.1400443a0
mov rax, qword [rsi + 0x3888]
test rax, rax
je 0x140044ccb
test dil, dil
je 0x140044ccb
mov rcx, rbx
call rax
movaps xmm6, xmm0
jmp 0x140044d26
movsx rax, word [rbx + 0x80]
cmp ax, 0xffff
je 0x140044d15
mov rdi, rax
test eax, eax
js 0x140044ce8
cmp edi, dword [rsi + 0x38c8]
jl 0x140044d02
mov r8d, 0x74d
lea rdx, str.C:UsersGavinDesktopImGui_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 0x140044d26
movss xmm6, dword [rbx + 0x28]
ucomiss xmm6, xmm8
jp 0x140044d26
jne 0x140044d26
movaps xmm6, xmm9
movss xmm0, dword [rbx + 0x28]
ucomiss xmm0, xmm8
jp 0x140044d37
je 0x140044e15
ucomiss xmm6, xmm0
jp 0x140044d42
je 0x140044e15
test dword [rsi + 8], 0x4000
movaps xmm7, xmm6
divss xmm7, xmm0
je 0x140044e15
mov rcx, qword [rbx + 0x88]
mov r14, qword [0x1400a6370]
test rcx, rcx
je 0x140044d76
movaps xmm1, xmm7
call fcn.14002d910
jmp 0x140044e15
mov edx, dword [r14 + 0x3f80]
mov ebp, r12d
mov rdi, r12
test edx, edx
je 0x140044e15
nop dword [rax + rax]
test rdi, rdi
js 0x140044d99
cmp ebp, edx
jl 0x140044dba
mov r8d, 0x74d
lea rdx, str.C:UsersGavinDesktopImGui_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 rax, qword [r14 + 0x3f88]
mov rcx, qword [rax + rdi*8]
cmp qword [rcx + 0x30], rbx
jne 0x140044e01
test rdi, rdi
js 0x140044dd4
cmp ebp, edx
jl 0x140044dee
mov r8d, 0x74d
lea rdx, str.C:UsersGavinDesktopImGui_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]
movaps xmm1, xmm7
mov rcx, qword [rcx + rdi*8]
call fcn.14002d910
mov edx, dword [r14 + 0x3f80]
inc ebp
inc rdi
cmp ebp, edx
jne 0x140044d90
mov ebp, dword [rsp + 0xd0]
movss dword [rbx + 0x28], xmm6
mov eax, dword [rsi + 0x4208]
inc r15d
add r13, 8
cmp r15d, eax
jl 0x140044ab8
mov rbx, qword [rsp + 0xe8]
movaps xmm9, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
mov r14, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
movaps xmm8, xmmword [rsp + 0x50]
mov r15, qword [rsp + 0x88]
cmp dword [rsi + 0x38c8], r12d
jne 0x140044eb3
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 bpl, bpl
mov rbp, qword [rsp + 0xa8]
jne 0x140044ecc
mov qword [rsi + 0x4228], rbx
jmp 0x140045006
test dword [rsi + 0xc], 0x800
je 0x140044ef2
mov ecx, dword [rsi + 0xdb4]
test ecx, ecx
je 0x140044f1b
call fcn.140043f10
mov rbx, rax
test rax, rax
je 0x140044f01
test byte [rax + 4], 0x80
je 0x140044f01
lea rcx, [rsi + 0xd9c]
call fcn.140044770
mov rbx, rax
lea rcx, [rsi + 0x4230]
mov rdi, rcx
test rbx, rbx
je 0x140044f28
mov qword [rcx], rbx
mov rdx, rbx
mov rcx, rbx
jmp 0x140044f66
lea rcx, [rsi + 0x4230]
mov rbx, r12
mov rdi, rcx
mov rcx, qword [rcx]
mov rdx, rcx
test rcx, rcx
jne 0x140044f66
cmp dword [rsi + 0x4208], r12d
jg 0x140044f56
mov r8d, 0x74d
lea rdx, str.C:UsersGavinDesktopImGui_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 rcx, qword [rax]
mov qword [rdi], rcx
mov rdx, rcx
mov rax, qword [rsi + 0x4000]
test rax, rax
je 0x140044f7b
mov rax, qword [rax + 0x30]
test rax, rax
jne 0x140044f7e
mov rax, rcx
mov qword [rsi + 0x4228], rax
cmp byte [rsi + 0x43fc], r12b
je 0x140044f97
test rbx, rbx
cmove rbx, rdx
jmp 0x140044fcb
cmp dword [rsi + 0x4034], r12d
je 0x140044fcb
mov rax, qword [0x1400a6370]
nop word [rax + rax]
cmp byte [r12 + rax + 0xda4], 0
jne 0x140044fe2
inc r12
cmp r12, 5
jl 0x140044fb0
mov rax, qword [rsi + 0x4228]
test rbx, rbx
je 0x140044fe2
cmp rbx, rax
je 0x140044fe2
test byte [rbx + 4], 0x80
jne 0x140044fe2
mov qword [rsi + 0x4228], rbx
cmp qword [rsi + 0x4228], 0
jne 0x140045006
mov r8d, 0x3259
lea rdx, str.C:UsersGavinDesktopImGui_Standalone_mainSourceImGui_StandaloneImGuiimgui.cpp
lea rcx, str.g.MouseViewport___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rdi, qword [rsp + 0xa0]
add rsp, 0xb0
pop r12
pop rsi
pop rbx
ret