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

Disassembly:
sub esp, 0x50
mov eax, dword [0x10114380]
xor eax, esp
mov dword [esp + 0x4c], eax
push ebx
push ebp
mov ebp, dword [esp + 0x5c]
movss xmm0, dword [ebp + 0x10]
mov eax, dword [ebp + 0x34]
movsx ecx, word [ebp + 0x38]
cvtps2pd xmm0, xmm0
test eax, eax
je 0x1001793e
add eax, 0x4a
jmp 0x10017943
mov eax, 0x100bdf48
push ecx
push dword [ebp + 0x20]
push ecx
push ecx
movsd qword [esp], xmm0
push eax
push str.Font:___s__n_.2f_px___d_glyphs___d_file_s_
push ebp
call fcn.100589d3
add esp, 0x14
mov bl, al
mov dword [esp + 4], 0xbf800000
and dword [esp], 0
call fcn.1000b73d
push str.Set_as_default
call fcn.100522e6
add esp, 0xc
test al, al
je 0x10017989
mov eax, dword [0x10114fd8]
mov dword [eax + 0x54], ebp
test bl, bl
je 0x10017dc5
push esi
push edi
push ebp
call fcn.1000b1b1
mov dword [esp], str.The_quick_brown_fox_jumps_over_the_lazy_dog
call fcn.10051d8c
pop ecx
call fcn.1000b1fd
mov eax, dword [0x10114fd8]
push 0
push str._.1f
sub esp, 0xc
movss xmm0, dword [eax + 0x3bd0]
mulss xmm0, dword [0x100bd510]
or dword [eax + 0x46a0], 1
mov dword [esp + 8], 0x40000000
mov dword [esp + 4], 0x3e99999a
movss dword [eax + 0x46a4], xmm0
lea eax, [ebp + 0x4c]
mov dword [esp], 0x3ba3d70a
push eax
push str.Font_scale
call fcn.10053966
add esp, 0x14
mov dword [esp + 4], 0xbf800000
and dword [esp], 0
call fcn.1000b73d
push 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.1001d5ad
movss xmm0, dword [ebp + 0x50]
sub esp, 0xc
subss xmm0, dword [ebp + 0x54]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [ebp + 0x54]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebp + 0x50]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Ascent:__f__Descent:__f__Height:__f
call fcn.10051d8c
movzx esi, word [ebp + 0x3a]
lea eax, [esp + 0x70]
push esi
push eax
call fcn.10010116
push esi
push eax
push str.Fallback_character:__s__U_04X_
call fcn.10051d8c
movzx esi, word [ebp + 0x3c]
lea eax, [esp + 0x84]
push esi
push eax
call fcn.10010116
push esi
push eax
push str.Ellipsis_character:__s__U_04X_
call fcn.10051d8c
movd xmm0, dword [ebp + 0x58]
add esp, 0x44
cvtdq2ps xmm0, xmm0
sqrtss xmm0, xmm0
cvttss2si eax, xmm0
push eax
push eax
push dword [ebp + 0x58]
push str.Texture_Area:_about__d_px__dx_d_px
call fcn.10051d8c
xor eax, eax
add esp, 0x10
xor edi, edi
cmp ax, word [ebp + 0x38]
jge 0x10017b16
xor esi, esi
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x10017b0a
lea ecx, [esi + eax]
test ecx, ecx
je 0x10017b0a
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 edi
push str.Input__d:__s__Oversample:___d__d___PixelSnapH:__d__Offset:___.1f__.1f_
call fcn.100520b8
add esp, 0x28
movsx eax, word [ebp + 0x38]
inc edi
add esi, 0x78
cmp edi, eax
jl 0x10017ac1
push dword [ebp + 0x20]
push str.Glyphs___d_
push str.Glyphs
call fcn.100589bb
add esp, 0xc
test al, al
je 0x10017dbe
call fcn.1000ab91
mov ebx, dword [0x10114fd8]
lea edi, [esp + 0x44]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x44]
push eax
lea esi, [ebx + 0x387c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movss xmm0, dword [esp + 0x54]
mulss xmm0, dword [ebx + 0x37a0]
movss dword [esp + 0x54], xmm0
call fcn.1000d7bf
movss xmm0, dword [ebp + 0x10]
xor esi, esi
movss dword [esp + 0x18], xmm0
movss xmm0, dword [ebx + 0x37f0]
pop ecx
mov dword [esp + 0x30], eax
movss dword [esp + 0x28], xmm0
mov dword [esp + 0x1c], esi
test esi, 0xfff
jne 0x10017bb8
lea eax, [esi + 0xfff]
mov ecx, ebp
push eax
push esi
call fcn.1003f9fe
test al, al
je 0x10017bb8
add esi, 0xf00
jmp 0x10017da3
xor edi, edi
xor ebx, ebx
movzx eax, si
mov ecx, eax
add eax, ebx
mov dword [esp + 0x10], ecx
mov ecx, ebp
push eax
call fcn.1003e98d
test eax, eax
je 0x10017bd4
inc edi
inc ebx
cmp ebx, 0x100
jb 0x10017bbc
mov eax, dword [esp + 0x10]
movzx eax, ax
mov dword [esp + 0x2c], eax
test edi, edi
jle 0x10017da3
mov ecx, str.glyph
cmp edi, 1
mov eax, str.glyphs
cmovle eax, ecx
push eax
push edi
lea eax, [esi + 0xff]
push eax
push esi
push str.U_04X..U_04X___d__s_
push esi
call fcn.100589d3
add esp, 0x18
test al, al
je 0x10017da3
mov eax, dword [0x10114fd8]
xor edi, edi
movss xmm2, dword [esp + 0x28]
movss xmm3, dword [esp + 0x14]
mov esi, dword [esp + 0x2c]
addss xmm2, xmm3
mov eax, dword [eax + 0x3e40]
mov ecx, dword [eax + 0xf0]
mov eax, dword [eax + 0xf4]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
movss dword [esp + 0x10], xmm2
mov eax, edi
mov ecx, ebp
and eax, 0xf
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100c1030]
mov eax, edi
shr eax, 4
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mulss xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x100c1030]
lea eax, [esi + edi]
addss xmm1, dword [esp + 0x34]
push eax
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x24], xmm1
addss xmm1, xmm3
mulss xmm0, xmm2
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x40], xmm1
movss dword [esp + 0x28], xmm0
addss xmm0, xmm3
movss dword [esp + 0x44], xmm0
call fcn.1003e98d
push ecx
mov dword [esp], 0x3f800000
mov ebx, eax
push 0
push ecx
and dword [esp], 0
mov eax, 0x64ffffff
test ebx, ebx
mov ecx, 0x32ffffff
cmovne ecx, eax
lea eax, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x28]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.1003aac5
test ebx, ebx
je 0x10017d5f
movss xmm0, dword [esp + 0x14]
lea eax, [esi + edi]
push eax
push dword [esp + 0x34]
lea eax, [esp + 0x28]
push eax
push ecx
movss dword [esp], xmm0
mov ecx, ebp
push dword [esp + 0x28]
call fcn.1003ed6a
push 1
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.1000dbda
add esp, 0xc
test al, al
je 0x10017d5f
call fcn.1000beff
test al, al
je 0x10017d5f
push ebx
push ebp
call fcn.10017dd6
pop ecx
pop ecx
call fcn.1000a792
movss xmm2, dword [esp + 0x10]
inc edi
movss xmm3, dword [esp + 0x14]
cmp edi, 0x100
jb 0x10017c5b
movaps xmm0, xmm2
lea eax, [esp + 0x44]
mulss xmm0, dword [0x100bd530]
push eax
movss dword [esp + 0x48], xmm0
movss dword [esp + 0x4c], xmm0
call fcn.10051c94
pop ecx
call fcn.10058bc3
mov esi, dword [esp + 0x1c]
add esi, 0x100
mov dword [esp + 0x1c], esi
cmp esi, 0xffff
jbe 0x10017b92
call fcn.10058bc3
call fcn.10058bc3
pop edi
pop esi
mov ecx, dword [esp + 0x54]
pop ebp
pop ebx
xor ecx, esp
call fcn.1009543c
add esp, 0x50
ret