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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x70
push ebx
push ebp
mov ebp, dword [0x102062d4]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x24], ebp
movss xmm0, dword [edi + 0x10]
mov eax, dword [edi + 0x34]
movsx ecx, word [edi + 0x38]
cvtps2pd xmm0, xmm0
test eax, eax
je 0x10047d91
add eax, 0x4a
jmp 0x10047d96
mov eax, 0x101b2abe
push ecx
push dword [edi + 0x20]
sub esp, 8
movsd qword [esp], xmm0
push eax
push str.Font:___s__n_.2f_px___d_glyphs___d_file_s_
push edi
call fcn.1007e7a0
movss xmm1, dword [0x101c7564]
xorps xmm0, xmm0
mov bl, al
call fcn.10017c10
mov esi, dword [0x102062d4]
lea edx, [esp + 0x5c]
push 0x8000
mov ecx, str.Set_as_default
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
movss xmm0, dword [esi + 0x155c]
movss dword [esp + 0x40], xmm0
mov dword [esi + 0x155c], 0
call fcn.1006c4a0
movss xmm0, dword [esp + 0x40]
add esp, 0x20
movss dword [esi + 0x155c], xmm0
test al, al
je 0x10047e1c
mov dword [ebp + 0xa4], edi
test bl, bl
je 0x100485a3
mov ecx, edi
call fcn.10016540
push str.The_quick_brown_fox_jumps_over_the_lazy_dog
call fcn.1006b5a0
call fcn.100165f0
movss xmm3, dword [0x101c72d0]
lea eax, [esp + 0x24]
push 0
push str._.1f
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0x3e99999a
push eax
lea eax, [edi + 0x40]
mov dword [esp + 0x34], 0x40000000
push eax
mov edx, 8
mov ecx, str.Font_scale
call fcn.10071470
movss xmm1, dword [0x101c7564]
xorps xmm0, xmm0
call fcn.10017c10
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.100370c0
movss xmm2, dword [edi + 0x44]
movss xmm1, dword [edi + 0x48]
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.1006b5a0
movzx eax, word [edi + 0x3a]
push eax
push eax
push str.Fallback_character:__c__U_04X_
call fcn.1006b5a0
movzx eax, word [edi + 0x3c]
push eax
push eax
push str.Ellipsis_character:__c__U_04X_
call fcn.1006b5a0
mov esi, dword [edi + 0x4c]
xorps xmm1, xmm1
movd xmm0, esi
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x10047f01
sqrtsd xmm0, xmm0
jmp 0x10047f06
call fcn.10199330
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
push eax
push eax
push esi
push str.Texture_Area:_about__d_px__dx_d_px
call fcn.1006b5a0
xor eax, eax
add esp, 0x44
xor esi, esi
cmp ax, word [edi + 0x38]
jge 0x10047f85
xor ebx, ebx
nop word [eax + eax]
mov eax, dword [edi + 0x34]
test eax, eax
je 0x10047f79
lea ecx, [eax + ebx]
test ecx, ecx
je 0x10047f79
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.1006bc90
add esp, 0x28
movsx eax, word [edi + 0x38]
inc esi
add ebx, 0x78
cmp esi, eax
jl 0x10047f30
push dword [edi + 0x20]
push str.Glyphs___d_
push str.Glyphs
call fcn.1007e780
add esp, 0xc
test al, al
je 0x1004859e
mov eax, dword [0x102062d4]
xorps xmm6, xmm6
movss xmm0, dword [0x101c736c]
movups xmm3, xmmword [eax + 0x15dc]
comiss xmm6, xmm3
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xff
mulss xmm2, dword [eax + 0x1520]
movups xmmword [esp + 0x70], xmm3
jbe 0x10047fd7
xorps xmm1, xmm1
jmp 0x10047fde
movaps xmm1, xmm0
minss xmm1, xmm3
movss xmm3, dword [0x101c74f4]
movss xmm4, dword [0x101c7324]
movss xmm5, dword [esp + 0x74]
comiss xmm6, xmm5
mulss xmm1, xmm3
addss xmm1, xmm4
cvttss2si ecx, xmm1
jbe 0x1004800a
xorps xmm1, xmm1
jmp 0x10048011
movaps xmm1, xmm0
minss xmm1, xmm5
movss xmm5, dword [esp + 0x78]
mulss xmm1, xmm3
addss xmm1, xmm4
cvttss2si eax, xmm1
shl eax, 8
or ecx, eax
comiss xmm6, xmm5
jbe 0x10048032
xorps xmm1, xmm1
jmp 0x10048039
movaps xmm1, xmm0
minss xmm1, xmm5
mulss xmm1, xmm3
addss xmm1, xmm4
cvttss2si eax, xmm1
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm2
jbe 0x10048054
xorps xmm0, xmm0
jmp 0x10048058
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
xor ebp, ebp
mov dword [esp + 0x28], eax
mov eax, 0xfff
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], eax
nop dword [eax]
test ebp, 0xfff
jne 0x100480cb
mov ebx, eax
mov edx, ebp
shr ebx, 0xc
shr edx, 0xc
cmp edx, ebx
ja 0x100480bb
mov esi, edx
shr esi, 3
cmp esi, 2
jae 0x100480b2
mov ecx, edx
mov eax, 1
and ecx, 7
shl eax, cl
test byte [esi + edi + 0x50], al
jne 0x100480cb
inc edx
cmp edx, ebx
jbe 0x10048096
mov eax, dword [esp + 0x10]
add ebp, 0xf00
add eax, 0xf00
jmp 0x1004857a
mov ebx, dword [edi + 0x14]
xor esi, esi
xor edx, edx
lea eax, [edx + ebp]
movzx ecx, ax
cmp ecx, ebx
jae 0x100480fb
mov eax, dword [edi + 0x1c]
movzx eax, word [eax + ecx*2]
mov ecx, 0xffff
cmp ax, cx
je 0x100480fb
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x28]
lea eax, [eax + ecx*8]
test eax, eax
je 0x100480fb
inc esi
inc edx
cmp edx, 0x100
jb 0x100480d2
test esi, esi
jle 0x10048576
cmp esi, 1
mov ecx, str.glyph
mov eax, str.glyphs
cmovle eax, ecx
push eax
push esi
lea eax, [ebp + 0xff]
push eax
push ebp
push str.U_04X..U_04X___d__s_
push ebp
call fcn.1007e7a0
add esp, 0x18
test al, al
je 0x10048576
mov eax, dword [esp + 0x24]
mov ecx, dword [0x102062d4]
movss xmm5, dword [edi + 0x10]
movss dword [esp + 0x1c], xmm5
movss xmm2, dword [eax + 0x156c]
mov eax, dword [ecx + 0x1a18]
addss xmm2, xmm5
movss xmm3, dword [eax + 0xd0]
movss xmm4, dword [eax + 0xd4]
mov byte [eax + 0x84], 1
mov eax, dword [ecx + 0x1a18]
xor ecx, ecx
movss dword [esp + 0x38], xmm3
movss dword [esp + 0x3c], xmm4
mov dword [esp + 0x14], ecx
mov ebx, dword [eax + 0x294]
movss dword [esp + 0x20], xmm2
nop
mov eax, ecx
and eax, 0xf
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101c7d70]
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 + 0x101c7d70]
lea eax, [ecx + ebp]
addss xmm1, xmm3
movzx ecx, ax
mov dword [esp + 0x34], eax
cvtpd2ps xmm0, xmm0
movaps xmm3, xmm1
movss dword [esp + 0x40], xmm1
addss xmm3, xmm5
mulss xmm0, xmm2
addss xmm0, xmm4
movss dword [esp + 0x2c], xmm3
movaps xmm4, xmm0
movss dword [esp + 0x44], xmm0
addss xmm4, xmm5
movss dword [esp + 0x30], xmm4
cmp ecx, dword [edi + 0x14]
jb 0x10048223
xor esi, esi
jmp 0x10048241
mov eax, dword [edi + 0x1c]
movzx eax, word [eax + ecx*2]
mov ecx, 0xffff
cmp ax, cx
jne 0x10048238
xor esi, esi
jmp 0x10048241
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x28]
lea esi, [eax + ecx*8]
movss xmm5, dword [0x101c7324]
test esi, esi
mov ebp, 0x32ffffff
addss xmm1, xmm5
mov eax, 0x64ffffff
movaps xmm2, xmm0
cmovne ebp, eax
addss xmm2, xmm5
test byte [ebx + 0x24], 1
movaps xmm0, xmm3
push 0xf
mov ecx, ebx
xorps xmm3, xmm3
je 0x100482a1
subss xmm0, xmm5
movss dword [esp + 0x54], xmm1
lea eax, [esp + 0x4c]
movss dword [esp + 0x58], xmm2
push eax
lea eax, [esp + 0x58]
movss dword [esp + 0x50], xmm0
movaps xmm0, xmm4
subss xmm0, xmm5
movss dword [esp + 0x54], xmm0
jmp 0x100482d5
subss xmm0, dword [0x101c7320]
lea eax, [esp + 0x5c]
movss dword [esp + 0x64], xmm1
push eax
movss dword [esp + 0x6c], xmm2
lea eax, [esp + 0x68]
movss dword [esp + 0x60], xmm0
movaps xmm0, xmm4
subss xmm0, dword [0x101c7320]
movss dword [esp + 0x64], xmm0
push eax
call fcn.1005e510
push ecx
mov dword [esp], 0x3f800000
mov ecx, ebx
push 1
push ebp
push dword [ebx + 0x54]
push dword [ebx + 0x5c]
call fcn.1005cd50
mov ebp, dword [esp + 0x18]
mov dword [ebx + 0x54], 0
test esi, esi
je 0x100484b4
mov eax, dword [esp + 0x14]
mov ecx, edi
movss xmm2, dword [esp + 0x1c]
add eax, ebp
push eax
push dword [esp + 0x2c]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push ebx
call fcn.10064e50
mov ecx, dword [0x102062d4]
movss xmm5, dword [esp + 0x40]
movss xmm3, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x44]
mov eax, dword [ecx + 0x1a18]
movss xmm1, dword [ecx + 0x1578]
movss xmm4, dword [esp + 0x30]
movss xmm0, dword [ecx + 0x157c]
maxss xmm5, dword [eax + 0x240]
minss xmm3, dword [eax + 0x248]
maxss xmm2, dword [eax + 0x244]
minss xmm4, dword [eax + 0x24c]
subss xmm5, xmm1
addss xmm3, xmm1
movss xmm1, dword [ecx + 0xe8]
subss xmm2, xmm0
addss xmm4, xmm0
comiss xmm1, xmm5
jb 0x100484b4
movss xmm0, dword [ecx + 0xec]
comiss xmm0, xmm2
jb 0x100484b4
comiss xmm3, xmm1
jbe 0x100484b4
comiss xmm4, xmm0
jbe 0x100484b4
xor edx, edx
call fcn.10018fa0
push dword [esp + 0x34]
push str.Codepoint:_U_04X
call fcn.1006b5a0
mov eax, dword [0x102062d4]
add esp, 8
mov ecx, dword [eax + 0x1a18]
cmp byte [ecx + 0x87], 0
jne 0x100483fd
mov ecx, dword [ecx + 0x198]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.1006ec80
mov eax, dword [esi]
shr eax, 0x1f
push eax
push str.Visible:__d
call fcn.1006b5a0
movss xmm0, dword [esi + 4]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.AdvanceX:__.1f
call fcn.1006b5a0
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.1006b5a0
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.1006b5a0
add esp, 0x24
call fcn.10016050
mov ecx, dword [esp + 0x14]
movss xmm2, dword [esp + 0x20]
inc ecx
movss xmm5, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x38]
movss xmm4, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
cmp ecx, 0x100
jb 0x100481a0
mov ecx, dword [0x102062d4]
movaps xmm4, xmm2
mulss xmm4, dword [0x101c746c]
mov eax, dword [ecx + 0x1a18]
movss dword [esp + 0x68], xmm4
movss dword [esp + 0x6c], xmm4
mov byte [eax + 0x84], 1
mov eax, dword [ecx + 0x1a18]
cmp byte [eax + 0x87], 0
jne 0x10048571
movss xmm0, dword [eax + 0xd4]
lea ecx, [esp + 0x68]
movss xmm2, dword [eax + 0xd0]
movaps xmm1, xmm0
addss xmm1, xmm4
movss dword [esp + 0x70], xmm2
movaps xmm3, xmm2
movss dword [esp + 0x74], xmm0
addss xmm3, xmm4
movss dword [esp + 0x7c], xmm1
movss xmm1, dword [0x101c7564]
movss dword [esp + 0x78], xmm3
call fcn.100178f0
push 0
xor edx, edx
lea ecx, [esp + 0x74]
call fcn.10017a50
add esp, 4
call fcn.1007f7c0
mov eax, dword [esp + 0x10]
add ebp, 0x100
add eax, 0x100
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], eax
cmp ebp, 0xffff
jbe 0x10048080
call fcn.1007f7c0
call fcn.1007f7c0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret