Function at 0x47d380
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xac
mov eax, dword [esp + 0xc4]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + 4]
mov dword [esp + 4], 0x4f7c49
mov dword [esp], ebx
call sym._FT_Get_Module_Interface
test eax, eax
mov esi, eax
je 0x47d480
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], 0x4f7c57
mov eax, dword [eax + 0x60]
mov dword [esp], eax
call sym._ft_module_get_service
mov dword [esp + 4], 0x4f7c40
mov dword [esp], ebx
mov dword [esp + 0x28], eax
call sym._FT_Get_Module_Interface
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._FT_Stream_Seek
test eax, eax
mov dword [esp + 0x54], eax
je 0x47d410
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call dword [esi + 4]
test eax, eax
mov dword [esp + 0x54], eax
jne 0x47d490
mov ecx, dword [esp + 0xc4]
cmp dword [ecx + 0x94], 0x4f54544f
je 0x47d830
add esp, 0xac
mov eax, 2
pop ebx
pop esi
pop edi
pop ebp
ret
add esp, 0xac
mov eax, 0xb
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._FT_Stream_Seek
test eax, eax
mov dword [esp + 0x54], eax
jne 0x47d402
mov byte [esp + 0x49], 1
mov byte [esp + 0x4a], 0
mov byte [esp + 0x48], 1
mov eax, dword [esp + 0xc4]
mov eax, dword [eax + 0x64]
mov dword [esp + 4], 0xba4
mov ecx, eax
mov dword [esp + 0x30], eax
lea eax, [esp + 0x54]
mov dword [esp], ecx
mov dword [esp + 8], eax
call sym._ft_mem_alloc
mov ebp, eax
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x47d402
mov ecx, dword [esp + 0xc4]
lea edi, [ebp + 4]
and edi, 0xfffffffc
mov dword [ecx + 0x290], ebp
mov ecx, dword [esp + 0xc0]
mov esi, dword [ecx + 0x1c]
mov ecx, ebp
mov dword [ebp], 0
sub ecx, edi
mov dword [ebp + 0xba0], 0
add ecx, 0xba4
shr ecx, 2
rep stosd dword es:[edi], eax
mov dword [esp + eax + 0x60], 0
add eax, 4
cmp eax, 0x20
jb 0x47d535
mov eax, dword [esp + 0xc0]
mov dword [ebp + 4], esi
mov dword [ebp], eax
mov dword [esp], eax
call sym._FT_Stream_Pos
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 8], ebp
mov dword [esp + 4], 0x4f7d4c
mov dword [esp], eax
call sym._FT_Stream_ReadFields
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47d598
cmp byte [ebp + 0x10], 1
je 0x47df88
mov dword [esp + 0x58], 2
mov eax, 2
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x47d402
mov esi, dword [esp + 0x7c]
mov ebx, dword [ecx + 0x1c]
test esi, esi
je 0x47d5bf
lea edx, [esp + 0x7c]
mov dword [esp], ecx
mov dword [esp + 4], edx
call sym._FT_Stream_ReleaseFrame
mov eax, dword [esp + 0x78]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._ft_mem_free
xor eax, eax
mov dword [esp + eax + 0x60], 0
add eax, 4
cmp eax, 0x20
jb 0x47d5d1
mov eax, dword [esp + 0x58]
test eax, eax
mov dword [esp + 0x54], eax
jne 0x47d402
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xc8]
mov dword [ebp + 0xb88], eax
mov eax, dword [esp + 0xc4]
test ecx, ecx
mov dword [ebp + 0xb8c], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0xc4]
mov dword [edx + 0x10], eax
jne 0x47d637
cmp dword [ebp + 0x5b0], 0xffff
je 0x47d480
cmp byte [ebp + 0x56c], 0
jne 0x47d65d
cmp byte [esp + 0x48], 0
mov eax, 0x3e8
jne 0x47d657
mov eax, dword [esp + 0xc4]
movzx eax, word [eax + 0x44]
mov dword [ebp + 0x570], eax
mov eax, dword [ebp + 0x568]
mov ebx, dword [ebp + 0x568]
sar eax, 0x1f
xor ebx, eax
sub ebx, eax
cmp ebx, 0x10000
jne 0x47dee1
mov eax, dword [ebp + 0x578]
mov esi, dword [ebp + 0x768]
sar eax, 0x10
sar dword [ebp + 0x574], 0x10
mov dword [ebp + 0x578], eax
test esi, esi
je 0x47d930
lea eax, [ebp + 0x55c]
mov dword [esp + 0x28], eax
jmp 0x47d6c5
mov eax, dword [ebx + 0x4c]
sar eax, 0x10
sar dword [ebx + 0x48], 0x10
test esi, esi
mov dword [ebx + 0x4c], eax
je 0x47d930
sub esi, 1
mov ebx, dword [ebp + esi*4 + 0x76c]
cmp byte [ebx + 0x40], 0
je 0x47d7e4
cmp byte [ebp + 0x56c], 0
je 0x47d74b
mov edx, dword [ebp + 0x570]
mov edi, 1
cmp edx, 1
jbe 0x47d701
mov ecx, dword [ebx + 0x44]
cmp ecx, 1
jbe 0x47d701
cmp ecx, edx
cmovbe edx, ecx
mov edi, edx
mov eax, dword [esp + 0x28]
lea edx, [ebx + 0x30]
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._FT_Matrix_Multiply_Scaled
mov eax, dword [esp + 0x28]
lea edx, [ebx + 0x48]
mov dword [esp + 8], edi
mov dword [esp], edx
mov dword [esp + 4], eax
call sym._FT_Vector_Transform_Scaled
mov dword [esp + 8], edi
mov eax, dword [ebp + 0x570]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x44]
mov dword [esp], eax
call sym._FT_MulDiv
mov dword [ebx + 0x44], eax
mov eax, dword [ebx + 0x3c]
mov edi, dword [ebx + 0x3c]
sar eax, 0x1f
xor edi, eax
sub edi, eax
cmp edi, 0x10000
je 0x47d6b0
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x44]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebx + 0x44], eax
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x30]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebx + 0x30], eax
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x38]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebx + 0x38], eax
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x34]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebx + 0x34], eax
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x3c]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebx + 0x3c], eax
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x48]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebx + 0x48], eax
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x4c]
mov dword [esp], eax
call sym._FT_DivFix
jmp 0x47d6b3
mov eax, dword [ebp + 0x55c]
mov edx, dword [ebp + 0x578]
mov dword [ebx + 0x30], eax
mov eax, dword [ebp + 0x560]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp + 0x564]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp + 0x568]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp + 0x574]
mov dword [ebx + 0x4c], edx
mov dword [ebx + 0x48], eax
mov eax, dword [ebp + 0x570]
mov dword [ebx + 0x44], eax
jmp 0x47d74b
mov edi, dword [esp + 0xc8]
test edi, edi
js 0x47d402
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x68656164
mov dword [esp], ecx
mov dword [esp + 8], eax
call dword [ecx + 0x1fc]
test eax, eax
mov dword [esp + 0x54], eax
jne 0x47d900
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call dword [esi + 8]
test eax, eax
mov dword [esp + 0x54], eax
jne 0x47d402
mov byte [esp + 0x49], 0
mov byte [esp + 0x48], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x43464620
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call dword [eax + 0x1fc]
test eax, eax
mov dword [esp + 0x54], eax
jne 0x47d402
mov byte [esp + 0x4a], 1
jmp 0x47d4c2
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call dword [esi + 0x20]
test eax, eax
mov dword [esp + 0x54], eax
jne 0x47d402
mov byte [esp + 0x49], 1
mov byte [esp + 0x48], 1
jmp 0x47d8be
cmp byte [esp + 0x48], 0
je 0x47ddbc
cmp dword [ebp + 0x5b0], 0xffff
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0xc4]
mov dword [ecx], eax
je 0x47e1f7
mov eax, dword [ebp + 0x490]
add eax, 1
mov ecx, dword [esp + 0xc4]
movsx ebx, word [ebp + 0x586]
mov edx, dword [esp + 0xc4]
mov dword [ecx + 0x10], eax
movsx eax, word [ebp + 0x582]
mov dword [ecx + 0x38], ebx
mov dword [ecx + 0x34], eax
mov eax, dword [ebp + 0x588]
add eax, 0xffff
sar eax, 0x10
mov dword [ecx + 0x3c], eax
mov eax, dword [ebp + 0x58c]
lea ecx, [eax + 0xffff]
mov eax, dword [esp + 0xc4]
sar ecx, 0x10
mov dword [eax + 0x40], ecx
mov eax, dword [ebp + 0x570]
mov word [edx + 0x46], cx
mov word [edx + 0x48], bx
mov word [edx + 0x44], ax
movzx eax, ax
mov edx, 0x66666667
lea eax, [eax + eax*2]
shl eax, 2
imul edx
mov eax, ecx
sub eax, ebx
shr edx, 2
movsx esi, dx
cmp esi, eax
jl 0x47e19d
mov eax, dword [esp + 0xc4]
mov word [eax + 0x4a], dx
mov ecx, eax
movsx eax, word [ebp + 0x54e]
mov edx, dword [esp + 0xc8]
mov word [ecx + 0x50], ax
movsx eax, word [ebp + 0x552]
mov word [ecx + 0x52], ax
mov eax, ebp
call sym._cff_index_get_name
mov ecx, dword [esp + 0xc4]
test eax, eax
mov dword [ecx + 0x14], eax
je 0x47e21c
mov eax, dword [ebp + 0x538]
cmp eax, 0xffff
je 0x47e27d
cmp eax, 0x186
jbe 0x47e1b1
sub eax, 0x187
xor edi, edi
cmp eax, dword [ebp + 0x520]
jae 0x47da5a
mov edx, dword [ebp + 0x524]
mov edi, dword [edx + eax*4]
mov eax, dword [esp + 0xc4]
mov ebx, dword [eax + 0x14]
mov dword [esp], ebx
call sym._strlen
lea ecx, [ebx + 7]
add eax, 1
mov dword [esp + 0x28], ecx
cmp eax, 6
jle 0x47da85
cmp byte [ebx + 6], 0x2b
je 0x47dd30
mov edx, dword [ebp + 0x53c]
test edx, edx
jne 0x47e202
test edi, edi
jne 0x47dc2b
lea eax, [esp + 0x80]
mov dword [esp + 0x34], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], 0x4f7cc3
mov dword [esp], eax
call sym._ft_mem_strdup
mov ecx, dword [esp + 0xc4]
mov dword [ecx + 0x18], eax
movzx ecx, byte [esp + 0x4a]
cmp cl, 1
sbb eax, eax
and eax, 0xfffffff8
add eax, 0x81d
cmp cl, 1
mov ecx, dword [esp + 0xc4]
sbb edx, edx
and edx, 0xfffffff8
add edx, 0x819
cmp byte [ebp + 0x544], 0
cmove eax, edx
or dword [ecx + 8], eax
mov ecx, dword [ebp + 0x548]
mov eax, dword [ebp + 0x540]
xor ebx, ebx
test ecx, ecx
setne bl
cmp eax, 0xffff
je 0x47db5b
cmp eax, 0x186
jbe 0x47e184
sub eax, 0x187
cmp eax, dword [ebp + 0x520]
jae 0x47db5b
mov edx, dword [ebp + 0x524]
mov eax, dword [edx + eax*4]
test eax, eax
je 0x47db5b
mov edi, 0x4f7cb8
mov ecx, 5
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x47db95
mov edi, 0x4f7cbd
mov ecx, 6
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x47db95
mov eax, dword [esp + 0xc4]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x47db98
mov edi, 0x4f7cb8
mov ecx, 4
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x47db95
mov dword [esp + 8], 5
mov dword [esp + 4], 0x4f7cbd
mov dword [esp], eax
call sym._strncmp
test eax, eax
jne 0x47db98
or ebx, 2
mov esi, dword [ebp + 0x5b0]
mov eax, dword [esp + 0xc4]
cmp esi, 0xffff
mov dword [eax + 0xc], ebx
je 0x47e16c
mov ebx, dword [eax + 0x24]
or dword [eax + 8], 0x1000
test ebx, ebx
je 0x47dc1c
mov ecx, dword [eax + 0x28]
mov eax, dword [ecx]
cmp dword [eax + 8], 0x10003
je 0x47de6f
cmp word [eax + 8], 0
je 0x47de6f
xor eax, eax
jmp 0x47dbfe
mov edx, dword [ecx + eax*4]
cmp dword [edx + 8], 0x10003
je 0x47de6f
cmp word [edx + 8], 0
je 0x47de6f
add eax, 1
cmp eax, ebx
jb 0x47dbe3
cmp esi, 0xffff
je 0x47dde0
cmp byte [esp + 0x49], 0
je 0x47dde0
mov eax, dword [esp + 0x54]
jmp 0x47d402
add ebx, 1
add edi, 1
movzx eax, byte [edi]
test al, al
je 0x47da9b
movzx edx, byte [ebx]
cmp al, dl
je 0x47dc25
cmp al, 0x2d
je 0x47dc28
cmp al, 0x20
je 0x47dc28
cmp dl, 0x2d
je 0x47e1ef
cmp dl, 0x20
je 0x47e1ef
test dl, dl
jne 0x47da9b
lea eax, [esp + 0x80]
mov dword [esp + 4], edi
mov byte [esp + 0x28], dl
or ebx, 0xffffffff
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sym._ft_mem_strdup
mov esi, eax
mov eax, dword [esp + 0xc4]
movzx edx, byte [esp + 0x28]
mov ecx, ebx
mov edi, dword [eax + 0x14]
mov eax, edx
mov dword [esp + 0x2c], edi
repne scasb al, byte es:[edi]
mov edi, esi
not ecx
lea eax, [ecx - 1]
mov ecx, ebx
mov dword [esp + 0x28], eax
mov eax, edx
repne scasb al, byte es:[edi]
mov edx, ecx
not edx
lea eax, [edx - 1]
xor edx, edx
cmp dword [esp + 0x28], eax
jle 0x47dd19
mov ebx, dword [esp + 0x2c]
lea edi, [esi + eax]
add ebx, dword [esp + 0x28]
jmp 0x47dcd6
movzx ecx, byte [ebx + edx - 1]
sub edx, 1
cmp cl, byte [edi + edx]
jne 0x47dd19
mov ecx, 1
sub ecx, edx
cmp ecx, eax
jle 0x47dcc9
mov ecx, dword [esp + 0x28]
sub ecx, eax
mov eax, ecx
sub eax, 1
jmp 0x47dd15
mov ecx, dword [esp + 0x2c]
movzx edx, byte [ecx + eax]
cmp dl, 0x5f
sete bl
cmp dl, 0x20
sete cl
or bl, cl
jne 0x47dd12
sub edx, 0x2b
and dl, 0xfd
jne 0x47e6ef
sub eax, 1
test eax, eax
jg 0x47dcee
mov eax, dword [esp + 0xc4]
mov dword [eax + 0x18], esi
jmp 0x47dac8
movzx ecx, byte [ebx + 1]
xor edx, edx
movzx esi, byte [ebx]
sub ecx, 0x41
cmp cl, 0x19
ja 0x47dd4a
lea edx, [esi - 0x41]
cmp dl, 0x19
setbe dl
movzx ecx, byte [ebx + 2]
sub ecx, 0x41
cmp cl, 0x1a
mov ecx, 0
cmovae edx, ecx
movzx ecx, byte [ebx + 3]
sub ecx, 0x41
cmp cl, 0x19
ja 0x47da85
movzx ecx, byte [ebx + 4]
sub ecx, 0x41
cmp cl, 0x19
ja 0x47da85
and edx, 1
je 0x47da85
movzx ecx, byte [ebx + 5]
lea edx, [ecx - 0x41]
cmp dl, 0x19
ja 0x47da85
cmp eax, 7
je 0x47e213
lea esi, [eax - 7]
mov eax, dword [esp + 0x28]
mov dword [esp], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], eax
call sym._memmove
mov eax, esi
jmp 0x47da76
mov esi, dword [ebp + 0x5b0]
cmp esi, 0xffff
je 0x47e16c
mov eax, dword [esp + 0xc4]
mov ebx, dword [eax + 0x24]
test ebx, ebx
jne 0x47dbc2
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp], 0x4f7da0
mov word [esp + 0x88], 3
mov word [esp + 0x8a], 1
mov dword [esp + 0x80], eax
lea eax, [esp + 0x80]
mov dword [esp + 0x84], 0x756e6963
mov dword [esp + 8], eax
call sym._FT_CMap_New
test eax, eax
je 0x47de45
cmp al, 0xa3
je 0x47de45
mov dword [esp + 0x54], eax
jmp 0x47dc1c
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x54], 0
cmp dword [eax + 0x5c], 0
jne 0x47de6f
cmp dword [eax + 0x24], ebx
je 0x47de6f
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0xc4]
mov eax, dword [eax + ebx*4]
mov dword [ecx + 0x5c], eax
mov edx, dword [ebp + 0x7c]
test edx, edx
je 0x47dc1c
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x80], eax
mov eax, 7
mov word [esp + 0x88], ax
mov eax, dword [ebp + 0x78]
test eax, eax
jne 0x47e1cc
mov word [esp + 0x8a], 0
mov dword [esp + 0x84], 0x41444f42
lea eax, [esp + 0x80]
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp], 0x4f7de0
mov dword [esp + 8], eax
call sym._FT_CMap_New
jmp 0x47d402
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x570]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebp + 0x570], eax
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x55c]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebp + 0x55c], eax
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x564]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebp + 0x564], eax
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x560]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebp + 0x560], eax
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x568]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebp + 0x568], eax
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x574]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebp + 0x574], eax
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x578]
mov dword [esp], eax
call sym._FT_DivFix
jmp 0x47d682
movzx eax, byte [ebp + 0x12]
cmp al, 3
jbe 0x47d58b
cmp byte [ebp + 0x13], 4
ja 0x47d58b
sub eax, 4
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_Skip
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47d598
mov edx, dword [esp + 0xc0]
lea eax, [ebp + 0x14]
xor ecx, ecx
call sym._cff_index_init
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47d598
lea edi, [ebp + 0x4b8]
mov edx, dword [esp + 0xc0]
xor ecx, ecx
mov eax, edi
call sym._cff_index_init
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47d598
mov edx, dword [esp + 0xc0]
lea eax, [esp + 0x60]
mov ecx, 1
call sym._cff_index_init
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47d598
mov edx, dword [esp + 0xc0]
lea eax, [ebp + 0x54]
mov ecx, 1
mov dword [esp + 0x3c], eax
call sym._cff_index_init
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47d598
lea ecx, [ebp + 0x528]
lea edx, [ebp + 0x524]
lea eax, [esp + 0x60]
call sym._cff_index_get_pointers
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47d598
cmp byte [esp + 0x48], 0
mov eax, dword [esp + 0x68]
mov dword [ebp + 0x520], eax
je 0x47e296
mov eax, dword [ebp + 0x1c]
cmp dword [esp + 0xc8], eax
jge 0x47e284
mov dword [ebp + 8], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x40], eax
cmp dword [esp + 0xc8], 0
js 0x47e15b
mov ecx, dword [esp + 0x38]
lea eax, [ebp + 0x52c]
mov dword [esp + 8], ebx
mov edx, edi
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x40]
call sym._cff_subfont_load
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47d598
mov eax, dword [esp + 0x38]
add eax, dword [ebp + 0x59c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_Seek
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47d598
mov edx, dword [esp + 0xc0]
lea eax, [ebp + 0x498]
xor ecx, ecx
call sym._cff_index_init
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47d598
cmp dword [ebp + 0x5b0], 0xffff
je 0x47e561
mov eax, dword [esp + 0x38]
add eax, dword [ebp + 0x5d0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_Seek
test eax, eax
mov dword [esp + 0x58], eax
je 0x47e2b2
mov ecx, dword [esp + 0x60]
test ecx, ecx
jne 0x47d5a4
jmp 0x47d5e1
mov eax, dword [esp + 0xc4]
mov esi, 0xffff
or dword [eax + 8], 0x200
jmp 0x47ddce
mov edx, dword [ebp + 0xb8c]
test edx, edx
je 0x47db5b
mov dword [esp], eax
call dword [edx + 0x14]
jmp 0x47db37
mov eax, dword [esp + 0xc4]
sub ecx, ebx
mov word [eax + 0x4a], cx
mov ecx, eax
jmp 0x47d9f0
mov edx, dword [ebp + 0xb8c]
test edx, edx
je 0x47e27d
mov dword [esp], eax
call dword [edx + 0x14]
mov edi, eax
jmp 0x47da5a
sub eax, 1
je 0x47e263
mov word [esp + 0x8a], 2
mov dword [esp + 0x84], 0x41444243
jmp 0x47deb5
add ebx, 1
jmp 0x47dc2e
mov eax, dword [ebp + 0x4a0]
jmp 0x47d960
mov eax, ebp
call sym._cff_index_get_sid_string
test eax, eax
cmovne ebx, eax
jmp 0x47da93
xor esi, esi
mov eax, esi
jmp 0x47da76
mov edx, dword [ebp + 0x5d8]
mov eax, ebp
call sym._cff_index_get_sid_string
test eax, eax
je 0x47da9b
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x80]
mov dword [esp + 8], ecx
mov dword [esp + 0x34], ecx
mov dword [esp], eax
call sym._ft_mem_strdup
mov ecx, dword [esp + 0xc4]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x34]
jmp 0x47daa6
mov word [esp + 0x8a], 1
mov dword [esp + 0x84], 0x41444245
jmp 0x47deb5
xor edi, edi
jmp 0x47da5a
mov dword [esp + 0x58], 6
mov eax, 6
jmp 0x47d598
cmp dword [ebp + 0x1c], 1
jbe 0x47e6e2
mov dword [esp + 0x58], 3
mov eax, 3
jmp 0x47d598
mov edx, dword [esp + 0xc0]
lea eax, [esp + 0x80]
xor ecx, ecx
mov dword [esp + 0x34], eax
call sym._cff_index_init
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47e15b
mov eax, dword [esp + 0x88]
cmp eax, 0x100
jbe 0x47e50a
mov eax, dword [esp + 0x80]
test eax, eax
je 0x47e33f
cmp dword [esp + 0x9c], 0
mov ebx, dword [eax + 0x1c]
je 0x47e314
lea edx, [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._FT_Stream_ReleaseFrame
mov eax, dword [esp + 0x98]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._ft_mem_free
mov edi, dword [esp + 0x34]
mov ecx, 8
xor eax, eax
rep stosd dword es:[edi], eax
cmp dword [esp + 0x58], 0
jne 0x47e15b
cmp dword [ebp + 0x59c], 0
je 0x47e2a0
mov eax, dword [ebp + 0x4a0]
lea edx, [ebp + 0x51c]
xor ecx, ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x3c]
call sym._cff_index_get_pointers
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47d598
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x47e46c
cmp dword [ebp + 0x5b0], 0xffff
lea ecx, [ebp + 0x480]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0xc0]
setne al
and al, byte [esp + 0x49]
mov ecx, dword [ecx + 0x1c]
mov byte [esp + 0x4b], al
mov eax, dword [ebp + 0x594]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x80], 0
cmp eax, 2
ja 0x47eb2f
cmp eax, 1
mov dword [ebp + 0x484], eax
je 0x47eaa4
cmp eax, 2
je 0x47ed43
cmp ebx, 0xe5
jbe 0x47e60f
mov dword [esp + 0x80], 3
mov eax, dword [ebp + 0x488]
mov esi, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._ft_mem_free
mov eax, dword [ebp + 0x48c]
mov dword [ebp + 0x488], 0
mov dword [esp], esi
mov dword [esp + 4], eax
call sym._ft_mem_free
mov dword [ebp + 0x480], 0
mov eax, dword [esp + 0x80]
mov dword [ebp + 0x48c], 0
mov dword [ebp + 0x484], 0
mov dword [ebp + 0x488], 0
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47d598
cmp dword [ebp + 0x5b0], 0xffff
je 0x47e482
mov edx, dword [esp + 0x40]
mov eax, ebp
call sym._cff_index_get_name
mov dword [ebp + 0x518], eax
jmp 0x47e15b
xor edx, edx
cmp dword [ebp + 0x488], 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x598]
mov dword [esp + 0x80], 0
mov dword [esp + 0x3c], ecx
je 0x47e6fd
mov word [ebp + edx*2 + 0x80], 0
mov word [ebp + edx*2 + 0x280], 0
add edx, 1
cmp edx, 0x100
jne 0x47e4a9
cmp eax, 1
jbe 0x47e900
add eax, dword [esp + 0x38]
mov dword [ebp + 0x78], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_Seek
test eax, eax
mov dword [esp + 0x80], eax
je 0x47e70d
mov eax, dword [esp + 0x80]
mov dword [esp + 0x58], eax
jmp 0x47e15b
lea edx, [esp + 0x58]
mov dword [ebp + 0x768], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 0x14], edx
mov dword [esp + 4], 0x23c
mov dword [esp], esi
call sym._ft_mem_realloc
cmp dword [esp + 0x58], 0
jne 0x47e5b0
mov ecx, dword [esp + 0x88]
xor edx, edx
cmp edx, ecx
je 0x47e570
mov dword [ebp + edx*4 + 0x76c], eax
add edx, 1
add eax, 0x23c
jmp 0x47e54c
mov dword [ebp + 0x768], 0
jmp 0x47e33f
xor esi, esi
cmp esi, dword [esp + 0x88]
jae 0x47e5c4
mov ecx, dword [esp + 0x38]
mov eax, dword [ebp + esi*4 + 0x76c]
mov edx, dword [esp + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp], ecx
mov ecx, esi
call sym._cff_subfont_load
test eax, eax
mov dword [esp + 0x58], eax
jne 0x47e5b0
add esi, 1
jmp 0x47e572
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x47e2f4
jmp 0x47e15b
mov eax, dword [esp + 0x38]
add eax, dword [ebp + 0x5d4]
mov ebx, dword [ebp + 0x4a0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_Seek
test eax, eax
mov dword [esp + 0x5c], eax
je 0x47eda4
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x47e2f4
jmp 0x47e334
lea eax, [esp + 0x80]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym._ft_mem_realloc
cmp dword [esp + 0x80], 0
mov dword [ebp + 0x488], eax
jne 0x47e3f3
lea edx, [ebx + ebx]
cmp edx, 4
jae 0x47e6b5
test edx, edx
je 0x47e67d
movzx ecx, byte [0x4f8480]
test dl, 2
mov byte [eax], cl
je 0x47e67d
movzx ecx, word [ebx + ebx + 0x4f847e]
mov word [eax + edx - 2], cx
cmp byte [esp + 0x4b], 0
je 0x47e69a
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
mov edx, ebx
call sym._cff_charset_compute_cids
mov dword [esp + 0x80], eax
cmp dword [esp + 0x80], 0
jne 0x47e3f3
mov dword [esp + 0x58], 0
jmp 0x47e460
mov ecx, dword [0x4f8480]
lea edi, [eax + 4]
mov esi, 0x4f8480
and edi, 0xfffffffc
mov dword [eax], ecx
mov ecx, dword [ebx + ebx + 0x4f847c]
mov dword [edx + eax - 4], ecx
sub eax, edi
sub esi, eax
add eax, edx
shr eax, 2
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x47e67d
mov dword [esp + 0x40], 0
jmp 0x47e098
mov ecx, dword [esp + 0x2c]
mov byte [ecx + eax + 1], 0
jmp 0x47dd19
mov dword [esp + 0x80], 3
jmp 0x47e4fa
lea eax, [esp + 0x80]
mov dword [esp + 0x34], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_ReadChar
movzx eax, al
mov dword [ebp + 0x74], eax
cmp dword [esp + 0x80], 0
jne 0x47e4fa
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_ReadChar
cmp dword [esp + 0x80], 0
movzx eax, al
mov dword [esp + 0x38], eax
jne 0x47e4fa
mov eax, dword [ebp + 0x74]
and eax, 0x7f
je 0x47e87d
sub eax, 1
jne 0x47e6fd
mov dword [ebp + 0x7c], 0
mov edi, 1
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x44]
cmp dword [esp + 0x38], ecx
jbe 0x47e84b
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._FT_Stream_ReadChar
cmp dword [esp + 0x80], 0
movzx ebx, al
jne 0x47e4fa
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._FT_Stream_ReadChar
cmp dword [esp + 0x80], 0
movzx edx, al
jne 0x47e4fa
add edx, 1
cmp edx, dword [ebp + 0x7c]
jbe 0x47e7f5
mov dword [ebp + 0x7c], edx
lea ecx, [edi + edi]
lea eax, [ebx + ebx]
sub ecx, ebp
lea esi, [ebp + eax]
sub ecx, eax
mov eax, edi
lea edi, [edx + edi]
sub ebx, eax
cmp eax, edi
jae 0x47e841
lea edx, [ebx + eax]
cmp edx, 0xff
ja 0x47e839
cmp dword [esp + 0x3c], eax
jbe 0x47e839
mov edx, dword [ebp + 0x488]
mov word [esi + 0x280], ax
add edx, esi
movzx edx, word [edx + ecx]
mov word [esi + 0x80], dx
add eax, 1
add esi, 2
jmp 0x47e80a
add dword [esp + 0x44], 1
jmp 0x47e790
cmp dword [ebp + 0x7c], 0x100
jbe 0x47e85b
mov dword [ebp + 0x7c], 0x100
test byte [ebp + 0x74], 0x80
jne 0x47e9b7
mov eax, dword [esp + 0x80]
test eax, eax
mov dword [esp + 0x58], eax
je 0x47e46c
jmp 0x47d598
mov ecx, dword [esp + 0x38]
mov eax, ecx
add eax, 1
mov dword [ebp + 0x7c], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], ecx
mov dword [esp], eax
call sym._FT_Stream_EnterFrame
test eax, eax
mov dword [esp + 0x80], eax
jne 0x47e4fa
mov eax, dword [esp + 0xc0]
mov ebx, dword [eax + 0x20]
mov eax, 1
cmp dword [esp + 0x38], eax
jb 0x47e8ec
cmp dword [esp + 0x3c], eax
movzx edx, byte [ebx + eax - 1]
jbe 0x47e8e7
mov ecx, dword [ebp + 0x488]
lea edx, [ebp + edx*2]
mov word [edx + 0x280], ax
movzx ecx, word [ecx + eax*2]
mov word [edx + 0x80], cx
add eax, 1
jmp 0x47e8ba
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_ExitFrame
jmp 0x47e85b
lea eax, [ebp + 0x80]
je 0x47ea68
mov edx, dword [0x4f8040]
lea edi, [ebp + 0x84]
mov esi, 0x4f8040
and edi, 0xfffffffc
mov dword [ebp + 0x80], edx
mov edx, dword [0x4f823c]
sub eax, edi
mov dword [ebp + 0x27c], edx
sub esi, eax
add eax, 0x200
shr eax, 2
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov dword [ebp + 0x7c], 0
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x3c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esp + 0x44]
call sym._cff_charset_compute_cids
test eax, eax
mov dword [esp + 0x80], eax
jne 0x47e4fa
mov al, 1
movzx edx, word [ebp + eax*2 + 0x7e]
test edx, edx
je 0x47ea5a
cmp edx, dword [ebp + 0x490]
mov ecx, dword [ebp + 0x48c]
ja 0x47ea5a
movzx edx, word [ecx + edx*2]
test dx, dx
je 0x47ea5a
mov dword [ebp + 0x7c], eax
mov word [ebp + eax*2 + 0x27e], dx
add eax, 1
cmp eax, 0x101
jne 0x47e971
jmp 0x47e865
mov eax, dword [esp + 0x34]
xor esi, esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_ReadChar
cmp dword [esp + 0x80], 0
movzx edi, al
jne 0x47e4fa
cmp edi, esi
jbe 0x47e865
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xc0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sym._FT_Stream_ReadChar
cmp dword [esp + 0x80], 0
movzx ebx, al
jne 0x47e4fa
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_ReadUShort
cmp dword [esp + 0x80], 0
jne 0x47e4fa
lea ecx, [ebp + ebx*2]
xor edx, edx
mov word [ecx + 0x80], ax
cmp edx, dword [esp + 0x3c]
je 0x47ea9c
mov ebx, dword [ebp + 0x488]
cmp ax, word [ebx + edx*2]
je 0x47ea95
add edx, 1
jmp 0x47ea43
mov word [ebp + eax*2 + 0x7e], 0
xor edx, edx
jmp 0x47e9a0
mov edx, dword [0x4f7e40]
lea edi, [ebp + 0x84]
mov esi, 0x4f7e40
and edi, 0xfffffffc
mov dword [ebp + 0x80], edx
mov edx, dword [0x4f803c]
sub eax, edi
mov dword [ebp + 0x27c], edx
jmp 0x47e934
mov word [ecx + 0x280], dx
add esi, 1
jmp 0x47e9e1
cmp ebx, 0xa6
ja 0x47e3e8
lea eax, [esp + 0x80]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym._ft_mem_realloc
cmp dword [esp + 0x80], 0
mov dword [ebp + 0x488], eax
jne 0x47e3f3
lea edx, [ebx + ebx]
cmp edx, 4
jae 0x47eca5
test edx, edx
je 0x47e67d
movzx ecx, byte [0x4f8300]
test dl, 2
mov byte [eax], cl
je 0x47e67d
movzx ecx, word [ebx + ebx + 0x4f82fe]
mov word [eax + edx - 2], cx
jmp 0x47e67d
add eax, dword [esp + 0x38]
mov dword [ebp + 0x484], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_Seek
test eax, eax
mov dword [esp + 0x80], eax
jne 0x47e3f3
lea eax, [esp + 0x80]
mov dword [esp + 0x34], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_ReadChar
movzx eax, al
mov dword [ebp + 0x480], eax
cmp dword [esp + 0x80], 0
jne 0x47e3f3
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym._ft_mem_realloc
cmp dword [esp + 0x80], 0
mov dword [ebp + 0x488], eax
jne 0x47e3f3
mov word [eax], 0
mov eax, dword [ebp + 0x480]
test eax, eax
je 0x47ecf0
cmp eax, 2
ja 0x47e3e8
mov edi, 1
cmp ebx, edi
jbe 0x47e67d
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_ReadUShort
cmp dword [esp + 0x80], 0
mov esi, eax
jne 0x47e3f3
mov eax, dword [esp + 0x34]
cmp dword [ebp + 0x480], 2
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
je 0x47ecd5
call sym._FT_Stream_ReadChar
cmp dword [esp + 0x80], 0
movzx eax, al
jne 0x47e3f3
mov ecx, 0xffff
movzx edx, si
sub ecx, eax
mov dword [esp + 0x4c], ecx
mov ecx, 0xffff
sub ecx, edx
cmp edx, dword [esp + 0x4c]
mov edx, edi
cmova eax, ecx
mov ecx, dword [ebp + 0x488]
sub esi, edi
mov word [esp + 0x4c], si
movzx esi, word [esp + 0x4c]
add esi, edx
mov word [ecx + edx*2], si
add edx, 1
mov esi, edx
sub esi, edi
cmp esi, eax
ja 0x47ec9e
cmp ebx, edx
ja 0x47ec84
mov edi, edx
jmp 0x47ebf5
mov ecx, dword [0x4f8300]
lea edi, [eax + 4]
mov esi, 0x4f8300
and edi, 0xfffffffc
mov dword [eax], ecx
mov ecx, dword [ebx + ebx + 0x4f82fc]
mov dword [edx + eax - 4], ecx
sub eax, edi
mov ecx, eax
sub esi, eax
add ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
jmp 0x47e67d
call sym._FT_Stream_ReadUShort
cmp dword [esp + 0x80], 0
movzx eax, ax
je 0x47ec59
jmp 0x47e3f3
lea eax, [ebx + ebx - 2]
mov edi, 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_EnterFrame
test eax, eax
mov dword [esp + 0x80], eax
jne 0x47e3f3
cmp edi, ebx
je 0x47ee3f
mov eax, dword [ebp + 0x488]
lea esi, [eax + edi*2]
mov eax, dword [esp + 0xc0]
add edi, 1
mov dword [esp], eax
call sym._FT_Stream_GetUShort
mov word [esi], ax
jmp 0x47ed1b
cmp ebx, 0x57
ja 0x47e3e8
lea eax, [esp + 0x80]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym._ft_mem_realloc
cmp dword [esp + 0x80], 0
mov dword [ebp + 0x488], eax
jne 0x47e3f3
lea ecx, [ebx + ebx]
mov esi, 0x4f8240
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x47e67d
mov eax, dword [esp + 0xc0]
lea esi, [esp + 0x5c]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._FT_Stream_ReadChar
cmp dword [esp + 0x5c], 0
jne 0x47e5f3
test al, al
mov byte [ebp + 0xb6c], al
mov dword [ebp + 0xb80], 0
je 0x47ee60
cmp al, 3
jne 0x47ee53
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._FT_Stream_ReadUShort
cmp dword [esp + 0x5c], 0
movzx eax, ax
jne 0x47e5f3
test eax, eax
je 0x47ee53
lea eax, [eax + eax*2]
add eax, 2
mov dword [ebp + 0xb78], eax
lea eax, [ebp + 0xb74]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xb78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_ExtractFrame
mov dword [esp + 0x5c], eax
jmp 0x47e5f3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call sym._FT_Stream_ExitFrame
jmp 0x47e67d
mov dword [esp + 0x5c], 3
jmp 0x47e5f3
mov dword [ebp + 0xb78], ebx
jmp 0x47ee13