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

Disassembly:
mov rax, rsp
push rbx
push rsi
push r15
sub rsp, 0xb0
mov rsi, qword [0x14011c338]
mov qword [rax - 0x20], rbp
mov qword [rax - 0x30], r12
movaps xmmword [rax - 0x78], xmm8
mov eax, dword [rsi + 0x49f8]
cmp dword [rsi + 0x38d0], eax
jle 0x140045ad0
mov r8d, 0x363d
lea rdx, str.F:OvixLoaderimguiimgui.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 + 0x49f8]
mov ebp, dword [rsi + 0x3d2c]
xor r15d, r15d
shr ebp, 0xa
and bpl, 1
mov qword [rsp + 0xa0], rdi
mov dword [rsp + 0xd0], ebp
mov qword [rsp + 0x88], r14
je 0x140045d6a
mov r12d, r15d
mov edi, r15d
test eax, eax
jle 0x140045d6a
mov ebp, r15d
nop
test rbp, rbp
js 0x140045b19
cmp edi, eax
jl 0x140045b33
mov r8d, 0x754
lea rdx, str.F:OvixLoaderimguiimgui.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 + 0x4a00]
mov rbx, qword [rax + rbp*8]
mov rax, qword [rsi + 0x3850]
movzx r14d, byte [rbx + 0x58]
test rax, rax
je 0x140045b6d
test r14b, r14b
je 0x140045b6d
mov rcx, rbx
call rax
mov ecx, dword [rbx + 4]
test al, al
je 0x140045b66
bts ecx, 0xc
jmp 0x140045b6a
btr ecx, 0xc
mov dword [rbx + 4], ecx
mov rax, qword [rsi + 0x3848]
test rax, rax
je 0x140045b9a
test r14b, r14b
je 0x140045b9a
mov rcx, rbx
call rax
mov ecx, dword [rbx + 4]
test al, al
je 0x140045b93
bts ecx, 0xd
mov r12, rbx
jmp 0x140045b97
btr ecx, 0xd
mov dword [rbx + 4], ecx
mov eax, dword [rsi + 0x49f8]
inc edi
inc rbp
cmp edi, eax
jl 0x140045b10
test r12, r12
je 0x140045d63
mov eax, dword [r12]
cmp dword [rsi + 0x4a28], eax
je 0x140045d43
mov eax, dword [rsi + 0x4a50]
cmp dword [r12 + 0x70], eax
je 0x140045be0
inc eax
mov dword [rsi + 0x4a50], eax
mov dword [r12 + 0x70], eax
mov eax, dword [r12]
mov rbp, qword [0x14011c338]
mov dword [rsi + 0x4a28], eax
mov rax, r15
nop dword [rax]
nop dword [rax + rax]
cmp byte [rax + rbp + 0xe18], r15b
jne 0x140045d43
inc rax
cmp rax, 5
jl 0x140045c00
mov rcx, qword [r12 + 0x60]
test rcx, rcx
je 0x140045c33
call fcn.14003fb60
mov rcx, rax
call fcn.140037a00
jmp 0x140045d43
cmp byte [r12 + 0x88], r15b
je 0x140045ce5
mov edi, dword [rbp + 0x3fb8]
sub edi, 1
movsxd r14, edi
js 0x140045cc6
nop
cmp edi, dword [rbp + 0x3fb8]
jl 0x140045c72
mov r8d, 0x754
lea rdx, str.F:OvixLoaderimguiimgui.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 [rbp + 0x3fc0]
mov rbx, qword [rax + r14*8]
cmp rbx, qword [rbx + 0x3b8]
je 0x140045ca0
mov r8d, 0x1d66
lea rdx, str.F:OvixLoaderimguiimgui.cpp
lea rcx, str.window__window__RootWindow
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp byte [rbx + 0xec], r15b
je 0x140045cbe
cmp qword [rbx + 0x38], r12
jne 0x140045cbe
mov eax, dword [rbx + 0x14]
and eax, 0x40200
cmp eax, 0x40200
jne 0x140045cd3
dec edi
sub r14, 1
jns 0x140045c50
mov rax, r15
mov rcx, rax
call fcn.140037a00
jmp 0x140045d43
mov rcx, rbx
call fcn.14003fb60
mov rcx, rax
call fcn.140037a00
jmp 0x140045d43
cmp qword [rbp + 0x4a58], r15
je 0x140045d13
xor ecx, ecx
call fcn.14003e8b0
xor edx, edx
mov qword [rbp + 0x4a60], r15
xor ecx, ecx
mov dword [rbp + 0x4a90], r15d
mov byte [rbp + 0x4a94], r15b
call fcn.14003d990
mov rax, qword [rbp + 0x4088]
cmp dword [rbp + 0x4068], r15d
je 0x140045d43
test rax, rax
je 0x140045d43
cmp qword [rax + 0x3b8], r15
je 0x140045d43
cmp byte [rbp + 0x4076], r15b
jne 0x140045d43
xor edx, edx
xor ecx, ecx
call fcn.14002c4f0
mov rax, qword [rsi + 0x4a58]
test rax, rax
je 0x140045d59
cmp qword [rax + 0x38], r12
jne 0x140045d59
mov al, 1
jmp 0x140045d5b
xor al, al
mov byte [r12 + 0x88], al
mov ebp, dword [rsp + 0xd0]
cmp dword [rsi + 0x49f8], r15d
jg 0x140045d8d
mov r8d, 0x754
lea rdx, str.F:OvixLoaderimguiimgui.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 + 0x4a00]
mov rbx, qword [rax]
mov qword [rsp + 0xe8], rbx
cmp dword [rbx], 0x11111111
je 0x140045dc1
mov r8d, 0x367e
lea rdx, str.F:OvixLoaderimguiimgui.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 + 0x60], r15
je 0x140045de1
mov r8d, 0x367f
lea rdx, str.F:OvixLoaderimguiimgui.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 0x140045e2e
mov rax, qword [rsi + 0x3828]
lea rcx, [rsp + 0xd8]
mov rdx, rbx
call rax
test dword [rbx + 4], 0x1000
movsd xmm1, qword [rsi + 0x10]
movsd xmm0, qword [rax]
movsd qword [rsp + 0xe0], xmm0
movsd qword [rsp + 0xd8], xmm1
je 0x140045e59
movsd xmm0, qword [rbx + 8]
movsd xmm1, qword [rbx + 0x10]
jmp 0x140045e47
movsd xmm1, qword [rsi + 0x10]
lea rax, [rsp + 0xd8]
mov qword [rsp + 0xd8], r15
movsd xmm0, qword [rax]
movsd qword [rsp + 0xd8], xmm1
movsd qword [rsp + 0xe0], xmm0
lea r9, [rsp + 0xd8]
mov dword [rsp + 0x20], 0x804
lea r8, [rsp + 0xe0]
mov edx, 0x11111111
xor ecx, ecx
call fcn.1400465c0
mov eax, dword [rsi + 0x49f8]
mov r12d, r15d
mov dword [rsi + 0x4a08], r15d
mov qword [rsi + 0x4a10], r15
mov qword [rsi + 0x4a18], r15
test eax, eax
jle 0x14004625e
mov qword [rsp + 0x90], r13
mov r13, r15
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x40], xmm9
movss xmm9, dword [0x1400e2814]
movaps xmmword [rsp + 0x70], xmm6
test r12d, r12d
js 0x140045ed1
cmp r12d, eax
jl 0x140045eeb
mov r8d, 0x754
lea rdx, str.F:OvixLoaderimguiimgui.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 + 0x4a00]
mov rbx, qword [rax + r13]
mov dword [rbx + 0x68], r12d
test r12d, r12d
jle 0x140045f21
mov eax, dword [rsi + 0x3f60]
sub eax, 2
cmp dword [rbx + 0x6c], eax
jge 0x140045f21
mov rcx, rbx
call fcn.140046970
dec r12d
sub r13, 8
jmp 0x140046228
movzx edi, byte [rbx + 0x58]
test bpl, bpl
je 0x140045fb0
test dword [rbx + 4], 0x1000
jne 0x140045fb0
test dil, dil
je 0x140045fb0
cmp byte [rbx + 0x59], r15b
je 0x140045f76
mov rdx, rbx
lea rcx, [rsp + 0xd8]
call qword [rsi + 0x3828]
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 + 0x5a], r15b
je 0x140045fb0
mov rdx, rbx
lea rcx, [rsp + 0xe0]
call qword [rsi + 0x3838]
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.1400478d0
test dword [rbx + 4], 0x800
lea rdx, [rbx + 0x78]
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 + 0x8a], ax
movss xmm0, dword [rbx + 0x10]
subss xmm0, xmm4
mov qword [rbx + 0x130], r15
mov qword [rbx + 0x128], r15
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 + 0x80], 0x3f800000
maxss xmm0, xmm1
movss dword [rbx + 0x24], xmm0
subss xmm5, dword [rdx]
subss xmm6, dword [rdx + 4]
je 0x1400460bf
ucomiss xmm5, xmm8
jp 0x1400460b3
jne 0x1400460b3
ucomiss xmm6, xmm8
jp 0x1400460b3
je 0x1400460bf
lea r8, [rbx + 8]
mov rcx, rbx
call fcn.1400455d0
mov rax, qword [rsi + 0x3880]
test rax, rax
je 0x1400460da
test dil, dil
je 0x1400460da
mov rcx, rbx
call rax
movaps xmm6, xmm0
jmp 0x140046135
movsx rax, word [rbx + 0x8a]
cmp ax, 0xffff
je 0x140046124
mov rdi, rax
test eax, eax
js 0x1400460f7
cmp edi, dword [rsi + 0x38c0]
jl 0x140046111
mov r8d, 0x754
lea rdx, str.F:OvixLoaderimguiimgui.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 + 0x38c8]
lea rcx, [rdi + rdi*8]
movss xmm6, dword [rax + rcx*4 + 0x20]
jmp 0x140046135
movss xmm6, dword [rbx + 0x28]
ucomiss xmm6, xmm8
jp 0x140046135
jne 0x140046135
movaps xmm6, xmm9
movss xmm0, dword [rbx + 0x28]
ucomiss xmm0, xmm8
jp 0x140046146
je 0x14004621c
ucomiss xmm6, xmm0
jp 0x140046151
je 0x14004621c
test dword [rsi + 8], 0x4000
movaps xmm7, xmm6
divss xmm7, xmm0
je 0x14004621c
mov rcx, qword [rbx + 0x60]
mov r14, qword [0x14011c338]
test rcx, rcx
je 0x140046182
movaps xmm1, xmm7
call fcn.14002d480
jmp 0x14004621c
mov edx, dword [r14 + 0x3fa8]
mov ebp, r15d
mov rdi, r15
test edx, edx
je 0x14004621c
test rdi, rdi
js 0x1400461a0
cmp ebp, edx
jl 0x1400461c1
mov r8d, 0x754
lea rdx, str.F:OvixLoaderimguiimgui.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 + 0x3fa8]
mov rax, qword [r14 + 0x3fb0]
mov rcx, qword [rax + rdi*8]
cmp qword [rcx + 0x38], rbx
jne 0x140046208
test rdi, rdi
js 0x1400461db
cmp ebp, edx
jl 0x1400461f5
mov r8d, 0x754
lea rdx, str.F:OvixLoaderimguiimgui.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 + 0x3fb0]
movaps xmm1, xmm7
mov rcx, qword [rcx + rdi*8]
call fcn.14002d480
mov edx, dword [r14 + 0x3fa8]
inc ebp
inc rdi
cmp ebp, edx
jne 0x140046197
mov ebp, dword [rsp + 0xd0]
movss dword [rbx + 0x28], xmm6
mov eax, dword [rsi + 0x49f8]
inc r12d
add r13, 8
cmp r12d, eax
jl 0x140045ec7
movaps xmm9, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
mov r13, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xe8]
movaps xmm8, xmmword [rsp + 0x50]
mov r14, qword [rsp + 0x88]
mov r12, qword [rsp + 0x98]
cmp dword [rsi + 0x38c0], r15d
jne 0x1400462ba
movsd xmm0, qword [rbx + 8]
movsd qword [rsi + 0x4a2c], xmm0
movsd xmm1, qword [rbx + 0x10]
movsd qword [rsi + 0x4a34], xmm1
movsd xmm0, qword [rbx + 0x18]
movsd qword [rsi + 0x4a3c], xmm0
movsd xmm1, qword [rbx + 0x20]
movsd qword [rsi + 0x4a44], xmm1
mov eax, dword [rbx + 0x28]
mov dword [rsi + 0x4a4c], eax
test bpl, bpl
mov rbp, qword [rsp + 0xa8]
jne 0x1400462d3
mov qword [rsi + 0x4a18], rbx
jmp 0x140046406
test dword [rsi + 0xc], 0x800
je 0x1400462f9
mov ecx, dword [rsi + 0xe2c]
test ecx, ecx
je 0x140046322
call fcn.140045150
mov rbx, rax
test rax, rax
je 0x140046308
test byte [rax + 4], 0x80
je 0x140046308
lea rcx, [rsi + 0xe10]
call fcn.140045990
mov rbx, rax
lea rcx, [rsi + 0x4a20]
mov rdi, rcx
test rbx, rbx
je 0x14004632f
mov qword [rcx], rbx
mov rdx, rbx
mov rcx, rbx
jmp 0x14004636d
lea rcx, [rsi + 0x4a20]
mov rbx, r15
mov rdi, rcx
mov rcx, qword [rcx]
mov rdx, rcx
test rcx, rcx
jne 0x14004636d
cmp dword [rsi + 0x49f8], r15d
jg 0x14004635d
mov r8d, 0x754
lea rdx, str.F:OvixLoaderimguiimgui.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 + 0x4a00]
mov rcx, qword [rax]
mov qword [rdi], rcx
mov rdx, rcx
mov rax, qword [rsi + 0x4020]
test rax, rax
je 0x140046382
mov rax, qword [rax + 0x38]
test rax, rax
jne 0x140046385
mov rax, rcx
mov qword [rsi + 0x4a18], rax
cmp byte [rsi + 0x4bfc], r15b
je 0x14004639e
test rbx, rbx
cmove rbx, rdx
jmp 0x1400463cb
cmp dword [rsi + 0x4068], r15d
je 0x1400463cb
mov rax, qword [0x14011c338]
nop
cmp byte [rax + r15 + 0xe18], 0
jne 0x1400463e2
inc r15
cmp r15, 5
jl 0x1400463b0
mov rax, qword [rsi + 0x4a18]
test rbx, rbx
je 0x1400463e2
cmp rbx, rax
je 0x1400463e2
test byte [rbx + 4], 0x80
jne 0x1400463e2
mov qword [rsi + 0x4a18], rbx
cmp qword [rsi + 0x4a18], 0
jne 0x140046406
mov r8d, 0x370e
lea rdx, str.F:OvixLoaderimguiimgui.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 r15
pop rsi
pop rbx
ret