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

Disassembly:
sub rsp, 0xa8
mov rax, qword [0x140159228]
mov qword [rsp + 0x20], rax
xor eax, eax
cmp eax, 1
je 0x14002125c
jmp 0x14002127e
xor eax, eax
test eax, eax
jne 0x14002127e
mov r8d, 0x1d81
lea rdx, [0x140119e30]
lea rcx, [0x140119eb4]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax]
test eax, eax
jne 0x1400212a6
mov r8d, 0x1d85
lea rdx, [0x140119ec0]
lea rcx, [0x140119f48]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0x18]
comiss xmm0, dword [0x140149b34]
ja 0x1400212c7
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x1ba8], 0
jne 0x1400212d3
lea rax, str.Need_a_positive_DeltaTime_
test rax, rax
jne 0x1400212ef
mov r8d, 0x1d86
lea rdx, [0x140119f90]
lea rcx, str._g.IO.DeltaTime___0.0f__g.FrameCount__0____Need_a_positive_DeltaTime__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x1ba8], 0
je 0x140021315
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
mov ecx, dword [rcx + 0x1ba8]
cmp dword [rax + 0x1bac], ecx
jne 0x140021321
lea rax, str.Forgot_to_call_Render___or_EndFrame___at_the_end_of_the_previous_frame_
test rax, rax
jne 0x14002133d
mov r8d, 0x1d87
lea rdx, [0x14011a110]
lea rcx, str._g.FrameCount__0__g.FrameCountEnded__g.FrameCount____Forgot_to_call_Render___or_EndFrame___at_the_end_of_the_previous_frame__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0x10]
comiss xmm0, dword [0x140149b34]
jb 0x14002136f
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0x14]
comiss xmm0, dword [0x140149b34]
jb 0x14002136f
lea rax, str.Invalid_DisplaySize_value_
test rax, rax
jne 0x14002138b
mov r8d, 0x1d88
lea rdx, [0x14011a2d0]
lea rcx, str.g.IO.DisplaySize.x___0.0f__g.IO.DisplaySize.y___0.0f___Invalid_DisplaySize_value__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0xa8]
cmp dword [rax + 0x40], 0
jle 0x1400213a9
lea rax, [0x14011a420]
test rax, rax
jne 0x1400213c5
mov r8d, 0x1d89
lea rdx, [0x14011a480]
lea rcx, str.g.IO.Fonts__Fonts.Size___0___Font_Atlas_not_built._Did_you_call_io.Fonts__GetTexDataAsRGBA32_____GetTexDataAsAlpha8_____
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0xa8]
add rax, 0x40
mov qword [rsp + 0x38], rax
xor edx, edx
mov rcx, qword [rsp + 0x38]
call fcn.14003e420
mov rcx, qword [rax]
call fcn.140005e30
movzx eax, al
test eax, eax
je 0x140021401
lea rax, str.Font_Atlas_not_built._Did_you_call_io.Fonts__GetTexDataAsRGBA32_____GetTexDataAsAlpha8____
test rax, rax
jne 0x14002141d
mov r8d, 0x1d8a
lea rdx, [0x14011a670]
lea rcx, str.g.IO.Fonts__Fonts_0___IsLoaded_____Font_Atlas_not_built._Did_you_call_io.Fonts__GetTexDataAsRGBA32_____GetTexDataAsAlpha8_____
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0x16f4]
comiss xmm0, dword [0x140149b34]
jbe 0x14002143f
lea rax, [0x14011a808]
test rax, rax
jne 0x14002145b
mov r8d, 0x1d8b
lea rdx, [0x14011a820]
lea rcx, str.g.Style.CurveTessellationTol___0.0f___Invalid_style_setting__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0x16f8]
comiss xmm0, dword [0x140149b34]
jbe 0x14002147d
lea rax, str.Invalid_style_setting_
test rax, rax
jne 0x140021499
mov r8d, 0x1d8c
lea rdx, [0x14011a950]
lea rcx, str.g.Style.CircleSegmentMaxError___0.0f___Invalid_style_setting__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0x1640]
comiss xmm0, dword [0x140149b34]
jb 0x1400214d1
mov rax, qword [rsp + 0x20]
movss xmm0, dword [0x140149c28]
comiss xmm0, dword [rax + 0x1640]
jb 0x1400214d1
lea rax, str.Invalid_style_setting._Alpha_cannot_be_negative__allows_us_to_avoid_a_few_clamps_in_color_computations__
test rax, rax
jne 0x1400214ed
mov r8d, 0x1d8d
lea rdx, [0x14011aae0]
lea rcx, str.g.Style.Alpha___0.0f__g.Style.Alpha___1.0f___Invalid_style_setting._Alpha_cannot_be_negative__allows_us_to_avoid_a_few_clamps_in_color_computations___
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0x1654]
comiss xmm0, dword [0x140149c28]
jb 0x140021525
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0x1658]
comiss xmm0, dword [0x140149c28]
jb 0x140021525
lea rax, str.Invalid_style_setting.
test rax, rax
jne 0x140021541
mov r8d, 0x1d8e
lea rdx, [0x14011acd0]
lea rcx, str.g.Style.WindowMinSize.x___1.0f__g.Style.WindowMinSize.y___1.0f___Invalid_style_setting._
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x1664], 0xffffffff
je 0x140021587
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x1664], 0
je 0x140021587
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x1664], 1
je 0x140021587
mov r8d, 0x1d8f
lea rdx, [0x14011ae20]
lea rcx, str.g.Style.WindowMenuButtonPosition__ImGuiDir_None__g.Style.WindowMenuButtonPosition__ImGuiDir_Left__g.Style.WindowMenuButtonPosition__ImGuiDir_Right
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov dword [rsp + 0x28], 0
jmp 0x14002159b
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 0x16
jge 0x1400215f1
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
cmp dword [rcx + rax*4 + 0x3c], 0xffffffff
jl 0x1400215d3
movsxd rax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
cmp dword [rcx + rax*4 + 0x3c], 0x200
jge 0x1400215d3
lea rax, str.io.KeyMap___contains_an_out_of_bound_value__need_to_be_0..512__or__1_for_unmapped_key_
test rax, rax
jne 0x1400215ef
mov r8d, 0x1d91
lea rdx, [0x14011b050]
lea rcx, str.g.IO.KeyMap_n_____1__g.IO.KeyMap_n______int__sizeof_g.IO.KeysDown____sizeof__g.IO.KeysDown_______io.KeyMap___contains_an_out_of_bound_value__need_to_be_0..512__or__1_for_unmapped_key__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
jmp 0x140021591
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 8]
and eax, 1
test eax, eax
je 0x14002163d
mov eax, 4
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x20]
cmp dword [rcx + rax + 0x3c], 0xffffffff
je 0x140021621
lea rax, str.ImGuiKey_Space_is_not_mapped__required_for_keyboard_navigation.
test rax, rax
jne 0x14002163d
mov r8d, 0x1d95
lea rdx, [0x14011b2a0]
lea rcx, str.g.IO.KeyMap_ImGuiKey_Space_____1___ImGuiKey_Space_is_not_mapped__required_for_keyboard_navigation._
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + 0xd3]
test eax, eax
je 0x140021668
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0xc]
and eax, 2
test eax, eax
jne 0x140021668
mov rax, qword [rsp + 0x20]
mov byte [rax + 0xd3], 0
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x1ba8], 1
jne 0x1400216b9
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 8]
and eax, 0x40
test eax, eax
je 0x1400216b9
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x1ab0]
and eax, 0x40
test eax, eax
jne 0x1400216b9
xor eax, eax
test eax, eax
jne 0x1400216b9
mov r8d, 0x1d9d
lea rdx, [0x14011b400]
lea rcx, str.0___Please_set_DockingEnable_before_the_first_call_to_NewFrame____Otherwise_you_will_lose_your_.ini_settings__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x1ba8], 1
jne 0x14002170e
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 8]
and eax, 0x400
test eax, eax
je 0x14002170e
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x1ab0]
and eax, 0x400
test eax, eax
jne 0x14002170e
xor eax, eax
test eax, eax
jne 0x14002170e
mov r8d, 0x1d9f
lea rdx, [0x14011b580]
lea rcx, str.0___Please_set_ViewportsEnable_before_the_first_call_to_NewFrame____Otherwise_you_will_lose_your_.ini_settings__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 8]
and eax, 0x400
test eax, eax
je 0x140021b84
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0xc]
and eax, 0x400
test eax, eax
je 0x1400219e7
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0xc]
and eax, 0x1000
test eax, eax
je 0x1400219e7
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x1ba8], 0
je 0x140021773
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
mov ecx, dword [rcx + 0x1bb0]
cmp dword [rax + 0x1ba8], ecx
jne 0x14002177f
lea rax, str.Forgot_to_call_UpdatePlatformWindows___in_main_loop_after_EndFrame____Check_examples__applications_for_reference.
test rax, rax
jne 0x14002179b
mov r8d, 0x1da6
lea rdx, [0x14011b780]
lea rcx, str._g.FrameCount__0__g.FrameCount__g.FrameCountPlatformEnded____Forgot_to_call_UpdatePlatformWindows___in_main_loop_after_EndFrame____Check_examples__applications_for_reference._
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
cmp qword [rax + 0x1558], 0
je 0x1400217b6
lea rax, [0x14011b980]
test rax, rax
jne 0x1400217d2
mov r8d, 0x1da7
lea rdx, [0x14011b9b0]
lea rcx, str.g.PlatformIO.Platform_CreateWindow___0___Platform_init_didnt_install_handlers__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
cmp qword [rax + 0x1560], 0
je 0x1400217ed
lea rax, [0x14011bae8]
test rax, rax
jne 0x140021809
mov r8d, 0x1da8
lea rdx, [0x14011bb10]
lea rcx, str.g.PlatformIO.Platform_DestroyWindow___0___Platform_init_didnt_install_handlers__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
cmp qword [rax + 0x1578], 0
je 0x140021824
lea rax, [0x14011bc50]
test rax, rax
jne 0x140021840
mov r8d, 0x1da9
lea rdx, [0x14011bc80]
lea rcx, str.g.PlatformIO.Platform_GetWindowPos___0___Platform_init_didnt_install_handlers__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
cmp qword [rax + 0x1570], 0
je 0x14002185b
lea rax, [0x14011bdb8]
test rax, rax
jne 0x140021877
mov r8d, 0x1daa
lea rdx, [0x14011bde0]
lea rcx, str.g.PlatformIO.Platform_SetWindowPos___0___Platform_init_didnt_install_handlers__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
cmp qword [rax + 0x1588], 0
je 0x140021892
lea rax, [0x14011bf18]
test rax, rax
jne 0x1400218ae
mov r8d, 0x1dab
lea rdx, [0x14011bf40]
lea rcx, str.g.PlatformIO.Platform_GetWindowSize___0___Platform_init_didnt_install_handlers__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
cmp qword [rax + 0x1580], 0
je 0x1400218c9
lea rax, str.Platform_init_didnt_install_handlers_
test rax, rax
jne 0x1400218e5
mov r8d, 0x1dac
lea rdx, [0x14011c0b0]
lea rcx, str.g.PlatformIO.Platform_SetWindowSize___0___Platform_init_didnt_install_handlers__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x1618], 0
jle 0x1400218ff
lea rax, str.Platform_init_didnt_setup_Monitors_list_
test rax, rax
jne 0x14002191b
mov r8d, 0x1dad
lea rdx, [0x14011c220]
lea rcx, str.g.PlatformIO.Monitors.Size___0___Platform_init_didnt_setup_Monitors_list__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
add rax, 0x1dc8
mov qword [rsp + 0x40], rax
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.14003e420
mov rax, qword [rax]
cmp qword [rax + 0x48], 0
jne 0x140021967
mov rax, qword [rsp + 0x20]
add rax, 0x1dc8
mov qword [rsp + 0x48], rax
xor edx, edx
mov rcx, qword [rsp + 0x48]
call fcn.14003e420
mov rax, qword [rax]
cmp qword [rax + 0x50], 0
je 0x140021973
lea rax, str.Platform_init_didnt_setup_main_viewport.
test rax, rax
jne 0x14002198f
mov r8d, 0x1dae
lea rdx, [0x14011c380]
lea rcx, str._g.Viewports_0___PlatformUserData___0__g.Viewports_0___PlatformHandle___0____Platform_init_didnt_setup_main_viewport._
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + 0xcb]
test eax, eax
je 0x1400219e5
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 8]
and eax, 0x40
test eax, eax
je 0x1400219e5
mov rax, qword [rsp + 0x20]
cmp qword [rax + 0x15b0], 0
je 0x1400219c9
lea rax, str.Platform_SetWindowAlpha_handler_is_required_to_use_io.ConfigDockingTransparent_
test rax, rax
jne 0x1400219e5
mov r8d, 0x1db0
lea rdx, [0x14011c560]
lea rcx, str.g.PlatformIO.Platform_SetWindowAlpha___0___Platform_SetWindowAlpha_handler_is_required_to_use_io.ConfigDockingTransparent__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
jmp 0x1400219fb
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 8]
btr eax, 0xa
mov rcx, qword [rsp + 0x20]
mov dword [rcx + 8], eax
mov dword [rsp + 0x2c], 0
jmp 0x140021a0f
mov eax, dword [rsp + 0x2c]
inc eax
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x1618]
cmp dword [rsp + 0x2c], eax
jge 0x140021b84
mov rax, qword [rsp + 0x20]
add rax, 0x1618
mov qword [rsp + 0x50], rax
mov edx, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x50]
call fcn.14003f4b0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 8]
comiss xmm0, dword [0x140149b34]
jbe 0x140021a79
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0xc]
comiss xmm0, dword [0x140149b34]
jbe 0x140021a79
lea rax, str.Monitor_main_bounds_not_setup_properly.
test rax, rax
jne 0x140021a95
mov r8d, 0x1dbc
lea rdx, [0x14011c720]
lea rcx, str.mon.MainSize.x___0.0f__mon.MainSize.y___0.0f___Monitor_main_bounds_not_setup_properly._
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x30]
add rax, 8
mov rcx, qword [rsp + 0x30]
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x68]
call fcn.140006280
mov rcx, qword [rsp + 0x30]
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x78]
call fcn.140006a50
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x30]
add rax, 0x18
mov rcx, qword [rsp + 0x30]
add rcx, 0x10
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x70]
call fcn.140006280
mov rcx, qword [rsp + 0x30]
add rcx, 0x10
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x88]
call fcn.140006a50
mov qword [rsp + 0x58], rax
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
call fcn.140006d90
movzx eax, al
test eax, eax
je 0x140021b32
lea rax, str.Monitor_work_bounds_not_setup_properly._If_you_dont_have_work_area_information__just_copy_MainPos_MainSize_into_them.
test rax, rax
jne 0x140021b4e
mov r8d, 0x1dbd
lea rdx, [0x14011c8f0]
lea rcx, str.ImRect_mon.MainPos__mon.MainPos__mon.MainSize_.Contains_ImRect_mon.WorkPos__mon.WorkPos__mon.WorkSize_____Monitor_work_bounds_not_setup_properly._If_you_dont_have_work_area_information__just_copy_MainPos_MainSize_into_them._
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x20]
ucomiss xmm0, dword [0x140149b34]
jp 0x140021b7f
jne 0x140021b7f
mov r8d, 0x1dbe
lea rdx, [0x14011cb50]
lea rcx, str.mon.DpiScale___0.0f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
jmp 0x140021a05
add rsp, 0xa8
ret