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

Disassembly:
sub esp, 0x27c
mov eax, dword [0x102d94c0]
xor eax, esp
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x284]
movsd xmm0, qword [0x102c6330]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x288]
push ebx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x290]
push ebp
mov ebp, dword [esp + 0x288]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x298]
push esi
xor esi, esi
movsd qword [esp + 0x94], xmm0
movsd qword [esp + 0x84], xmm0
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [0x102c6248]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x2a0]
push edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0xb8], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0x94], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x24], esi
movsd qword [esp + 0xe8], xmm0
movsd qword [esp + 0xd4], xmm0
mov dword [esp + 0x74], esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xc0], esi
mov dword [esp + 0xe0], esi
mov dword [esp + 0xc4], esi
mov dword [esp + 0xdc], esi
mov dword [esp + 0x34], esi
call fcn.100c5060
call sym.project.dll_FcPatternCreate
mov ebx, eax
mov dword [esp + 0x1c], ebx
test ebx, ebx
je 0x100c0e9c
mov edi, dword [ebp + 8]
and edi, 1
push edi
push 0x18
push ebx
call fcn.100be490
add esp, 0xc
test eax, eax
je 0x100c2157
mov esi, dword [ebp + 8]
shr esi, 0xe
and esi, 1
push esi
push 0x2f
push ebx
call fcn.100be490
add esp, 0xc
test eax, eax
je 0x100c2139
test edi, edi
jne 0x100c01ff
test esi, esi
jne 0x100c01ff
xor eax, eax
jmp 0x100c0204
mov eax, 1
push eax
push 0x19
push ebx
call fcn.100be490
add esp, 0xc
test eax, eax
je 0x100c2139
lea eax, [esp + 0x3c]
push eax
push ebp
call fcn.100dfc40
mov ecx, dword [esp + 0x98]
add esp, 8
shr ecx, 0x10
test ecx, ecx
je 0x100c04db
test eax, eax
jne 0x100c2139
mov edx, dword [esp + 0x3c]
cmp ecx, 0x8000
jne 0x100c0402
xor ebp, ebp
xor esi, esi
cmp dword [edx], ebp
jbe 0x100c2148
movsd xmm3, qword [0x10234c08]
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [edx + 0xc]
movd xmm1, dword [ecx + esi + 4]
movd xmm2, dword [ecx + esi + 8]
movd xmm0, dword [ecx + esi + 0xc]
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm3
mulsd xmm2, xmm3
mulsd xmm0, xmm3
comisd xmm1, xmm2
movsd qword [esp + 0xa8], xmm0
ja 0x100c03b9
comisd xmm2, xmm0
ja 0x100c03b9
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jnp 0x100c03b9
mov eax, dword [ecx + esi + 0x10]
cmp eax, 0x6f70737a
je 0x100c0365
cmp eax, 0x77647468
je 0x100c034a
cmp eax, 0x77676874
jne 0x100c03b9
sub esp, 8
mov edi, 8
movsd qword [esp], xmm1
call sym.project.dll_FcWeightFromOpenTypeDouble
movsd xmm0, qword [esp + 0xb0]
fstp qword [esp + 0xa8]
movsd qword [esp], xmm0
call sym.project.dll_FcWeightFromOpenTypeDouble
movsd xmm1, qword [esp + 0xa8]
xorps xmm0, xmm0
fstp qword [esp + 0xb0]
movsd qword [esp + 0x90], xmm0
add esp, 8
movsd xmm0, qword [esp + 0xa8]
mov dword [esp + 0xc8], 1
jmp 0x100c0375
xorps xmm2, xmm2
mov dword [esp + 0xcc], 1
mov edi, 9
movsd qword [esp + 0x2c], xmm2
jmp 0x100c0375
mov edi, 0xa
mov dword [esp + 0xb4], 1
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
call sym.project.dll_FcRangeCreateDouble
mov ebx, eax
push ebx
push edi
push dword [esp + 0x34]
call fcn.100be5d0
add esp, 0x1c
push ebx
test eax, eax
je 0x100c03e7
call sym.project.dll_FcAtomicDestroy
mov edx, dword [esp + 0x40]
add esp, 4
movsd xmm3, qword [0x10234c08]
mov dword [esp + 0x5c], 1
inc ebp
add esi, 0x18
cmp ebp, dword [edx]
jb 0x100c0270
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x100c03ef
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x10]
movzx ecx, cx
mov dword [esp + 0x90], ecx
jmp 0x100c0543
call sym.project.dll_FcAtomicDestroy
add esp, 4
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
xor esi, esi
mov ebp, dword [esp + 0x14]
jmp 0x100c0e54
lea eax, [ecx - 1]
cmp eax, dword [edx + 8]
jae 0x100c2139
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*2]
xor edi, edi
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
mov dword [esp + 0x24], eax
cmp dword [edx], edi
jbe 0x100c0541
movsd xmm0, qword [0x10234c08]
xor esi, esi
xorps xmm3, xmm3
mov ecx, dword [edx + 0xc]
mov eax, dword [eax]
movd xmm1, dword [ecx + esi + 8]
movd xmm2, dword [eax + edi*4]
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm2, xmm2
mulsd xmm1, xmm0
mulsd xmm2, xmm0
ucomisd xmm1, xmm3
lahf
test ah, 0x44
jnp 0x100c0468
movaps xmm0, xmm2
divsd xmm0, xmm1
jmp 0x100c0470
movsd xmm0, qword [0x102c6248]
mov eax, dword [ecx + esi + 0x10]
cmp eax, 0x6f70737a
je 0x100c049f
cmp eax, 0x77647468
je 0x100c0494
cmp eax, 0x77676874
jne 0x100c04c1
movsd qword [esp + 0xe8], xmm0
jmp 0x100c04c1
movsd qword [esp + 0xd4], xmm0
jmp 0x100c04c1
sub esp, 8
movsd qword [esp], xmm2
push 0xa
push ebx
call fcn.100be510
add esp, 0x10
test eax, eax
je 0x100c2139
mov edx, dword [esp + 0x3c]
xorps xmm3, xmm3
movsd xmm0, qword [0x10234c08]
inc edi
mov eax, dword [esp + 0x24]
add esi, 0x18
cmp edi, dword [edx]
jb 0x100c0435
jmp 0x100c0541
test eax, eax
jne 0x100c0541
mov eax, dword [esp + 0x3c]
xor edi, edi
cmp dword [eax], edi
jbe 0x100c0541
xor esi, esi
nop dword [eax + eax]
mov ecx, dword [eax + 0xc]
cmp dword [ecx + esi + 0x10], 0x6f70737a
jne 0x100c0539
movd xmm0, dword [ecx + esi + 8]
sub esp, 8
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10234c08]
movsd qword [esp], xmm0
push 0xa
push ebx
call fcn.100be510
add esp, 0x10
test eax, eax
je 0x100c2139
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xb4], 1
inc edi
add esi, 0x18
cmp edi, dword [eax]
jb 0x100c04f0
xor eax, eax
mov edi, dword [esp + 0x1c]
push eax
push 0x32
push edi
call fcn.100be490
add esp, 0xc
test eax, eax
je 0x100c03f3
push 2
push ebp
call fcn.100d70e0
mov esi, eax
add esp, 8
mov dword [esp + 0xb0], esi
mov ecx, 0xffff
test esi, esi
je 0x100c05a7
movzx eax, word [esi]
cmp eax, 1
jb 0x100c05a7
cmp ax, cx
je 0x100c05a7
cmp byte [esi + 0x3c], 0
je 0x100c05a7
push 5
call fcn.1020782d
mov ecx, eax
add esp, 4
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x94], ecx
mov dword [ecx], eax
mov byte [ecx + 4], 0
test dword [0x102f56d8], 0x100
je 0x100c05c0
push 0x10234c74
call fcn.10001521
add esp, 4
push ebp
call fcn.100d70c0
mov edx, dword [esp + 0x18]
add esp, 4
mov ebx, eax
mov dword [esp + 0x70], ebx
test edx, edx
je 0x100c05e5
mov esi, dword [edx]
mov dword [esp + 0x18], esi
test esi, esi
jne 0x100c0699
lea eax, [ebx + ebx*4]
shl eax, 2
push eax
call fcn.1020782d
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
jne 0x100c0606
xor ebx, ebx
mov dword [esp + 0x70], ebx
jmp 0x100c067e
xor edi, edi
test ebx, ebx
jle 0x100c067e
add esi, 0xc
nop
lea eax, [esp + 0x78]
push eax
push edi
push ebp
call fcn.100d6fc0
add esp, 0xc
test eax, eax
jne 0x100c0651
xorps xmm1, xmm1
xorps xmm0, xmm0
pinsrw xmm1, word [esp + 0x78], 0
mov eax, edi
pinsrw xmm1, word [esp + 0x7e], 1
pinsrw xmm1, word [esp + 0x7a], 2
pinsrw xmm1, word [esp + 0x7c], 3
punpcklwd xmm1, xmm0
movups xmmword [esi - 0xc], xmm1
jmp 0x100c066f
mov dword [esi], 0xffffffff
or eax, 0xffffffff
mov dword [esi - 4], 0xffffffff
mov dword [esi - 8], 0xffffffff
mov dword [esi - 0xc], 0xffffffff
mov dword [esi + 4], eax
inc edi
add esi, 0x14
cmp edi, ebx
jl 0x100c0610
mov esi, dword [esp + 0x18]
push 0x100c2b60
push 0x14
push ebx
push esi
call fcn.10209230
mov edx, dword [esp + 0x24]
add esp, 0x10
test edx, edx
je 0x100c0699
mov dword [edx], esi
mov ecx, dword [esp + 0x94]
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], ecx
nop word [eax + eax]
movzx eax, word [eax*2 + 0x1023b968]
xor ecx, ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov dword [esp + 0x50], ecx
nop word [eax + eax]
xor eax, eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x68], eax
movzx eax, word [ecx*2 + 0x1023b970]
mov dword [esp + 0x58], eax
mov dword [esp + 0xa0], eax
test edx, edx
je 0x100c0724
cmp eax, 0x16
je 0x100c0c31
cmp eax, 0x11
je 0x100c0c31
cmp eax, 4
je 0x100c0c31
cmp eax, 2
jne 0x100c0724
mov eax, dword [edx + 4]
mov dword [esp + 0x58], eax
lea ebp, [ebx - 1]
xor edi, edi
test ebp, ebp
js 0x100c0c31
lea eax, [edi + ebp]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x20], eax
lea esi, [eax + eax*4]
lea eax, [esp + 0x78]
mov dword [esp + 0x4c], esi
push eax
mov eax, dword [esp + 0x1c]
push dword [eax + esi*4 + 0x10]
push dword [esp + 0x18]
call fcn.100d6fc0
mov dx, word [esp + 0x8a]
add esp, 0xc
mov bx, word [esp + 0x78]
test eax, eax
jne 0x100c07f4
movzx eax, bx
cmp dword [esp + 0x28], eax
jb 0x100c07e0
jne 0x100c07b4
movzx ecx, dx
cmp dword [esp + 0x58], ecx
jb 0x100c07e0
jne 0x100c07ce
cmp dword [esp + 0x20], 0
je 0x100c07c0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
cmp eax, dword [ecx + esi*4 - 0x14]
jne 0x100c07c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x58]
cmp ecx, dword [eax + esi*4 - 0x10]
mov ecx, dword [esp + 0x20]
movzx eax, bx
je 0x100c07e4
jmp 0x100c07b8
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0x28], eax
ja 0x100c07db
je 0x100c07d2
mov esi, dword [esp + 0x20]
cmp esi, 0xffffffff
jne 0x100c07fa
jmp 0x100c0c25
mov ecx, dword [esp + 0x20]
movzx eax, dx
cmp dword [esp + 0x58], eax
jbe 0x100c07c0
lea edi, [ecx + 1]
jmp 0x100c07e7
mov ecx, dword [esp + 0x20]
lea ebp, [ecx - 1]
cmp edi, ebp
jle 0x100c0731
jmp 0x100c0c25
xor esi, esi
mov dword [esp + 0x20], esi
mov ecx, dword [esp + 0xa0]
lea eax, [esi + esi*4]
mov edi, dword [esp + 0x18]
dec ecx
add edi, 0x10
mov dword [esp + 0xa0], ecx
lea edi, [edi + eax*4]
mov dword [esp + 0x4c], edi
nop word [eax + eax]
cmp ecx, 0x15
ja case.0x100c0830.2
movzx eax, byte [ecx + 0x100c2180]
jmp dword [eax*4 + 0x100c216c]
test dword [0x102f56d8], 0x100
je 0x100c0864
movzx eax, word [esp + 0x7c]
push eax
movzx eax, word [esp + 0x7e]
push eax
movzx eax, bx
push eax
movzx eax, dx
push eax
push str.found_family__n__2d_p__d_e__d_l_0x_04x_
call fcn.10001521
add esp, 0x14
lea ebp, [esp + 0xd0]
mov dword [esp + 0x54], 1
lea eax, [esp + 0xf0]
mov dword [esp + 0x68], 2
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x40], eax
jmp 0x100c09b6
cmp dword [esp + 0x5c], 0
jne case.0x100c0830.2
test dword [0x102f56d8], 0x100
je 0x100c08c7
movzx eax, word [esp + 0x7c]
push eax
movzx eax, word [esp + 0x7e]
push eax
movzx eax, bx
push eax
movzx eax, dx
push eax
push str.found_full____n__2d_p__d_e__d_l_0x_04x_
call fcn.10001521
add esp, 0x14
lea ebp, [esp + 0xc4]
mov dword [esp + 0x54], 5
lea eax, [esp + 0xdc]
mov dword [esp + 0x68], 6
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x40], eax
jmp 0x100c09b6
cmp dword [esp + 0x5c], 0
jne case.0x100c0830.2
test dword [0x102f56d8], 0x100
je 0x100c092a
movzx eax, word [esp + 0x7c]
push eax
movzx eax, word [esp + 0x7e]
push eax
movzx eax, bx
push eax
movzx eax, dx
push eax
push str.found_style___n__2d_p__d_e__d_l_0x_04x_
call fcn.10001521
add esp, 0x14
lea eax, [esp + 0xc0]
mov dword [esp + 0x54], 3
mov dword [esp + 0x6c], eax
lea eax, [esp + 0xe0]
mov dword [esp + 0x68], 4
mov dword [esp + 0x40], eax
jmp 0x100c09b6
cmp dword [esp + 0x38], 0
jne case.0x100c0830.2
lea eax, [esp + 0x78]
push eax
call fcn.100c2460
mov edi, eax
add esp, 4
test edi, edi
je 0x100c0992
mov esi, 0x102d8ab4
push dword [esi - 4]
mov ebx, dword [esi]
push edi
mov dword [esp + 0x40], ebx
call fcn.101f6de0
add esp, 8
test eax, eax
jne 0x100c099a
add esi, 8
cmp esi, 0x102d8b44
jl 0x100c0971
mov dword [esp + 0x38], 0
push edi
call fcn.102067ed
mov esi, dword [esp + 0x24]
add esp, 4
mov edi, dword [esp + 0x4c]
cmp dword [esp + 0x54], 0
je 0x100c0bd2
lea eax, [esp + 0x78]
push eax
call fcn.100c2460
mov di, word [esp + 0x7c]
add esp, 4
movzx esi, word [esp + 0x7c]
mov ebx, eax
cmp di, 1
jne 0x100c09fd
cmp word [esp + 0x7a], 0
jne 0x100c09fd
push dword [esp + 0x84]
push dword [esp + 0x84]
call fcn.100c2420
add esp, 8
test eax, eax
mov eax, 0xb
cmovne esi, eax
xor edx, edx
mov eax, 0x1023a74a
cmp word [eax - 2], di
jne 0x100c0a24
movzx ecx, word [eax]
mov ebp, 0xffff
cmp cx, bp
je 0x100c0b31
cmp cx, si
je 0x100c0b31
add eax, 0xc
inc edx
cmp eax, str.SJIS_WIN
jl 0x100c0a04
xor ebp, ebp
test dword [0x102f56d8], 0x100
je 0x100c0a55
test ebx, ebx
mov eax, 0x1023bc04
cmovne eax, ebx
push eax
push 0x102c2ab0
call fcn.10001521
add esp, 8
test ebx, ebx
je 0x100c0bca
cmp byte [ebx], 0x20
mov ecx, ebx
jne 0x100c0a6a
inc ecx
cmp byte [ecx], 0x20
je 0x100c0a64
mov esi, ecx
lea edx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x100c0a70
sub esi, edx
lea eax, [esi + 1]
push eax
push ecx
push ebx
call fcn.101f6470
lea eax, [esi + ebx]
add esp, 0xc
cmp eax, ebx
jbe 0x100c0a9b
nop
cmp byte [eax - 1], 0x20
jne 0x100c0a9b
dec eax
cmp eax, ebx
ja 0x100c0a90
mov edi, dword [esp + 0x1c]
mov byte [eax], 0
lea eax, [esp + 0xa8]
push eax
push edi
call sym.project.dll_FcPatternIterStart
push dword [esp + 0x5c]
lea eax, [esp + 0xb4]
push eax
push edi
call fcn.100bddc0
add esp, 0x14
test eax, eax
je 0x100c0b4e
lea eax, [esp + 0xa8]
push eax
push edi
call fcn.100be370
mov esi, eax
add esp, 8
test esi, esi
je 0x100c0b4e
lea ecx, [esi + 8]
push ecx
lea eax, [esp + 0x128]
push eax
call fcn.100bf1e0
add esp, 8
movups xmm0, xmmword [eax]
movd eax, xmm0
movups xmmword [esp + 0xf4], xmm0
cmp eax, 3
jne 0x100c0b4e
push ebx
push dword [esp + 0x100]
call fcn.100cc860
add esp, 8
test eax, eax
je 0x100c0cea
mov eax, dword [esi]
test al, 1
je 0x100c0b48
and eax, 0xfffffffe
add esi, eax
jmp 0x100c0b4a
lea eax, [edx + edx*2]
lea ebp, [eax*4 + 0x1023a74c]
xor eax, eax
cmp byte [ebp], al
cmove ebp, eax
jmp 0x100c0a31
mov esi, eax
test esi, esi
jne 0x100c0ae4
push ebx
push dword [esp + 0x58]
push edi
call fcn.100be610
add esp, 0xc
push ebx
test eax, eax
je 0x100c0e40
call fcn.102067ed
add esp, 4
test ebp, ebp
je 0x100c0bc4
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x6c]
mov esi, dword [ebx]
mov edi, dword [edi]
cmp esi, edi
jge 0x100c0ba5
push 0x10239a70
push dword [esp + 0x6c]
push dword [esp + 0x24]
call fcn.100be610
add esp, 0xc
test eax, eax
je 0x100c2130
inc esi
mov dword [ebx], esi
cmp esi, edi
jl 0x100c0b81
mov edi, dword [esp + 0x1c]
push ebp
push dword [esp + 0x6c]
push edi
call fcn.100be610
add esp, 0xc
test eax, eax
je 0x100c0e48
lea eax, [esi + 1]
mov dword [ebx], eax
mov eax, dword [esp + 0x6c]
inc dword [eax]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x70]
inc esi
add edi, 0x14
mov dword [esp + 0x20], esi
mov dword [esp + 0x4c], edi
cmp esi, ebx
jge 0x100c0c29
mov ebp, dword [esp + 0x10]
lea eax, [esp + 0x78]
push eax
push dword [edi]
push ebp
call fcn.100d6fc0
add esp, 0xc
test eax, eax
jne 0x100c0c29
mov bx, word [esp + 0x78]
movzx eax, bx
cmp dword [esp + 0x28], eax
jne 0x100c0c25
mov dx, word [esp + 0x7e]
mov ecx, dword [esp + 0xa0]
movzx eax, dx
cmp dword [esp + 0x58], eax
je 0x100c0820
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x50]
inc ecx
mov dword [esp + 0x50], ecx
cmp ecx, 0xa
jb 0x100c06d0
mov eax, dword [esp + 0x48]
inc eax
mov dword [esp + 0x48], eax
cmp eax, 4
jb 0x100c06b0
mov ebp, dword [esp + 0x14]
test ebp, ebp
jne 0x100c0c69
push dword [esp + 0x18]
call fcn.102067ed
add esp, 4
mov dword [esp + 0x18], ebp
mov esi, dword [esp + 0xd0]
mov ebx, dword [esp + 0x10]
test esi, esi
jne 0x100c0cf8
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x100c0cf8
push 0x102c2a19
push eax
call fcn.100cc860
add esp, 8
test eax, eax
je 0x100c0cf8
test dword [0x102f56d8], 0x100
je 0x100c0cb1
push dword [ebx + 0x14]
push str.using_FreeType_family___s__n
call fcn.10001521
add esp, 8
push dword [ebx + 0x14]
mov edi, dword [esp + 0x20]
push 1
push edi
call fcn.100be610
add esp, 0xc
test eax, eax
je 0x100c0e50
push 0x10239ce4
push 2
push edi
call fcn.100be610
add esp, 0xc
test eax, eax
je 0x100c0e50
mov esi, 1
jmp 0x100c0cfc
push ebx
call fcn.102067ed
add esp, 4
jmp 0x100c0bca
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x5c], 0
jne 0x100c0d99
cmp dword [esp + 0xc0], 0
jne 0x100c0d99
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x100c0d4f
push 0x102c2a19
push eax
call fcn.100cc860
add esp, 8
test eax, eax
je 0x100c0d4f
test dword [0x102f56d8], 0x100
je 0x100c0d4a
push dword [ebx + 0x18]
push str.using_FreeType_style___s__n
call fcn.10001521
add esp, 8
mov eax, dword [ebx + 0x18]
jmp 0x100c0d6d
test dword [0x102f56d8], 0x100
je 0x100c0d68
push str.applying_default_style_Regular_n
call fcn.10001521
add esp, 4
mov eax, 0x1023bc28
push eax
push 3
push edi
call fcn.100be610
add esp, 0xc
test eax, eax
je 0x100c0e50
push 0x10239ce4
push 4
push edi
call fcn.100be610
add esp, 0xc
test eax, eax
je 0x100c0e50
mov ebp, dword [esp + 0x44]
test esi, esi
jne 0x100c0edc
test ebp, ebp
je 0x100c0edc
cmp byte [ebp], 0
je 0x100c0edc
push 0x2f
push ebp
call fcn.101f70c0
mov edi, eax
add esp, 8
test edi, edi
je 0x100c0dcb
inc edi
jmp 0x100c0dcd
mov edi, ebp
push 0x2e
push edi
call fcn.101f70c0
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x100c0def
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c0de3
sub ecx, edx
lea ebp, [ecx + edi]
mov esi, ebp
sub esi, edi
lea eax, [esi + 1]
push eax
call fcn.1020782d
push esi
mov ebx, eax
push edi
push ebx
call fcn.10207b40
mov ecx, ebx
add esp, 0x10
sub ecx, edi
mov byte [ecx + ebp], 0
test dword [0x102f56d8], 0x100
je 0x100c0e2b
push ebx
push str.using_filename_for_family__s_n
call fcn.10001521
add esp, 8
mov edi, dword [esp + 0x1c]
push ebx
push 1
push edi
call fcn.100be610
add esp, 0xc
test eax, eax
jne 0x100c0eb7
push ebx
call fcn.102067ed
add esp, 4
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
push edi
call sym.project.dll_FcPatternDestroy
mov ecx, dword [esp + 0x40]
add esp, 4
test ecx, ecx
je 0x100c0e77
mov eax, dword [ebx + 0x54]
test eax, eax
je 0x100c0e77
push ecx
push dword [eax]
call fcn.100dfc20
add esp, 8
test ebp, ebp
jne 0x100c0e88
test esi, esi
je 0x100c0e88
push esi
call fcn.102067ed
add esp, 4
mov eax, dword [esp + 0x94]
test eax, eax
je 0x100c0e9c
push eax
call fcn.102067ed
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x288]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101f469d
add esp, 0x27c
ret
push 0x10239ce4
push 2
push edi
call fcn.100be610
add esp, 0xc
push ebx
test eax, eax
je 0x100c0e40
call fcn.102067ed
mov ebp, dword [esp + 0x48]
add esp, 4
cmp dword [esp + 0x5c], 0
jne 0x100c1228
cmp dword [esp + 0xc4], 0
jne 0x100c10fb
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
xor esi, esi
push esi
push 2
push edi
call fcn.100be950
add esp, 0x10
test eax, eax
jne 0x100c0f53
nop dword [eax]
nop dword [eax + eax]
push 0x10239ce4
push dword [esp + 0x24]
call sym.project.dll_FcStrCmp
add esp, 8
test eax, eax
je 0x100c0f53
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
inc esi
push esi
push 2
push edi
call fcn.100be950
add esp, 0x10
test eax, eax
je 0x100c0f20
xor eax, eax
cmp dword [esp + 0x20], eax
cmove esi, eax
lea eax, [esp + 0x28]
push eax
push esi
push 1
push edi
call fcn.100be950
add esp, 0x10
test eax, eax
jne 0x100c0e48
mov ecx, dword [esp + 0x28]
mov esi, ecx
lea edx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x100c0f80
sub esi, edx
je 0x100c0fb1
nop dword [eax + eax]
movzx eax, byte [esi + ecx - 1]
push eax
call fcn.10206ee0
add esp, 4
test eax, eax
je 0x100c0fad
sub esi, 1
je 0x100c0fad
mov ecx, dword [esp + 0x28]
jmp 0x100c0f90
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x20]
mov byte [esi + ecx], 0
push eax
xor esi, esi
push esi
push 4
push edi
call fcn.100be950
add esp, 0x10
test eax, eax
jne 0x100c1003
nop dword [eax]
push 0x10239ce4
push dword [esp + 0x24]
call sym.project.dll_FcStrCmp
add esp, 8
test eax, eax
je 0x100c1003
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
inc esi
push esi
push 4
push edi
call fcn.100be950
add esp, 0x10
test eax, eax
je 0x100c0fd0
xor eax, eax
cmp dword [esp + 0x20], eax
cmove esi, eax
lea eax, [esp + 0x40]
push eax
push esi
push 3
push edi
call fcn.100be950
add esp, 0x10
test eax, eax
jne 0x100c0e48
mov ecx, dword [esp + 0x40]
mov edi, ecx
lea edx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x100c1030
sub edi, edx
xor esi, esi
cmp byte [ecx], al
je 0x100c105c
nop
movzx eax, byte [ecx + esi]
push eax
call fcn.10206ee0
mov ecx, dword [esp + 0x44]
add esp, 4
test eax, eax
je 0x100c105c
inc esi
cmp byte [ecx + esi], 0
jne 0x100c1040
sub edi, esi
lea eax, [ecx + esi]
push edi
push eax
push ecx
call fcn.101f6470
push 0
lea eax, [esp + 0x144]
push 0
push eax
call fcn.100cc2d0
push dword [esp + 0x40]
lea eax, [esp + 0x150]
push eax
call fcn.100cc310
lea eax, [esp + 0x154]
push 0x20
push eax
call fcn.100cc0c0
push dword [esp + 0x68]
lea eax, [esp + 0x160]
push eax
call fcn.100cc310
lea eax, [esp + 0x164]
push eax
call fcn.100cc2b0
mov edi, dword [esp + 0x50]
push eax
push 5
push edi
call fcn.100be610
add esp, 0x40
test eax, eax
lea eax, [esp + 0x134]
push eax
jne 0x100c10de
call fcn.100cc200
jmp 0x100c0e45
call fcn.100cc200
push 0x10239ce4
push 6
push edi
call fcn.100be610
add esp, 0x10
test eax, eax
je 0x100c0e48
mov ebx, dword [esp + 0x10]
push ebx
call fcn.100d6f60
add esp, 4
test eax, eax
jne 0x100c11ed
mov dword [esp + 0x24], eax
xor esi, esi
lea eax, [esp + 0x24]
push eax
push esi
push 2
push edi
call fcn.100be950
add esp, 0x10
test eax, eax
jne 0x100c1163
nop dword [eax + eax]
push 0x10239ce4
push dword [esp + 0x28]
call sym.project.dll_FcStrCmp
add esp, 8
test eax, eax
je 0x100c1163
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
inc esi
push esi
push 2
push edi
call fcn.100be950
add esp, 0x10
test eax, eax
je 0x100c1130
xor eax, eax
cmp dword [esp + 0x24], eax
cmove esi, eax
lea eax, [esp + 0x48]
push eax
push esi
push 1
push edi
call fcn.100be950
add esp, 0x10
test eax, eax
jne 0x100c0e4c
mov ecx, dword [esp + 0x48]
mov edi, ecx
lea edx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x100c1190
mov esi, 0
sub edi, edx
je 0x100c11df
cmp esi, 0xff
jae 0x100c11d3
movzx eax, byte [esi + ecx]
push eax
push 0x1023b984
call fcn.101f6cb0
mov ecx, dword [esp + 0x50]
add esp, 8
test eax, eax
mov al, 0x2d
jne 0x100c11c7
mov al, byte [esi + ecx]
mov byte [esp + esi + 0x188], al
inc esi
cmp esi, edi
jb 0x100c11a0
cmp esi, 0x100
jae 0x100c2164
mov edi, dword [esp + 0x1c]
mov byte [esp + esi + 0x188], 0
jmp 0x100c120b
push 0xff
push eax
lea eax, [esp + 0x190]
push eax
call fcn.10207b40
add esp, 0xc
mov byte [esp + 0x287], 0
lea eax, [esp + 0x188]
push eax
push 0x2e
push edi
call fcn.100be610
add esp, 0xc
test eax, eax
je 0x100c0e4c
jmp 0x100c122c
mov ebx, dword [esp + 0x10]
test ebp, ebp
je 0x100c124a
cmp byte [ebp], 0
je 0x100c124a
push ebp
push 0x15
push edi
call fcn.100be610
add esp, 0xc
test eax, eax
je 0x100c0e4c
push dword [esp + 0x90]
push 0x16
push edi
call fcn.100be550
add esp, 0xc
test eax, eax
je 0x100c0e4c
push 0
push ebx
call fcn.100d70e0
add esp, 8
test eax, eax
je 0x100c1278
push dword [eax + 4]
jmp 0x100c127a
push 0
push 0x23
push edi
call fcn.100be550
add esp, 0xc
test eax, eax
je 0x100c0e4c
push 0
push 0x34
push edi
call fcn.100be550
add esp, 0xc
test eax, eax
je 0x100c0e4c
mov ebp, dword [esp + 0xb0]
test ebp, ebp
je 0x100c1643
movzx eax, word [ebp]
cmp eax, 1
jb 0x100c1315
mov ecx, 0xffff
cmp ax, cx
je 0x100c1315
mov edx, 0x1023a649
xor edi, edi
nop dword [eax + eax]
cmp byte [edx - 1], 0x20
movsx ecx, byte [edx - 1]
jge 0x100c12df
mov esi, dword [ebp + 0x50]
jmp 0x100c12e2
mov esi, dword [ebp + 0x54]
lea eax, [ecx - 0x20]
cmovge ecx, eax
mov eax, 1
shl eax, cl
test esi, eax
je 0x100c12fe
cmp dword [esp + 0x74], 0
jne 0x100c130b
mov dword [esp + 0x74], edx
add edi, 7
add edx, 7
cmp edi, 0x1c
jb 0x100c12d0
jmp 0x100c132c
mov dword [esp + 0x74], 0
jmp 0x100c132c
mov eax, 0xffff
mov dword [esp + 0x74], 0
cmp word [ebp], ax
je 0x100c147e
movzx eax, word [ebp + 4]
sub esp, 8
movsd xmm1, qword [esp + 0xf0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd qword [esp], xmm1
call sym.project.dll_FcWeightFromOpenTypeDouble
mov ecx, dword [0x102f56d8]
add esp, 8
movsd xmm3, qword [esp + 0x98]
fstp qword [esp + 0xa8]
movsd xmm0, qword [esp + 0xa8]
movsd qword [esp + 0x88], xmm0
test ecx, 0x100
je 0x100c13c7
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x100c13c7
movzx eax, word [ebp + 4]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0xf8]
movsd qword [esp], xmm0
push eax
push str._tos2_weight_class__d_multiplier__g_maps_to_weight__g_n
call fcn.10001521
mov ecx, dword [0x102f56d8]
add esp, 0x18
movsd xmm3, qword [esp + 0x98]
movzx edx, word [ebp + 6]
lea eax, [edx - 1]
cmp eax, 8
ja case.default.0x100c13d3
jmp dword [eax*4 + 0x100c2198]
movsd xmm0, qword [0x102c62b0]
jmp 0x100c1432
movsd xmm0, qword [0x1023be50]
jmp 0x100c1432
movsd xmm0, qword [0x10239d48]
jmp 0x100c1432
movsd xmm0, qword [0x1023be58]
jmp 0x100c1432
movsd xmm0, qword [0x102c62b8]
jmp 0x100c1432
movsd xmm0, qword [0x1023be60]
jmp 0x100c1432
movsd xmm0, qword [0x1023be68]
jmp 0x100c1432
movsd xmm0, qword [0x1023be70]
jmp 0x100c1432
movsd xmm0, qword [0x102c62c0]
movsd qword [esp + 0x2c], xmm0
movsd xmm1, qword [esp + 0xd4]
movaps xmm0, xmm1
mulsd xmm0, qword [esp + 0x2c]
movsd qword [esp + 0x2c], xmm0
test ecx, 0x100
je 0x100c147e
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x100c147e
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
push edx
push str._tos2_width_class__d_multiplier__g_maps_to_width__g_n
call fcn.10001521
add esp, 0x18
lea eax, [esp + 0xa0]
mov dword [esp + 0xa0], 0
push eax
xor esi, esi
mov dword [esp + 0x54], 0
push esi
push esi
push 0x53696c66
push dword [esp + 0x20]
mov dword [esp + 0x38], 0
xor ebx, ebx
xor edi, edi
call fcn.100d7f20
mov ebp, eax
lea eax, [esp + 0x38]
push eax
push 0x47504f53
push dword [esp + 0x2c]
call fcn.100c27b0
movzx eax, ax
mov dword [esp + 0x64], eax
lea eax, [esp + 0x70]
push eax
push 0x47535542
push dword [esp + 0x38]
call fcn.100c27b0
add esp, 0x2c
movzx ecx, ax
mov eax, dword [esp + 0x44]
test ebp, ebp
je 0x100c1502
test cx, cx
jne 0x100c1502
test ax, ax
je 0x100c15f8
movzx eax, ax
mov edx, 0xd
mov dword [esp + 0x48], eax
add eax, ecx
mov dword [esp + 0x44], ecx
lea ecx, [eax*8]
sub ecx, eax
xor eax, eax
test ebp, ebp
cmove eax, edx
lea eax, [eax + ecx*2]
push eax
call fcn.1020782d
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100c15f8
mov byte [ebx], 0
test ebp, ebp
jne 0x100c155d
movq xmm0, qword [str.ttable:Silf]
movq qword [ebx], xmm0
mov eax, dword [0x1023be18]
mov dword [ebx + 8], eax
mov al, byte [0x1023be1c]
mov byte [ebx + 0xc], al
mov ebp, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
cmp edi, ecx
jl 0x100c1590
cmp esi, eax
jge 0x100c15cd
cmp edi, ecx
jne 0x100c1590
mov ecx, dword [esp + 0x24]
lea eax, [esi*4]
inc esi
mov eax, dword [eax + ecx]
push eax
push ebx
call fcn.100c29e0
add esp, 8
jmp 0x100c1561
cmp esi, eax
je 0x100c15b6
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + esi*4]
mov eax, dword [ebp + edi*4]
cmp eax, ecx
jb 0x100c15b6
inc esi
cmp eax, ecx
je 0x100c15c0
mov eax, ecx
push eax
push ebx
call fcn.100c29e0
add esp, 8
jmp 0x100c1561
lea eax, [edi*4]
mov eax, dword [eax + ebp]
push eax
push ebx
inc edi
call fcn.100c29e0
add esp, 8
jmp 0x100c1561
test dword [0x102f56d8], 0x100
je 0x100c15f8
push ebx
push str.complex__features_in_this_font:__s_n
call fcn.10001521
push ebp
call fcn.102067ed
push dword [esp + 0x30]
call fcn.102067ed
add esp, 0x10
jmp 0x100c1611
push dword [esp + 0x50]
call fcn.102067ed
push dword [esp + 0x28]
call fcn.102067ed
add esp, 8
test ebx, ebx
je 0x100c1634
mov edi, dword [esp + 0x1c]
push ebx
push 0x24
push edi
call fcn.100be610
add esp, 0xc
push ebx
test eax, eax
je 0x100c0e40
call fcn.102067ed
add esp, 4
jmp 0x100c1638
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0xb0]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x100c165e
push eax
push 0x70726570
push ebx
call fcn.100d56c0
add esp, 0xc
neg eax
sbb eax, eax
inc eax
push eax
push 0x33
push edi
call fcn.100be490
add esp, 0xc
test eax, eax
je 0x100c0e4c
cmp dword [esp + 0xb4], 0
jne 0x100c172d
test ebp, ebp
je 0x100c172d
movzx eax, word [ebp]
cmp eax, 5
jb 0x100c172d
mov ecx, 0xffff
cmp ax, cx
je 0x100c172d
movzx eax, word [ebp + 0x62]
movd xmm1, eax
movzx eax, word [ebp + 0x64]
cvtdq2pd xmm1, xmm1
movd xmm2, eax
divsd xmm1, qword [0x1023be48]
cvtdq2pd xmm2, xmm2
divsd xmm2, qword [0x1023be48]
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jp 0x100c16f2
sub esp, 8
movsd qword [esp], xmm1
push 0xa
push edi
call fcn.100be510
add esp, 0x10
test eax, eax
je 0x100c0e4c
jmp 0x100c172d
sub esp, 0x10
movsd qword [esp + 8], xmm2
movsd qword [esp], xmm1
call sym.project.dll_FcRangeCreateDouble
mov esi, eax
push esi
push 0xa
push edi
call fcn.100be5d0
add esp, 0x1c
push esi
test eax, eax
jne 0x100c1725
call sym.project.dll_FcAtomicDestroy
add esp, 4
jmp 0x100c0e4c
call sym.project.dll_FcAtomicDestroy
add esp, 4
lea eax, [esp + 0x104]
push eax
push ebx
call fcn.100e0120
add esp, 8
test eax, eax
jne 0x100c1810
movsd xmm0, qword [esp + 0x88]
ucomisd xmm0, qword [esp + 0x98]
lahf
test ah, 0x44
jp 0x100c17cf
mov edi, dword [esp + 0x114]
test edi, edi
je 0x100c17cf
xor esi, esi
nop dword [eax + eax]
push dword [esi*8 + 0x1023b818]
push edi
call fcn.100cc860
add esp, 8
test eax, eax
je 0x100c178f
inc esi
cmp esi, 0x17
jl 0x100c1770
or eax, 0xffffffff
jmp 0x100c1796
mov eax, dword [esi*8 + 0x1023b81c]
test dword [0x102f56d8], 0x100
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x88], xmm0
je 0x100c17cf
sub esp, 8
movsd qword [esp], xmm0
push dword [esp + 0x11c]
push str._tType1_weight__s_maps_to__g_n
call fcn.10001521
add esp, 0x10
mov ebp, dword [esp + 0x38]
test ebp, ebp
jne 0x100c183d
mov edi, dword [esp + 0x108]
test edi, edi
je 0x100c1808
mov esi, 0x102d8ab4
push dword [esi - 4]
mov ebp, dword [esi]
push edi
mov dword [esp + 0x40], ebp
call fcn.101f6de0
add esp, 8
test eax, eax
jne 0x100c1814
add esi, 8
cmp esi, 0x102d8b44
jl 0x100c17e7
xor ebp, ebp
mov dword [esp + 0x38], ebp
jmp 0x100c1818
mov ebp, dword [esp + 0x38]
test ebp, ebp
jne 0x100c183d
lea eax, [esp + 0x60]
push eax
push str.FOUNDRY
push ebx
call fcn.100e0170
add esp, 0xc
test eax, eax
jne 0x100c183d
cmp dword [esp + 0x60], 1
cmove ebp, dword [esp + 0x64]
mov dword [esp + 0x38], ebp
movsd xmm0, qword [esp + 0x2c]
ucomisd xmm0, qword [esp + 0x98]
lahf
test ah, 0x44
jp 0x100c19d9
lea eax, [esp + 0x60]
push eax
push str.RELATIVE_SETWIDTH
push ebx
call fcn.100e0170
add esp, 0xc
test eax, eax
jne case.default.0x100c18a5
mov eax, dword [esp + 0x60]
cmp eax, 2
je 0x100c1883
cmp eax, 3
jne case.default.0x100c18a5
mov ecx, dword [esp + 0x64]
mov eax, 0x66666667
lea ecx, [ecx + 5]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
dec eax
add eax, edx
cmp eax, 8
ja case.default.0x100c18a5
jmp dword [eax*4 + 0x100c21bc]
movsd xmm0, qword [0x102c62b0]
movsd qword [esp + 0x2c], xmm0
jmp 0x100c19d9
movsd xmm0, qword [0x1023be50]
movsd qword [esp + 0x2c], xmm0
jmp 0x100c19d9
movsd xmm0, qword [0x10239d48]
movsd qword [esp + 0x2c], xmm0
jmp 0x100c19d9
movsd xmm0, qword [0x1023be58]
movsd qword [esp + 0x2c], xmm0
jmp 0x100c19d9
movsd xmm0, qword [0x102c62b8]
movsd qword [esp + 0x2c], xmm0
jmp 0x100c19d9
movsd xmm0, qword [0x1023be60]
movsd qword [esp + 0x2c], xmm0
jmp 0x100c19d9
movsd xmm0, qword [0x1023be68]
movsd qword [esp + 0x2c], xmm0
jmp 0x100c19d9
movsd xmm0, qword [0x1023be70]
movsd qword [esp + 0x2c], xmm0
jmp 0x100c19d9
movsd xmm0, qword [0x102c62c0]
movsd qword [esp + 0x2c], xmm0
jmp 0x100c19d9
lea eax, [esp + 0x60]
push eax
push str.SETWIDTH_NAME
push ebx
call fcn.100e0170
add esp, 0xc
test eax, eax
jne 0x100c19d9
cmp dword [esp + 0x60], 1
jne 0x100c19d9
mov edi, dword [esp + 0x64]
test edi, edi
je 0x100c19d9
xor esi, esi
nop
push dword [esi*8 + 0x1023b8d0]
push edi
call fcn.100cc860
add esp, 8
test eax, eax
je 0x100c199f
inc esi
cmp esi, 0xa
jl 0x100c1980
or eax, 0xffffffff
jmp 0x100c19a6
mov eax, dword [esi*8 + 0x1023b8d4]
test dword [0x102f56d8], 0x100
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x2c], xmm0
je 0x100c19d9
sub esp, 8
movsd qword [esp], xmm0
push dword [esp + 0x6c]
push str._tsetwidth__s_maps_to__g_n
call fcn.10001521
add esp, 0x10
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x34]
push eax
xor ebx, ebx
push ebx
push 0x102384d8
push edi
call sym.project.dll_FcPatternGetString
add esp, 0x10
test eax, eax
jne 0x100c1c30
or ebp, 0xffffffff
nop
movsd xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x98]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x100c1aa5
mov edi, dword [esp + 0x34]
xor esi, esi
nop word [eax + eax]
mov eax, dword [esi*8 + 0x1023b818]
cmp byte [eax], 0x3c
jne 0x100c1a46
inc eax
push eax
push edi
call fcn.100ccc40
jmp 0x100c1a4d
push eax
push edi
call fcn.100ccb00
add esp, 8
test eax, eax
jne 0x100c1a5f
inc esi
cmp esi, 0x17
jl 0x100c1a30
or eax, 0xffffffff
jmp 0x100c1a66
mov eax, dword [esi*8 + 0x1023b81c]
test dword [0x102f56d8], 0x100
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x88], xmm0
je 0x100c1a9c
sub esp, 8
movsd qword [esp], xmm0
push dword [esp + 0x3c]
push str._tStyle__s_maps_to_weight__g_n
call fcn.10001521
add esp, 0x10
movsd xmm1, qword [esp + 0x98]
movsd xmm0, qword [esp + 0x2c]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x100c1b29
mov edi, dword [esp + 0x34]
xor esi, esi
nop dword [eax + eax]
mov eax, dword [esi*8 + 0x1023b8d0]
cmp byte [eax], 0x3c
jne 0x100c1ad6
inc eax
push eax
push edi
call fcn.100ccc40
jmp 0x100c1add
push eax
push edi
call fcn.100ccb00
add esp, 8
test eax, eax
jne 0x100c1aef
inc esi
cmp esi, 0xa
jl 0x100c1ac0
or eax, 0xffffffff
jmp 0x100c1af6
mov eax, dword [esi*8 + 0x1023b8d4]
test dword [0x102f56d8], 0x100
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x2c], xmm0
je 0x100c1b29
sub esp, 8
movsd qword [esp], xmm0
push dword [esp + 0x3c]
push str._tStyle__s_maps_to_width__g_n
call fcn.10001521
add esp, 0x10
cmp ebp, 0xffffffff
jne 0x100c1b88
mov edi, dword [esp + 0x34]
xor esi, esi
mov eax, dword [esi*8 + 0x1023b920]
cmp byte [eax], 0x3c
jne 0x100c1b4a
inc eax
push eax
push edi
call fcn.100ccc40
jmp 0x100c1b51
push eax
push edi
call fcn.100ccb00
add esp, 8
test eax, eax
jne 0x100c1b63
inc esi
cmp esi, 3
jl 0x100c1b34
or ebp, 0xffffffff
jmp 0x100c1b6a
mov ebp, dword [esi*8 + 0x1023b924]
test dword [0x102f56d8], 0x100
je 0x100c1b88
push ebp
push dword [esp + 0x38]
push str._tStyle__s_maps_to_slant__d_n
call fcn.10001521
add esp, 0xc
cmp dword [esp + 0xb8], 0
jne 0x100c1c02
mov edi, dword [esp + 0x34]
xor esi, esi
nop dword [eax + eax]
mov eax, dword [esi*8 + 0x1023b938]
cmp byte [eax], 0x3c
jne 0x100c1bb6
inc eax
push eax
push edi
call fcn.100ccc40
jmp 0x100c1bbd
push eax
push edi
call fcn.100ccb00
add esp, 8
test eax, eax
jne 0x100c1bcf
inc esi
cmp esi, 6
jl 0x100c1ba0
or eax, 0xffffffff
jmp 0x100c1bd6
mov eax, dword [esi*8 + 0x1023b93c]
xor ecx, ecx
test eax, eax
setg cl
test dword [0x102f56d8], 0x100
mov dword [esp + 0xb8], ecx
je 0x100c1c02
push ecx
push dword [esp + 0x38]
push str._tStyle__s_maps_to_decorative__d_n
call fcn.10001521
add esp, 0xc
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x34]
push eax
inc ebx
push ebx
push 0x102384d8
push edi
call sym.project.dll_FcPatternGetString
add esp, 0x10
test eax, eax
je 0x100c1a00
mov dword [esp + 0x28], ebp
cmp ebp, 0xffffffff
mov ebp, dword [esp + 0x38]
jne 0x100c1c44
mov ebx, dword [esp + 0x10]
xor ecx, ecx
mov eax, 0x64
test byte [ebx + 0xc], 1
cmovne ecx, eax
jmp 0x100c1c4c
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
movsd xmm1, qword [esp + 0x88]
movsd xmm3, qword [esp + 0x98]
movsd xmm0, qword [0x102c62b8]
ucomisd xmm1, xmm3
lahf
test ah, 0x44
jp 0x100c1c90
test byte [ebx + 0xc], 2
movsd qword [esp + 0x88], xmm0
je 0x100c1c90
movsd xmm1, qword [0x102c62c0]
movsd qword [esp + 0x88], xmm1
movsd xmm2, qword [esp + 0x2c]
ucomisd xmm2, xmm3
lahf
test ah, 0x44
jp 0x100c1ca6
movsd qword [esp + 0x2c], xmm0
push ecx
test ebp, ebp
mov esi, str.unknown
push 7
push edi
cmovne esi, ebp
call fcn.100be550
add esp, 0xc
test eax, eax
je 0x100c0e4c
cmp dword [esp + 0xc8], 0
jne 0x100c1cf2
movsd xmm0, qword [esp + 0x88]
sub esp, 8
movsd qword [esp], xmm0
push 8
push edi
call fcn.100be510
add esp, 0x10
test eax, eax
je 0x100c0e4c
cmp dword [esp + 0xcc], 0
jne 0x100c1d1d
movsd xmm0, qword [esp + 0x2c]
sub esp, 8
movsd qword [esp], xmm0
push 9
push edi
call fcn.100be510
add esp, 0x10
test eax, eax
je 0x100c0e4c
push esi
push 0xe
push edi
call fcn.100be610
add esp, 0xc
test eax, eax
je 0x100c0e4c
push dword [esp + 0xb8]
push 0x28
push edi
call fcn.100be490
add esp, 0xc
test eax, eax
je 0x100c0e4c
mov esi, dword [esp + 0xe4]
test esi, esi
je 0x100c1d66
mov eax, dword [esi]
test eax, eax
je 0x100c1d66
push eax
call sym.project.dll_FcCharSetCopy
mov ebp, eax
jmp 0x100c1d7f
push 0
push ebx
call sym.project.dll_FcFreeTypeCharSet
add esp, 8
mov ebp, eax
test esi, esi
je 0x100c1d82
push ebp
call sym.project.dll_FcCharSetCopy
mov dword [esi], eax
add esp, 4
test ebp, ebp
je 0x100c0e4c
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x100c1da1
cmp dword [eax + 4], 0x73796d62
jne 0x100c1da1
mov esi, 1
jmp 0x100c1da3
xor esi, esi
push esi
push 0x30
push edi
call fcn.100be490
add esp, 0xc
test eax, eax
je 0x100c0e4c
push ebx
call fcn.100c21e0
mov edi, eax
lea eax, [esp + 0x64]
push eax
push str.SPACING
push ebx
call fcn.100e0170
add esp, 0x10
test eax, eax
jne 0x100c1f33
cmp dword [esp + 0x60], 1
jne 0x100c1f33
mov eax, dword [esp + 0x64]
test eax, eax
je 0x100c1f33
mov edx, str.cCmMpP
mov ecx, eax
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x100c1e18
test bl, bl
je 0x100c1e14
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x100c1e18
add ecx, 2
add edx, 2
test bl, bl
jne 0x100c1df8
xor ecx, ecx
jmp 0x100c1e1d
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x100c1f2a
mov edx, 0x1023bdf0
mov ecx, eax
nop dword [eax]
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x100c1e50
test bl, bl
je 0x100c1e4c
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x100c1e50
add ecx, 2
add edx, 2
test bl, bl
jne 0x100c1e30
xor ecx, ecx
jmp 0x100c1e55
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x100c1f2a
mov edx, 0x1023bdf4
mov ecx, eax
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x100c1e84
test bl, bl
je 0x100c1e80
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x100c1e84
add ecx, 2
add edx, 2
test bl, bl
jne 0x100c1e64
xor ecx, ecx
jmp 0x100c1e89
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x100c1f23
mov edx, 0x1023bdf8
mov ecx, eax
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x100c1eb8
test bl, bl
je 0x100c1eb4
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x100c1eb8
add ecx, 2
add edx, 2
test bl, bl
jne 0x100c1e98
xor ecx, ecx
jmp 0x100c1ebd
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x100c1f23
mov edx, 0x1023bdfc
mov ecx, eax
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x100c1ee8
test bl, bl
je 0x100c1ee4
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x100c1ee8
add ecx, 2
add edx, 2
test bl, bl
jne 0x100c1ec8
xor ecx, ecx
jmp 0x100c1eed
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x100c1f1f
mov ecx, 0x1023be00
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c1f16
test dl, dl
je 0x100c1f12
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c1f16
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c1ef6
xor eax, eax
jmp 0x100c1f1b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c1f2f
xor edi, edi
jmp 0x100c1f2f
mov edi, 0x64
jmp 0x100c1f2f
mov edi, 0x6e
mov ebx, dword [esp + 0x10]
push ebp
call sym.project.dll_FcCharSetCount
add esp, 4
test eax, eax
jne 0x100c1f5b
lea eax, [esp + 0x60]
push eax
push str.PIXEL_SIZE
push ebx
call fcn.100e0170
add esp, 0xc
test eax, eax
je 0x100c211e
mov ebx, dword [esp + 0x1c]
push ebp
push 0x21
push ebx
call fcn.100be4d0
add esp, 0xc
test eax, eax
je 0x100c1fdf
test esi, esi
jne 0x100c1fbf
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x100c1f8e
mov eax, dword [eax]
test eax, eax
je 0x100c1f8e
push eax
call sym.project.dll_FcLangSetCopy
mov esi, eax
jmp 0x100c1fb6
push dword [esp + 0x74]
push ebp
call fcn.100c9440
add esp, 8
mov esi, eax
cmp dword [esp + 0xbc], 0
je 0x100c1fb9
push esi
call sym.project.dll_FcLangSetCopy
mov ecx, dword [esp + 0xc0]
mov dword [ecx], eax
add esp, 4
test esi, esi
je 0x100c1fdf
jmp 0x100c1fc6
call sym.project.dll_FcLangSetCreate
mov esi, eax
push esi
push 0x22
push ebx
call fcn.100be590
add esp, 0xc
push esi
test eax, eax
jne 0x100c1ff3
call sym.project.dll_FcLangSetDestroy
add esp, 4
mov edi, ebx
mov ebx, dword [esp + 0x10]
push ebp
call sym.project.dll_FcCharSetDestroy
add esp, 4
jmp 0x100c0e4c
call sym.project.dll_FcLangSetDestroy
add esp, 4
test edi, edi
je 0x100c2013
push edi
push 0xd
mov edi, ebx
push edi
call fcn.100be550
add esp, 0xc
test eax, eax
je 0x100c1fe1
jmp 0x100c2015
mov edi, ebx
mov ebx, dword [esp + 0x10]
test byte [ebx + 8], 1
jne 0x100c20bf
mov eax, dword [ebx + 0x1c]
xor edi, edi
test eax, eax
jle 0x100c20a6
xor esi, esi
nop
cmp eax, 1
jne 0x100c2068
lea eax, [esp + 0xd4]
push eax
push str.PIXEL_SIZE
push ebx
call fcn.100e0170
add esp, 0xc
test eax, eax
jne 0x100c2068
cmp dword [esp + 0xd4], 2
jne 0x100c2068
movd xmm0, dword [esp + 0xd8]
cvtdq2pd xmm0, xmm0
jmp 0x100c207d
mov eax, dword [ebx + 0x20]
movd xmm0, dword [eax + esi + 0xc]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10236b48]
sub esp, 8
movsd qword [esp], xmm0
push 0xc
push dword [esp + 0x28]
call fcn.100be510
add esp, 0x10
test eax, eax
je 0x100c211e
mov eax, dword [ebx + 0x1c]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x100c2030
mov edi, dword [esp + 0x1c]
push 0
push 0xf
push edi
call fcn.100be490
add esp, 0xc
test eax, eax
je 0x100c1fe5
push ebx
call fcn.100d7120
add esp, 4
test eax, eax
je 0x100c20e0
push eax
push 0x25
push edi
call fcn.100be610
add esp, 0xc
test eax, eax
je 0x100c1fe5
push ebp
call sym.project.dll_FcCharSetDestroy
mov eax, dword [esp + 0x98]
add esp, 4
test eax, eax
je 0x100c20fd
push eax
call fcn.102067ed
add esp, 4
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100c2117
mov ecx, dword [ebx + 0x54]
test ecx, ecx
je 0x100c2117
push eax
push dword [ecx]
call fcn.100dfc20
add esp, 8
mov eax, edi
jmp 0x100c0e9e
mov edi, dword [esp + 0x1c]
push ebp
call sym.project.dll_FcCharSetDestroy
add esp, 4
jmp 0x100c0e4c
mov edi, dword [esp + 0x1c]
jmp 0x100c0e48
mov edi, ebx
xor esi, esi
mov ebx, ebp
mov ebp, dword [esp + 0x14]
jmp 0x100c0e54
mov ebp, dword [esp + 0x14]
mov edi, ebx
mov ebx, dword [esp + 0x10]
jmp 0x100c0e54
mov edi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x14]
jmp 0x100c0e54
call fcn.101f532c
nop dword [eax]
aaa
or byte [eax + edx], cl
or byte [eax + edx], cl
invalid