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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
mov eax, dword [0x55c054]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x34]
lea ecx, [eax + 0x4a]
test eax, eax
jne 0x45311e
mov ecx, 0x527b0c
movsx eax, word [edi + 0x38]
movss xmm0, dword [edi + 0x10]
push eax
push dword [edi + 0x20]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push ecx
push str.Font:___s__n_.2f_px___d_glyphs___d_file_s_
push edi
call fcn.004b2360
movss xmm1, dword [0x54f7a8]
add esp, 0x1c
xorps xmm0, xmm0
mov bl, al
call fcn.004361e0
mov esi, dword [0x562924]
lea edx, [esp + 0x58]
push 0x8000
mov ecx, str.Set_as_default
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
movss xmm0, dword [esi + 0x386c]
movss dword [esp + 0x48], xmm0
mov dword [esi + 0x386c], 0
call fcn.0049e600
movss xmm0, dword [esp + 0x48]
add esp, 4
movss dword [esi + 0x386c], xmm0
test al, al
je 0x4531d5
mov eax, dword [0x562924]
test eax, eax
jne 0x4531d2
push 0x1108
push str.C:UsersMi_PcDocumentsGitHubEngine_BonesEngine_Bones_v.1Engine_BonesSourceExternalImGuiimgui.cpp
push str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call fcn.004ecded
mov eax, dword [0x562924]
add esp, 0xc
mov dword [eax + 0x38], edi
test bl, bl
je 0x453a09
mov ecx, edi
call fcn.004319a0
push str.The_quick_brown_fox_jumps_over_the_lazy_dog
call fcn.0049d5f0
add esp, 4
call fcn.00431a60
mov eax, dword [0x562924]
mov edx, 8
movss xmm3, dword [0x54f42c]
mov ecx, str.Font_scale
push 0
push str._.1f
movss xmm0, dword [eax + 0x3ca0]
mulss xmm0, dword [0x54f658]
or dword [eax + 0x4798], 1
mov dword [esp + 0x54], 0x3e99999a
mov dword [esp + 0x4c], 0x40000000
movss dword [eax + 0x47a0], xmm0
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [edi + 0x4c]
push eax
call fcn.004a3ed0
movss xmm1, dword [0x54f7a8]
add esp, 0x14
xorps xmm0, xmm0
call fcn.004361e0
mov ecx, str.Note_than_the_default_embedded_font_is_NOT_meant_to_be_scaled._n_nFont_are_currently_rendered_into_bitmaps_at_a_given_size_at_the_time_of_building_the_atlas._You_may_oversample_them_to_get_some_flexibility_with_scaling._You_can_also_render_at_multiple_sizes_and_select_which_one_to_use_at_runtime._n_n_Glimmer_of_hope:_the_atlas_system_will_be_rewritten_in_the_future_to_make_scaling_more_flexible._
call fcn.0044d330
movss xmm2, dword [edi + 0x50]
sub esp, 0x18
movss xmm1, dword [edi + 0x54]
movaps xmm0, xmm2
subss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 8], xmm0
cvtps2pd xmm0, xmm2
movsd qword [esp], xmm0
push str.Ascent:__f__Descent:__f__Height:__f
call fcn.0049d5f0
movzx edx, word [edi + 0x3a]
lea ecx, [esp + 0xd0]
add esp, 0x1c
push edx
call fcn.00421470
push eax
push str.Fallback_character:__s__U_04X_
call fcn.0049d5f0
movzx edx, word [edi + 0x3c]
lea ecx, [esp + 0xc0]
add esp, 0xc
push edx
call fcn.00421470
push eax
push str.Ellipsis_character:__s__U_04X_
call fcn.0049d5f0
mov esi, dword [edi + 0x58]
xorps xmm1, xmm1
add esp, 0xc
movd xmm0, esi
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x453308
sqrtsd xmm0, xmm0
jmp 0x45330d
call fcn.005130f0
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
push eax
push eax
push esi
push str.Texture_Area:_about__d_px__dx_d_px
call fcn.0049d5f0
xor eax, eax
add esp, 0x10
xor esi, esi
cmp ax, word [edi + 0x38]
jge 0x453386
xor ebx, ebx
mov eax, dword [edi + 0x34]
test eax, eax
je 0x45337a
lea ecx, [ebx + eax]
test ecx, ecx
je 0x45337a
movss xmm0, dword [ecx + 0x2c]
sub esp, 0x10
movzx eax, byte [ecx + 0x1c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ecx + 0x28]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
push dword [ecx + 0x18]
lea eax, [ecx + 0x4a]
push dword [ecx + 0x14]
push eax
push esi
push str.Input__d:__s__Oversample:___d__d___PixelSnapH:__d__Offset:___.1f__.1f_
call fcn.0049dbc0
add esp, 0x28
movsx eax, word [edi + 0x38]
inc esi
add ebx, 0x78
cmp esi, eax
jl 0x453331
push dword [edi + 0x20]
push str.Glyphs___d_
push str.Glyphs
call fcn.004b2340
add esp, 0xc
test al, al
je 0x453a04
mov edx, dword [0x562924]
xor ecx, ecx
movss xmm1, dword [0x54f4f4]
mov eax, dword [edx + 0x3f34]
mov byte [eax + 0xe1], 1
mov eax, dword [edx + 0x3f34]
mov eax, dword [eax + 0x2a4]
mov dword [esp + 0x60], eax
call fcn.004231b0
movss xmm2, dword [edi + 0x10]
xor esi, esi
movss xmm0, dword [edx + 0x387c]
mov dword [esp + 0x6c], eax
mov eax, 0xfff
movss dword [esp + 0x50], xmm2
movss dword [esp + 0x64], xmm0
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], eax
test esi, 0xfff
jne 0x453450
mov ebx, eax
mov edx, esi
shr ebx, 0xc
shr edx, 0xc
cmp edx, ebx
ja 0x453440
mov esi, edx
shr esi, 3
cmp esi, 2
jae 0x453433
mov ecx, edx
mov eax, 1
and ecx, 7
shl eax, cl
test byte [edi + esi + 0x5c], al
jne 0x453450
inc edx
cmp edx, ebx
jbe 0x453417
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
add esi, 0xf00
add eax, 0xf00
jmp 0x4539e0
mov ebx, dword [edi + 0x14]
xor esi, esi
xor edx, edx
mov eax, dword [esp + 0x40]
add eax, edx
movzx ecx, ax
cmp ecx, ebx
jb 0x453468
xor ecx, ecx
jmp 0x453486
mov eax, dword [edi + 0x1c]
movzx eax, word [eax + ecx*2]
mov ecx, 0xffff
cmp ax, cx
jne 0x45347d
xor ecx, ecx
jmp 0x453486
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x28]
lea ecx, [eax + ecx*8]
test ecx, ecx
lea eax, [esi + 1]
cmove eax, esi
inc edx
mov esi, eax
cmp edx, 0x100
jb 0x453457
test esi, esi
jle 0x4539d8
cmp esi, 1
mov ecx, str.glyph
mov eax, str.glyphs
cmovle eax, ecx
push eax
push esi
mov esi, dword [esp + 0x48]
lea eax, [esi + 0xff]
push eax
push esi
push str.U_04X..U_04X___d__s_
push esi
call fcn.004b2360
add esp, 0x18
test al, al
je 0x4539dc
mov eax, dword [0x562924]
xor ecx, ecx
movss xmm2, dword [esp + 0x64]
movss xmm5, dword [esp + 0x50]
addss xmm2, xmm5
mov dword [esp + 0x4c], ecx
mov eax, dword [eax + 0x3f34]
movss xmm3, dword [eax + 0x128]
movss xmm4, dword [eax + 0x12c]
movss dword [esp + 0x74], xmm3
movss dword [esp + 0x78], xmm4
movss dword [esp + 0x44], xmm2
nop dword [eax + eax]
mov eax, ecx
and eax, 0xf
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x550550]
mov eax, ecx
shr eax, 4
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mulss xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x550550]
lea eax, [ecx + esi]
addss xmm1, xmm3
movzx eax, ax
movzx ecx, ax
mov dword [esp + 0x68], eax
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x58], xmm1
mulss xmm0, xmm2
addss xmm0, xmm4
movaps xmm4, xmm1
addss xmm4, xmm5
movaps xmm3, xmm0
movss dword [esp + 0x5c], xmm0
addss xmm3, xmm5
movss dword [esp + 0x70], xmm4
movss dword [esp + 0x54], xmm3
cmp ecx, dword [edi + 0x14]
jb 0x4535a6
xor esi, esi
jmp 0x4535c4
mov eax, dword [edi + 0x1c]
movzx eax, word [eax + ecx*2]
mov ecx, 0xffff
cmp ax, cx
jne 0x4535bb
xor esi, esi
jmp 0x4535c4
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x28]
lea esi, [eax + ecx*8]
movss xmm5, dword [0x54f494]
test esi, esi
mov eax, 0x64ffffff
addss xmm1, xmm5
mov ebx, 0x32ffffff
movaps xmm2, xmm0
cmovne ebx, eax
addss xmm2, xmm5
mov eax, dword [esp + 0x60]
movaps xmm0, xmm4
push 0
test byte [eax + 0x24], 1
je 0x453635
subss xmm0, xmm5
movss dword [esp + 0x88], xmm1
lea ecx, [esp + 0x80]
movss dword [esp + 0x8c], xmm2
push ecx
lea ecx, [esp + 0x8c]
movss dword [esp + 0x84], xmm0
movaps xmm0, xmm3
subss xmm0, xmm5
movss dword [esp + 0x88], xmm0
jmp 0x45367b
subss xmm0, dword [0x54f490]
lea ecx, [esp + 0x90]
movss dword [esp + 0x98], xmm1
push ecx
movss dword [esp + 0xa0], xmm2
lea ecx, [esp + 0x9c]
movss dword [esp + 0x94], xmm0
movaps xmm0, xmm3
subss xmm0, dword [0x54f490]
movss dword [esp + 0x98], xmm0
push ecx
xorps xmm3, xmm3
mov ecx, eax
call fcn.004895c0
push ecx
mov dword [esp], 0x3f800000
push 1
push ebx
mov ebx, dword [esp + 0x6c]
mov ecx, ebx
push dword [ebx + 0x54]
push dword [ebx + 0x5c]
call fcn.00487410
mov dword [ebx + 0x54], 0
test esi, esi
je 0x4538f8
push dword [esp + 0x68]
movss xmm2, dword [esp + 0x54]
lea eax, [esp + 0x5c]
push dword [esp + 0x70]
mov ecx, edi
push eax
push ebx
call fcn.0048f180
mov ecx, dword [0x562924]
movss xmm6, dword [esp + 0x54]
movss xmm4, dword [esp + 0x58]
movss xmm7, dword [esp + 0x70]
mov eax, dword [ecx + 0x3f34]
movss xmm0, dword [ecx + 0x3894]
movss xmm3, dword [esp + 0x5c]
movss xmm1, dword [ecx + 0x3890]
minss xmm6, dword [eax + 0x254]
maxss xmm4, dword [eax + 0x248]
minss xmm7, dword [eax + 0x250]
maxss xmm3, dword [eax + 0x24c]
movaps xmm2, xmm6
addss xmm2, xmm0
movaps xmm5, xmm7
addss xmm5, xmm1
movss dword [esp + 0x54], xmm2
movaps xmm2, xmm4
subss xmm2, xmm1
movaps xmm1, xmm3
subss xmm1, xmm0
movss xmm0, dword [ecx + 0xdc4]
comiss xmm0, xmm2
jb 0x4538f8
movss xmm0, dword [ecx + 0xdc8]
comiss xmm0, xmm1
jb 0x4538f8
comiss xmm5, dword [ecx + 0xdc4]
jbe 0x4538f8
movss xmm1, dword [esp + 0x54]
comiss xmm1, xmm0
jbe 0x4538f8
mov eax, dword [ecx + 0x4900]
movss xmm2, dword [eax + 0xc]
movss xmm5, dword [eax + 8]
movaps xmm0, xmm2
addss xmm0, dword [eax + 0x14]
movaps xmm1, xmm5
addss xmm1, dword [eax + 0x10]
comiss xmm0, xmm3
jbe 0x4538f8
comiss xmm6, xmm2
jbe 0x4538f8
comiss xmm1, xmm4
jbe 0x4538f8
comiss xmm7, xmm5
jbe 0x4538f8
xor ecx, ecx
call fcn.00437570
test al, al
je 0x4538f8
mov eax, dword [esi]
shr eax, 2
push eax
push str.Codepoint:_U_04X
call fcn.0049d5f0
mov eax, dword [0x562924]
add esp, 8
mov ecx, dword [eax + 0x3f34]
cmp byte [ecx + 0xe4], 0
jne 0x453814
mov ecx, dword [ecx + 0x1d0]
movss xmm1, dword [0x54f4f4]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.004a12c0
mov eax, dword [esi]
shr eax, 1
and eax, 1
push eax
push str.Visible:__d
call fcn.0049d5f0
movss xmm0, dword [esi + 4]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.AdvanceX:__.1f
call fcn.0049d5f0
movss xmm0, dword [esi + 0x14]
sub esp, 0x14
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [esi + 0x10]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [esi + 0xc]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [esi + 8]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Pos:___.2f__.2f_____.2f__.2f_
call fcn.0049d5f0
movss xmm0, dword [esi + 0x24]
add esp, 4
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [esi + 0x20]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [esi + 0x1c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [esi + 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.UV:___.3f__.3f_____.3f__.3f_
call fcn.0049d5f0
mov eax, dword [0x562924]
add esp, 0x24
mov eax, dword [eax + 0x3f34]
test dword [eax + 0xc], 0x2000000
jne 0x4538f3
push 0x2a86
push str.C:UsersMi_PcDocumentsGitHubEngine_BonesEngine_Bones_v.1Engine_BonesSourceExternalImGuiimgui.cpp
push str.GetCurrentWindowRead____Flags__ImGuiWindowFlags_Tooltip
call fcn.004ecded
add esp, 0xc
call fcn.00430cb0
mov ecx, dword [esp + 0x4c]
movss xmm2, dword [esp + 0x44]
inc ecx
movss xmm3, dword [esp + 0x74]
movss xmm4, dword [esp + 0x78]
movss xmm5, dword [esp + 0x50]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x4c], ecx
cmp ecx, 0x100
jb 0x453520
mov ecx, dword [0x562924]
movaps xmm4, xmm2
mulss xmm4, dword [0x54f678]
mov eax, dword [ecx + 0x3f34]
movss dword [esp + 0x9c], xmm4
movss dword [esp + 0xa0], xmm4
mov byte [eax + 0xe1], 1
mov eax, dword [ecx + 0x3f34]
cmp byte [eax + 0xe4], 0
jne 0x4539d3
movss xmm0, dword [eax + 0x12c]
lea ecx, [esp + 0x9c]
movss xmm2, dword [eax + 0x128]
movaps xmm1, xmm0
addss xmm1, xmm4
movss dword [esp + 0xa4], xmm2
movaps xmm3, xmm2
movss dword [esp + 0xa8], xmm0
addss xmm3, xmm4
movss dword [esp + 0xb0], xmm1
movss xmm1, dword [0x54f7a8]
movss dword [esp + 0xac], xmm3
call fcn.00435de0
push 0
push 0
xor edx, edx
lea ecx, [esp + 0xac]
call fcn.00435f40
add esp, 8
call fcn.004b3470
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
add esi, 0x100
add eax, 0x100
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], eax
cmp esi, 0xffff
jbe 0x453401
call fcn.004b3470
call fcn.004b3470
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004e7a8e
mov esp, ebp
pop ebp
ret