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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
test ebx, ebx
je 0x466610
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x4663d1
mov ecx, dword [eax + 0xc]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [ecx + 0xc]
mov edx, eax
mov eax, dword [ebx + 0x58]
test eax, eax
je 0x466610
mov esi, dword [ebx + 0x54]
test esi, esi
je 0x466610
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x4663fb
test byte [eax + 4], 1
jne 0x466644
mov dword [esi + 0x58], 0
lea ecx, [esi + 0x1c]
lea eax, [esi + 0x18]
mov dword [esi + 0x18], 0
mov dword [esi + 0x34], 0
xor ebp, ebp
and ecx, 0xfffffffc
sub eax, ecx
add eax, 0x20
and eax, 0xfffffffc
mov dword [ecx + ebp], 0
add ebp, 4
cmp ebp, eax
jb 0x466423
lea eax, [esi + 0x6c]
mov dword [esi + 0x6c], 0
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0
mov dword [esi + 0x78], 0
mov ebp, edi
mov dword [esi + 0x7c], 0
mov byte [esi + 0x5e], 0
or ebp, 0x801
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x60]
test edi, 0x400
cmovne edi, ebp
mov dword [esi + 0x50], 0
mov dword [esi + 0x4c], 0
test edi, 1
mov dword [esi + 0x54], 0
mov dword [esi + 0x64], 0
mov ecx, dword [eax + 4]
mov dword [esi + 0x68], 0
mov dword [esi + 0x80], 0
mov dword [esi + 0x84], 0
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x98], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x90], 0
mov dword [esi + 0x94], 0
mov dword [esp + 0x20], eax
mov ecx, dword [ecx + 0xa0]
je 0x46650c
and edi, 0xfffffffb
or edi, 0xa
test ecx, ecx
je 0x466531
test edi, 0x8002
jne 0x466531
mov eax, dword [esp + 0x20]
mov ebp, dword [eax]
mov eax, dword [ebp]
and eax, 0x300
cmp eax, 0x100
je 0x466741
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], edi
mov dword [esp + 8], edx
mov edx, dword [ebx + 0x58]
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 0x48]
test eax, eax
mov ebp, eax
jne 0x466620
cmp dword [esi + 0x48], 0x6f75746c
je 0x4668ea
mov eax, edi
and eax, 0x800
mov dword [esp + 0x24], eax
mov eax, edi
and eax, 0x10
je 0x466630
mov eax, dword [esi + 0x34]
xor edx, edx
test edi, 0x2000
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], edx
jne 0x466597
test byte [ebx + 8], 1
jne 0x466680
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4665b4
mov ebx, dword [ebx + 0x80]
mov eax, dword [ebx + 0x18]
test eax, eax
mov dword [esp + 0x20], eax
jne 0x4666d0
test ebp, ebp
jne 0x466620
mov eax, dword [esi + 0x48]
cmp eax, 0x62697473
je 0x466640
cmp eax, 0x636f6d70
je 0x466640
test edi, 4
je 0x466640
mov eax, edi
sar eax, 0x10
and eax, 0xf
je 0x466893
mov edi, eax
mov eax, dword [esi + 4]
test eax, eax
je 0x4668e0
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], esi
mov eax, dword [eax + 0x60]
mov eax, dword [eax + 4]
mov dword [esp + 0x50], eax
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
jmp sym._FT_Render_Glyph_Internal
mov eax, 0x23
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
add esp, 0x3c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esi + 0x28]
jmp 0x46657f
xor eax, eax
jmp 0x466615
mov eax, dword [esi + 0x58]
mov dword [esp + 0x20], edx
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x64]
mov dword [esp], eax
call sym._ft_mem_free
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x58], 0
mov edx, dword [esp + 0x20]
and dword [eax + 4], 0xfffffffe
jmp 0x466402
mov edx, dword [ebx + 0x58]
mov dword [esp + 8], 0x40
mov eax, dword [edx + 0x10]
mov dword [esp + 0x20], edx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x38]
mov dword [esp], eax
call sym._FT_MulDiv
mov edx, dword [esp + 0x20]
mov dword [esi + 0x38], eax
mov dword [esp + 8], 0x40
mov eax, dword [edx + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x3c]
mov dword [esp], eax
call sym._FT_MulDiv
mov dword [esi + 0x3c], eax
jmp 0x466597
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x48]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x9c]
test edx, edx
je 0x4666eb
cmp ecx, dword [edx + 0x10]
je 0x466713
mov eax, dword [eax + 0x94]
test eax, eax
jne 0x46670b
jmp 0x4668a0
mov eax, dword [eax + 4]
test eax, eax
je 0x4668a0
mov edx, dword [eax + 8]
cmp ecx, dword [edx + 0x10]
jne 0x466700
mov eax, dword [edx + 0xc]
lea ecx, [ebx + 0x10]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edx
mov dword [esp + 0xc], ecx
call dword [eax + 0x2c]
mov ebp, eax
lea eax, [esi + 0x40]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._FT_Vector_Transform
jmp 0x4665b4
mov eax, dword [ebx + 8]
test ah, 0x20
mov dword [esp + 0x28], eax
jne 0x466531
mov eax, edi
and eax, 0x800
mov dword [esp + 0x24], eax
jne 0x466780
mov eax, dword [ebx + 0x80]
cmp dword [eax + 8], 0
jne 0x46691d
mov eax, dword [eax]
test eax, eax
je 0x466531
nop
lea esi, [esi]
test edi, 0x20
jne 0x4667ec
mov ebp, dword [ebp]
and ebp, 0x400
je 0x4667ec
mov ebp, edi
sar ebp, 0x10
and ebp, 0xf
cmp ebp, 1
je 0x4667ec
mov ebp, dword [ebx + 0x80]
cmp byte [ebp + 0x34], 0
jne 0x4667ec
test byte [esp + 0x28], 8
je 0x466531
cmp dword [ebx + 0x2b8], 0
je 0x466531
cmp word [ebx + 0x11e], 0
jne 0x466531
cmp dword [ebx + 0x274], 0
jne 0x466531
cmp dword [ebx + 0x27c], 0
jne 0x466531
test byte [esp + 0x28], 2
je 0x4667fb
test edi, 8
je 0x466843
mov eax, dword [ebx + 0x80]
mov ebp, dword [eax + 0x18]
mov dword [esp + 0x20], eax
mov dword [eax + 0x18], 0
mov eax, dword [ecx]
mov dword [esp + 0x28], ebp
mov eax, dword [eax + 0x14]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], edx
mov edx, dword [ebx + 0x58]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
call dword [eax + 0xc]
mov ecx, dword [esp + 0x28]
mov ebp, eax
mov eax, dword [esp + 0x20]
mov dword [eax + 0x18], ecx
jmp 0x46656f
mov eax, dword [esp + 0x20]
mov ebp, edi
mov dword [esp + 0x28], ecx
or ebp, 0x4000
mov dword [esp + 0x20], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov ebp, dword [ebx + 0x58]
mov dword [esp], esi
mov dword [esp + 4], ebp
call dword [eax + 0x48]
test eax, eax
mov ebp, eax
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
jne 0x4667fb
cmp dword [esi + 0x48], 0x62697473
jne 0x4667fb
jmp 0x46656f
shr edi, 0xb
and edi, 2
jmp 0x4665e1
cmp ecx, 0x6f75746c
jne 0x46672d
test byte [esp + 0x20], 1
jne 0x46692c
test byte [esp + 0x20], 2
je 0x46672d
mov eax, dword [ebx + 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sym._FT_Outline_Translate
jmp 0x46672d
mov eax, 6
jmp 0x466615
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sym._FT_Outline_Check
test eax, eax
mov ebp, eax
jne 0x466620
test edi, 2
jne 0x466564
mov edx, edi
mov eax, esi
and edx, 0x10
call sym._ft_glyphslot_grid_fit_metrics
jmp 0x466564
mov eax, dword [eax]
test eax, eax
je 0x466780
jmp 0x466531
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._FT_Outline_Transform
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x20], eax
jmp 0x4668b3