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

Disassembly:
sub esp, 0x94
push ebx
mov ebx, dword [0x10180f98]
push ebp
push esi
push edi
mov edi, dword [esp + 0xa8]
cmp byte [edi + 0x67], 0
je 0x100f4d8a
movups xmm0, xmmword [ebx + 0x4688]
mov esi, dword [ebx + 0x4698]
push edi
movups xmmword [esp + 0x3c], xmm0
call fcn.100f3220
movups xmm0, xmmword [esp + 0x3c]
add esp, 4
movups xmmword [ebx + 0x4688], xmm0
mov dword [ebx + 0x4698], esi
mov eax, dword [ebx + 0x3e28]
mov dword [esp + 0x18], eax
cmp byte [eax + 0xab], 0
jne 0x100f4dea
push dword [esp + 0xb8]
push dword [esp + 0xb0]
push edi
call fcn.100f30b0
mov ecx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ebp, eax
mov eax, dword [esp + 0xbc]
add esp, 0xc
mov dword [esp + 0x28], ecx
test eax, eax
je 0x100f4e20
cmp byte [eax], 0
jne 0x100f4df7
push 8
push 0
lea eax, [esp + 0x40]
xorps xmm0, xmm0
push ebp
push eax
movups xmmword [esp + 0x48], xmm0
call fcn.100e14e0
add esp, 0x10
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x94
ret
mov esi, dword [esp + 0xb4]
test esi, 0x200000
je 0x100f4e27
push 0x1f95
push str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001fimgui_sys_0.11.0._third_party_imgui_master_imgui_imgui_widgets.cpp
push str._p_open____flags__ImGuiTabItemFlags_Button_
call ecx
mov ecx, dword [esp + 0x34]
add esp, 0xc
jmp 0x100f4e27
mov esi, dword [esp + 0xb4]
mov eax, esi
and eax, 0xc0
cmp al, 0xc0
jne 0x100f4e46
push 0x1f96
push str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001fimgui_sys_0.11.0._third_party_imgui_master_imgui_imgui_widgets.cpp
push str._flags___ImGuiTabItemFlags_Leading__ImGuiTabItemFlags_Trailing______ImGuiTabItemFlags_Leading__ImGuiTabItemFlags_Trailing_
call ecx
add esp, 0xc
mov eax, dword [esp + 0xb4]
test eax, 0x100000
je 0x100f4e61
mov dword [esp + 0xb0], 0
jmp 0x100f4e77
cmp dword [esp + 0xb0], 0
jne 0x100f4e77
or eax, 0x100000
mov dword [esp + 0xb4], eax
push ebp
push edi
call fcn.100f3190
mov esi, eax
mov byte [esp + 0x1b], 0
add esp, 8
test esi, esi
jne 0x100f4f75
mov esi, dword [edi + 4]
xorps xmm0, xmm0
mov ecx, dword [edi]
mov dword [esp + 0x90], eax
or eax, 0xffffffff
movlpd qword [esp + 0x78], xmm0
movlpd qword [esp + 0x88], xmm0
mov dword [esp + 0x84], 0xffffffff
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x94], 0xbf800000
mov dword [esp + 0x98], 0xffffffff
mov word [esp + 0x9e], ax
mov word [esp + 0x9c], ax
cmp ecx, esi
jne 0x100f4f13
inc ecx
test esi, esi
je 0x100f4f01
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
jmp 0x100f4f06
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edi
call fcn.10102a90
imul eax, dword [edi], 0x2c
movups xmm0, xmmword [esp + 0x78]
add eax, dword [edi + 8]
movups xmmword [eax], xmm0
movups xmm0, xmmword [esp + 0x88]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x98]
movq qword [eax + 0x20], xmm0
mov dword [eax + 0x28], 0
inc dword [edi]
cmp dword [edi], 0
jg 0x100f4f5f
push 0x703
push str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001fimgui_sys_0.11.0_third_partyimgui_masterimguiimgui.h
push str.Size___0
call dword [esp + 0x34]
add esp, 0xc
imul ecx, dword [edi], 0x2c
mov esi, dword [edi + 8]
add esi, 0xffffffd4
mov byte [esp + 0x13], 1
add esi, ecx
mov dword [esi], ebp
mov byte [edi + 0x69], 1
mov ecx, dword [edi + 8]
cmp esi, ecx
jb 0x100f4f85
imul eax, dword [edi], 0x2c
add eax, ecx
cmp esi, eax
jb 0x100f4f9b
push 0x71b
push str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001fimgui_sys_0.11.0_third_partyimgui_masterimguiimgui.h
push 0x101513f8
call dword [esp + 0x34]
add esp, 0xc
mov ecx, esi
mov eax, 0x2e8ba2e9
sub ecx, dword [edi + 8]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0xb0], 0
mov word [edi + 0x6c], ax
jne 0x100f4fcd
test byte [esp + 0xb4], 1
jne 0x100f4fcd
xor al, al
jmp 0x100f4fcf
mov al, 1
push eax
push dword [esp + 0xb0]
lea eax, [esp + 0x38]
push eax
call fcn.100f4c30
add esp, 0xc
mov dword [esi + 0x1c], 0xbf800000
test byte [ebx + 0x4688], 1
je 0x100f5003
movss xmm1, dword [ebx + 0x468c]
movss dword [esi + 0x1c], xmm1
jmp 0x100f5009
movss xmm1, dword [esp + 0x30]
cmp byte [esp + 0x13], 0
movss xmm0, dword [0x10142ff8]
je 0x100f5021
maxss xmm0, xmm1
movss dword [esi + 0x14], xmm0
movss dword [esi + 0x18], xmm1
mov ax, word [edi + 0x6a]
mov word [esi + 0x24], ax
mov eax, dword [edi + 0x24]
inc word [edi + 0x6a]
inc eax
mov ecx, dword [ebx + 0x3dc8]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0xc]
shr eax, 0x15
and eax, 0xffffff01
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], eax
mov eax, dword [esi + 8]
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xb4]
test al, 1
je 0x100f5071
test byte [esi + 4], 1
mov byte [esp + 0x14], 1
je 0x100f5076
mov byte [esp + 0x14], 0
mov edx, eax
mov dword [esi + 8], ecx
shr edx, 0x15
and edx, 0xffffff01
mov dword [esi + 4], eax
cmp dword [esp + 0xb8], 0
mov dword [esp + 0x1c], edx
je 0x100f50ad
push 0x1fbf
push str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001fimgui_sys_0.11.0._third_party_imgui_master_imgui_imgui_widgets.cpp
push str.docked_window__0
call dword [esp + 0x34]
add esp, 0xc
jmp 0x100f50f2
mov ecx, dword [edi + 0x84]
mov edx, dword [esp + 0xac]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [esi + 0x20], ecx
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f50d0
sub edx, ecx
mov ecx, dword [esp + 0xac]
lea eax, [ecx + 1]
add eax, edx
push eax
push ecx
lea ecx, [edi + 0x84]
call fcn.10101ae0
cmp byte [esp + 0x1c], 0
mov edx, dword [esp + 0x48]
jne 0x100f5130
cmp dword [esp + 0x24], edx
jge 0x100f511e
test byte [edi + 0xc], 2
je 0x100f511e
cmp dword [edi + 0x18], 0
jne 0x100f511e
cmp dword [esp + 0x20], edx
jge 0x100f511b
cmp dword [edi + 0x14], 0
jne 0x100f511e
mov dword [edi + 0x18], ebp
test byte [esp + 0xb4], 2
je 0x100f5130
cmp dword [edi + 0x14], ebp
je 0x100f5130
mov dword [edi + 0x18], ebp
cmp dword [edi + 0x1c], ebp
lea ecx, [edi + 0x14]
sete byte [esp + 0x2c]
jne 0x100f5143
mov byte [edi + 0x68], 1
jmp 0x100f516b
cmp dword [edi + 0x14], 0
jne 0x100f516b
lea ecx, [edi + 0x14]
cmp dword [esp + 0x20], edx
jge 0x100f516b
cmp dword [edi], 1
lea ecx, [edi + 0x14]
jne 0x100f516b
test byte [edi + 0xc], 2
lea ecx, [edi + 0x14]
jne 0x100f516b
mov byte [esp + 0x2c], 1
lea ecx, [edi + 0x14]
cmp dword [esp + 0x24], edx
jge 0x100f51b0
cmp dword [esp + 0x20], edx
jge 0x100f517e
cmp byte [esp + 0x13], 0
je 0x100f51b0
push 8
push 0
lea eax, [esp + 0x40]
xorps xmm0, xmm0
push ebp
push eax
movups xmmword [esp + 0x48], xmm0
call fcn.100e14e0
add esp, 0x10
cmp byte [esp + 0x1c], 0
je 0x100f5397
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x94
ret
cmp dword [ecx], ebp
jne 0x100f51bd
mov eax, dword [ebx + 0x3dc8]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x18]
lea ecx, [edi + 0x28]
mov edx, dword [esi + 4]
movss xmm1, dword [esi + 0x10]
movss xmm0, dword [eax + 0xec]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [eax + 0xf0]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esi + 0x14]
and edx, 0xc0
jne 0x100f5205
subss xmm1, dword [edi + 0x48]
cvttss2si eax, xmm1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, 4
xorps xmm2, xmm2
addss xmm1, dword [ecx]
movss xmm3, dword [ecx + eax]
mov eax, dword [esp + 0x18]
addss xmm3, xmm2
movss dword [esp + 0x20], xmm1
movaps xmm2, xmm1
addss xmm2, xmm0
movss dword [eax + 0xec], xmm1
movss dword [eax + 0xf0], xmm3
movss xmm5, dword [esp + 0x34]
movss dword [esp + 0x4c], xmm3
addss xmm5, xmm3
movss dword [esp + 0x6c], xmm2
movss dword [esp + 0x38], xmm1
movss dword [esp + 0x3c], xmm3
movss dword [esp + 0x40], xmm2
movss dword [esp + 0x30], xmm5
movss dword [esp + 0x44], xmm5
test edx, edx
jne 0x100f52e9
movss xmm4, dword [edi + 0x58]
comiss xmm4, xmm1
ja 0x100f5283
comiss xmm2, dword [edi + 0x5c]
jbe 0x100f52e9
movss xmm0, dword [edi + 0x5c]
lea eax, [esp + 0x70]
movss dword [esp + 0x70], xmm0
movaps xmm0, xmm1
maxss xmm0, xmm4
mov byte [esp + 0x15], 1
push 1
push eax
lea eax, [esp + 0x64]
movss dword [esp + 0x7c], xmm5
push eax
movss dword [esp + 0x68], xmm0
movaps xmm0, xmm3
subss xmm0, dword [0x10142ff8]
movss dword [esp + 0x6c], xmm0
call fcn.100e90d0
movss xmm1, dword [esp + 0x2c]
add esp, 0xc
movss xmm2, dword [esp + 0x6c]
movss xmm3, dword [esp + 0x4c]
movss xmm5, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
jmp 0x100f52ee
mov byte [esp + 0x15], 0
movss xmm0, dword [eax + 0x104]
subss xmm2, xmm1
movss dword [esp + 0x30], xmm0
subss xmm5, xmm3
movss xmm0, dword [eax + 0x108]
lea eax, [esp + 0x5c]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [ebx + 0x37d8]
push ecx
movss dword [esp], xmm0
push eax
movss dword [esp + 0x64], xmm2
movss dword [esp + 0x68], xmm5
call fcn.100e1900
mov eax, dword [esp + 0x20]
movss xmm0, dword [esp + 0x38]
push 0
push 0
movss dword [eax + 0x104], xmm0
movss xmm0, dword [esp + 0x5c]
movss dword [eax + 0x108], xmm0
lea eax, [esp + 0x48]
push ebp
push eax
call fcn.100e14e0
add esp, 0x18
test al, al
jne 0x100f53a6
cmp byte [esp + 0x15], al
je 0x100f5377
call fcn.100e8640
mov eax, dword [esp + 0x18]
movss xmm0, dword [esp + 0x54]
movss dword [eax + 0xec], xmm0
movss xmm0, dword [esp + 0x58]
movss dword [eax + 0xf0], xmm0
mov al, byte [esp + 0x2c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
cmp byte [ebx + 0x4930], 0
mov eax, 0x1000
mov ecx, 0x1200
cmove ecx, eax
mov eax, dword [esp + 0x1c]
movzx eax, al
inc eax
shl eax, 4
or ecx, eax
lea eax, [esp + 0x13]
push ecx
push eax
lea eax, [esp + 0x1e]
push eax
lea eax, [esp + 0x44]
push ebp
push eax
call fcn.100d08a0
add esp, 0x14
mov byte [esp + 0x17], al
test al, al
je 0x100f53f2
cmp byte [esp + 0x1c], 0
jne 0x100f53f2
mov dword [edi + 0x18], ebp
cmp dword [ebx + 0x3e74], ebp
je 0x100f53ff
call fcn.100f0e40
mov dl, byte [esp + 0x13]
test dl, dl
je 0x100f549e
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x24], ecx
jl 0x100f549e
mov eax, dword [0x10180f98]
cmp byte [eax + 0xdc0], 0
je 0x100f549e
movss xmm1, dword [eax + 0x30]
movss xmm0, dword [eax + 0x3750]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
test al, al
je 0x100f549e
cmp byte [ebx + 0x4930], 0
jne 0x100f549e
test byte [edi + 0xc], 1
je 0x100f549e
movss xmm1, dword [ebx + 0xb4]
xorps xmm2, xmm2
comiss xmm2, xmm1
jbe 0x100f5470
movss xmm0, dword [esp + 0x38]
comiss xmm0, dword [ebx + 0xdb8]
ja 0x100f5484
comiss xmm1, xmm2
jbe 0x100f549e
movss xmm0, dword [ebx + 0xdb8]
comiss xmm0, dword [esp + 0x40]
jbe 0x100f549e
push dword [ebx + 0xdbc]
push dword [ebx + 0xdb8]
push esi
push edi
call fcn.100f4110
mov dl, byte [esp + 0x23]
add esp, 0x10
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x260]
mov dword [esp + 0x24], eax
test dl, dl
jne 0x100f54e3
cmp byte [esp + 0x16], dl
jne 0x100f54e3
cmp byte [esp + 0x2c], dl
je 0x100f54cf
mov eax, dword [esp + 0x50]
movzx eax, al
xor eax, 1
lea ecx, [eax*2 + 0x23]
jmp 0x100f54e8
cmp byte [esp + 0x50], 0
mov ecx, 0x24
mov edx, 0x21
cmovne ecx, edx
jmp 0x100f54e8
mov ecx, 0x22
mov eax, dword [0x10180f98]
add ecx, ecx
movups xmm0, xmmword [eax + ecx*8 + 0x3860]
movups xmmword [esp + 0x5c], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [eax + 0x3798]
lea eax, [esp + 0x5c]
push eax
movss dword [esp + 0x6c], xmm0
call fcn.100d4190
push eax
push dword [esp + 0xbc]
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x34]
call fcn.100f47e0
push 1
lea eax, [esp + 0x50]
push ebp
push eax
call fcn.100ebb40
push 0x20
call fcn.100e0d10
add esp, 0x24
test al, al
je 0x100f557c
push 0
push 0
push 1
call fcn.100e1000
add esp, 0xc
test al, al
jne 0x100f5572
mov eax, dword [0x10180f98]
cmp byte [eax + 0x3717], 0
je 0x100f557c
cmp byte [eax + 0x44d0], 0
jne 0x100f557c
cmp byte [esp + 0x1c], 0
jne 0x100f557c
mov dword [edi + 0x18], ebp
test byte [edi + 0xc], 8
je 0x100f558a
or dword [esp + 0xb4], 4
cmp dword [esp + 0xb0], 0
je 0x100f55d0
push ebp
push 0
push str.CLOSE
call fcn.100dc0c0
mov ecx, dword [0x10180f98]
mov edx, eax
add esp, 0xc
mov dword [esp + 0x30], edx
cmp dword [ecx + 0x3e5c], edx
jne 0x100f55d2
push 0
push str.CLOSE
push 0xb
push edx
call fcn.100d5190
mov edx, dword [esp + 0x40]
add esp, 0x10
jmp 0x100f55d2
xor edx, edx
mov ecx, dword [esp + 0xb4]
mov eax, ecx
and eax, 0xfffffffe
cmp byte [esp + 0x14], 0
cmovne ecx, eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x1a]
push eax
push dword [esp + 0x34]
lea eax, [esp + 0x44]
push edx
push ebp
push dword [esp + 0xc0]
push dword [edi + 0x78]
push dword [edi + 0x74]
push ecx
push eax
push dword [esp + 0x4c]
call fcn.100f5730
add esp, 0x2c
cmp byte [esp + 0x16], 0
je 0x100f5664
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x100f5664
mov byte [eax], 0
mov eax, dword [esi + 4]
test eax, 0x200000
jne 0x100f5664
test al, 1
jne 0x100f565a
mov byte [esi + 0x28], 1
mov eax, dword [edi + 0x1c]
cmp eax, dword [esi]
jne 0x100f5664
mov dword [esi + 8], 0xffffffff
mov dword [edi + 0x18], 0
mov dword [edi + 0x14], 0
jmp 0x100f5664
mov eax, dword [esi]
cmp dword [edi + 0x1c], eax
je 0x100f5664
mov dword [edi + 0x18], eax
cmp byte [esp + 0x15], 0
je 0x100f5670
call fcn.100e8640
cmp byte [esp + 0x14], 0
mov eax, dword [esp + 0x18]
movss xmm0, dword [esp + 0x54]
movss dword [eax + 0xec], xmm0
movss xmm0, dword [esp + 0x58]
movss dword [eax + 0xf0], xmm0
je 0x100f56f8
cmp dword [ebx + 0x3e60], ebp
jne 0x100f56f8
cmp byte [esp + 0x13], 0
jne 0x100f56f8
test byte [edi + 0xc], 0x20
jne 0x100f56f8
test byte [esi + 4], 0x10
jne 0x100f56f8
push 0x800
call fcn.100e0d10
add esp, 4
test al, al
je 0x100f56f8
mov eax, dword [esp + 0xac]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x100f56e7
mov dl, byte [ecx]
test dl, dl
je 0x100f56e7
cmp dl, 0x23
jne 0x100f56e1
cmp byte [ecx + 1], dl
je 0x100f56e7
inc ecx
cmp ecx, 0xffffffff
jb 0x100f56d1
push eax
sub ecx, eax
push ecx
push str._.s
call fcn.100f1280
add esp, 0xc
cmp byte [esp + 0x1c], 0
je 0x100f5397
mov eax, dword [edi + 0x14]
cmp eax, dword [esi]
jne 0x100f5720
push 0x2058
push str.C:UsersFrank.cargo_registry_srcindex.crates.io_6f17d22bba15001fimgui_sys_0.11.0._third_party_imgui_master_imgui_imgui_widgets.cpp
push str._is_tab_button____tab_bar__SelectedTabId__tab__ID__is_tab_button_
call dword [esp + 0x34]
add esp, 0xc
mov al, byte [esp + 0x17]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret