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

Disassembly:
sub esp, 0x27c
mov eax, dword [0x102cf440]
xor eax, esp
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x284]
movsd xmm0, qword [0x102bc2a0]
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 [0x102bc1b8]
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.100bb960
call sym.project.dll_FcPatternCreate
mov ebx, eax
mov dword [esp + 0x1c], ebx
test ebx, ebx
je 0x100b779c
mov edi, dword [ebp + 8]
and edi, 1
push edi
push 0x18
push ebx
call fcn.100b4d90
add esp, 0xc
test eax, eax
je 0x100b8a57
mov esi, dword [ebp + 8]
shr esi, 0xe
and esi, 1
push esi
push 0x2f
push ebx
call fcn.100b4d90
add esp, 0xc
test eax, eax
je 0x100b8a39
test edi, edi
jne 0x100b6aff
test esi, esi
jne 0x100b6aff
xor eax, eax
jmp 0x100b6b04
mov eax, 1
push eax
push 0x19
push ebx
call fcn.100b4d90
add esp, 0xc
test eax, eax
je 0x100b8a39
lea eax, [esp + 0x3c]
push eax
push ebp
call fcn.100d6530
mov ecx, dword [esp + 0x98]
add esp, 8
shr ecx, 0x10
test ecx, ecx
je 0x100b6ddb
test eax, eax
jne 0x100b8a39
mov edx, dword [esp + 0x3c]
cmp ecx, 0x8000
jne 0x100b6d02
xor ebp, ebp
xor esi, esi
cmp dword [edx], ebp
jbe 0x100b8a48
movsd xmm3, qword [0x1022ac08]
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 0x100b6cb9
comisd xmm2, xmm0
ja 0x100b6cb9
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jnp 0x100b6cb9
mov eax, dword [ecx + esi + 0x10]
cmp eax, 0x6f70737a
je 0x100b6c65
cmp eax, 0x77647468
je 0x100b6c4a
cmp eax, 0x77676874
jne 0x100b6cb9
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 0x100b6c75
xorps xmm2, xmm2
mov dword [esp + 0xcc], 1
mov edi, 9
movsd qword [esp + 0x2c], xmm2
jmp 0x100b6c75
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.100b4ed0
add esp, 0x1c
push ebx
test eax, eax
je 0x100b6ce7
call sym.project.dll_FcAtomicDestroy
mov edx, dword [esp + 0x40]
add esp, 4
movsd xmm3, qword [0x1022ac08]
mov dword [esp + 0x5c], 1
inc ebp
add esi, 0x18
cmp ebp, dword [edx]
jb 0x100b6b70
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x100b6cef
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x10]
movzx ecx, cx
mov dword [esp + 0x90], ecx
jmp 0x100b6e43
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 0x100b7754
lea eax, [ecx - 1]
cmp eax, dword [edx + 8]
jae 0x100b8a39
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 0x100b6e41
movsd xmm0, qword [0x1022ac08]
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 0x100b6d68
movaps xmm0, xmm2
divsd xmm0, xmm1
jmp 0x100b6d70
movsd xmm0, qword [0x102bc1b8]
mov eax, dword [ecx + esi + 0x10]
cmp eax, 0x6f70737a
je 0x100b6d9f
cmp eax, 0x77647468
je 0x100b6d94
cmp eax, 0x77676874
jne 0x100b6dc1
movsd qword [esp + 0xe8], xmm0
jmp 0x100b6dc1
movsd qword [esp + 0xd4], xmm0
jmp 0x100b6dc1
sub esp, 8
movsd qword [esp], xmm2
push 0xa
push ebx
call fcn.100b4e10
add esp, 0x10
test eax, eax
je 0x100b8a39
mov edx, dword [esp + 0x3c]
xorps xmm3, xmm3
movsd xmm0, qword [0x1022ac08]
inc edi
mov eax, dword [esp + 0x24]
add esi, 0x18
cmp edi, dword [edx]
jb 0x100b6d35
jmp 0x100b6e41
test eax, eax
jne 0x100b6e41
mov eax, dword [esp + 0x3c]
xor edi, edi
cmp dword [eax], edi
jbe 0x100b6e41
xor esi, esi
nop dword [eax + eax]
mov ecx, dword [eax + 0xc]
cmp dword [ecx + esi + 0x10], 0x6f70737a
jne 0x100b6e39
movd xmm0, dword [ecx + esi + 8]
sub esp, 8
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x1022ac08]
movsd qword [esp], xmm0
push 0xa
push ebx
call fcn.100b4e10
add esp, 0x10
test eax, eax
je 0x100b8a39
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xb4], 1
inc edi
add esi, 0x18
cmp edi, dword [eax]
jb 0x100b6df0
xor eax, eax
mov edi, dword [esp + 0x1c]
push eax
push 0x32
push edi
call fcn.100b4d90
add esp, 0xc
test eax, eax
je 0x100b6cf3
push 2
push ebp
call fcn.100cd9d0
mov esi, eax
add esp, 8
mov dword [esp + 0xb0], esi
mov ecx, 0xffff
test esi, esi
je 0x100b6ea7
movzx eax, word [esi]
cmp eax, 1
jb 0x100b6ea7
cmp ax, cx
je 0x100b6ea7
cmp byte [esi + 0x3c], 0
je 0x100b6ea7
push 5
call fcn.101fe13d
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 [0x102eb638], 0x100
je 0x100b6ec0
push 0x1022ac74
call fcn.10001521
add esp, 4
push ebp
call fcn.100cd9b0
mov edx, dword [esp + 0x18]
add esp, 4
mov ebx, eax
mov dword [esp + 0x70], ebx
test edx, edx
je 0x100b6ee5
mov esi, dword [edx]
mov dword [esp + 0x18], esi
test esi, esi
jne 0x100b6f99
lea eax, [ebx + ebx*4]
shl eax, 2
push eax
call fcn.101fe13d
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
jne 0x100b6f06
xor ebx, ebx
mov dword [esp + 0x70], ebx
jmp 0x100b6f7e
xor edi, edi
test ebx, ebx
jle 0x100b6f7e
add esi, 0xc
nop
lea eax, [esp + 0x78]
push eax
push edi
push ebp
call fcn.100cd8b0
add esp, 0xc
test eax, eax
jne 0x100b6f51
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 0x100b6f6f
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 0x100b6f10
mov esi, dword [esp + 0x18]
push 0x100b9460
push 0x14
push ebx
push esi
call fcn.101ffb40
mov edx, dword [esp + 0x24]
add esp, 0x10
test edx, edx
je 0x100b6f99
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 + 0x10231918]
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 + 0x10231920]
mov dword [esp + 0x58], eax
mov dword [esp + 0xa0], eax
test edx, edx
je 0x100b7024
cmp eax, 0x16
je 0x100b7531
cmp eax, 0x11
je 0x100b7531
cmp eax, 4
je 0x100b7531
cmp eax, 2
jne 0x100b7024
mov eax, dword [edx + 4]
mov dword [esp + 0x58], eax
lea ebp, [ebx - 1]
xor edi, edi
test ebp, ebp
js 0x100b7531
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.100cd8b0
mov dx, word [esp + 0x8a]
add esp, 0xc
mov bx, word [esp + 0x78]
test eax, eax
jne 0x100b70f4
movzx eax, bx
cmp dword [esp + 0x28], eax
jb 0x100b70e0
jne 0x100b70b4
movzx ecx, dx
cmp dword [esp + 0x58], ecx
jb 0x100b70e0
jne 0x100b70ce
cmp dword [esp + 0x20], 0
je 0x100b70c0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
cmp eax, dword [ecx + esi*4 - 0x14]
jne 0x100b70c0
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 0x100b70e4
jmp 0x100b70b8
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0x28], eax
ja 0x100b70db
je 0x100b70d2
mov esi, dword [esp + 0x20]
cmp esi, 0xffffffff
jne 0x100b70fa
jmp 0x100b7525
mov ecx, dword [esp + 0x20]
movzx eax, dx
cmp dword [esp + 0x58], eax
jbe 0x100b70c0
lea edi, [ecx + 1]
jmp 0x100b70e7
mov ecx, dword [esp + 0x20]
lea ebp, [ecx - 1]
cmp edi, ebp
jle 0x100b7031
jmp 0x100b7525
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.0x100b7130.2
movzx eax, byte [ecx + 0x100b8a80]
jmp dword [eax*4 + 0x100b8a6c]
test dword [0x102eb638], 0x100
je 0x100b7164
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 0x100b72b6
cmp dword [esp + 0x5c], 0
jne case.0x100b7130.2
test dword [0x102eb638], 0x100
je 0x100b71c7
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 0x100b72b6
cmp dword [esp + 0x5c], 0
jne case.0x100b7130.2
test dword [0x102eb638], 0x100
je 0x100b722a
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 0x100b72b6
cmp dword [esp + 0x38], 0
jne case.0x100b7130.2
lea eax, [esp + 0x78]
push eax
call fcn.100b8d60
mov edi, eax
add esp, 4
test edi, edi
je 0x100b7292
mov esi, 0x102cea54
push dword [esi - 4]
mov ebx, dword [esi]
push edi
mov dword [esp + 0x40], ebx
call fcn.101ed700
add esp, 8
test eax, eax
jne 0x100b729a
add esi, 8
cmp esi, 0x102ceae4
jl 0x100b7271
mov dword [esp + 0x38], 0
push edi
call fcn.101fd0fd
mov esi, dword [esp + 0x24]
add esp, 4
mov edi, dword [esp + 0x4c]
cmp dword [esp + 0x54], 0
je 0x100b74d2
lea eax, [esp + 0x78]
push eax
call fcn.100b8d60
mov di, word [esp + 0x7c]
add esp, 4
movzx esi, word [esp + 0x7c]
mov ebx, eax
cmp di, 1
jne 0x100b72fd
cmp word [esp + 0x7a], 0
jne 0x100b72fd
push dword [esp + 0x84]
push dword [esp + 0x84]
call fcn.100b8d20
add esp, 8
test eax, eax
mov eax, 0xb
cmovne esi, eax
xor edx, edx
mov eax, 0x102306fa
cmp word [eax - 2], di
jne 0x100b7324
movzx ecx, word [eax]
mov ebp, 0xffff
cmp cx, bp
je 0x100b7431
cmp cx, si
je 0x100b7431
add eax, 0xc
inc edx
cmp eax, str.SJIS_WIN
jl 0x100b7304
xor ebp, ebp
test dword [0x102eb638], 0x100
je 0x100b7355
test ebx, ebx
mov eax, 0x10231bb4
cmovne eax, ebx
push eax
push 0x102b8a90
call fcn.10001521
add esp, 8
test ebx, ebx
je 0x100b74ca
cmp byte [ebx], 0x20
mov ecx, ebx
jne 0x100b736a
inc ecx
cmp byte [ecx], 0x20
je 0x100b7364
mov esi, ecx
lea edx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x100b7370
sub esi, edx
lea eax, [esi + 1]
push eax
push ecx
push ebx
call fcn.101ecd90
lea eax, [esi + ebx]
add esp, 0xc
cmp eax, ebx
jbe 0x100b739b
nop
cmp byte [eax - 1], 0x20
jne 0x100b739b
dec eax
cmp eax, ebx
ja 0x100b7390
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.100b46c0
add esp, 0x14
test eax, eax
je 0x100b744e
lea eax, [esp + 0xa8]
push eax
push edi
call fcn.100b4c70
mov esi, eax
add esp, 8
test esi, esi
je 0x100b744e
lea ecx, [esi + 8]
push ecx
lea eax, [esp + 0x128]
push eax
call fcn.100b5ae0
add esp, 8
movups xmm0, xmmword [eax]
movd eax, xmm0
movups xmmword [esp + 0xf4], xmm0
cmp eax, 3
jne 0x100b744e
push ebx
push dword [esp + 0x100]
call fcn.100c3170
add esp, 8
test eax, eax
je 0x100b75ea
mov eax, dword [esi]
test al, 1
je 0x100b7448
and eax, 0xfffffffe
add esi, eax
jmp 0x100b744a
lea eax, [edx + edx*2]
lea ebp, [eax*4 + 0x102306fc]
xor eax, eax
cmp byte [ebp], al
cmove ebp, eax
jmp 0x100b7331
mov esi, eax
test esi, esi
jne 0x100b73e4
push ebx
push dword [esp + 0x58]
push edi
call fcn.100b4f10
add esp, 0xc
push ebx
test eax, eax
je 0x100b7740
call fcn.101fd0fd
add esp, 4
test ebp, ebp
je 0x100b74c4
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x6c]
mov esi, dword [ebx]
mov edi, dword [edi]
cmp esi, edi
jge 0x100b74a5
push 0x1022fa20
push dword [esp + 0x6c]
push dword [esp + 0x24]
call fcn.100b4f10
add esp, 0xc
test eax, eax
je 0x100b8a30
inc esi
mov dword [ebx], esi
cmp esi, edi
jl 0x100b7481
mov edi, dword [esp + 0x1c]
push ebp
push dword [esp + 0x6c]
push edi
call fcn.100b4f10
add esp, 0xc
test eax, eax
je 0x100b7748
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 0x100b7529
mov ebp, dword [esp + 0x10]
lea eax, [esp + 0x78]
push eax
push dword [edi]
push ebp
call fcn.100cd8b0
add esp, 0xc
test eax, eax
jne 0x100b7529
mov bx, word [esp + 0x78]
movzx eax, bx
cmp dword [esp + 0x28], eax
jne 0x100b7525
mov dx, word [esp + 0x7e]
mov ecx, dword [esp + 0xa0]
movzx eax, dx
cmp dword [esp + 0x58], eax
je 0x100b7120
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 0x100b6fd0
mov eax, dword [esp + 0x48]
inc eax
mov dword [esp + 0x48], eax
cmp eax, 4
jb 0x100b6fb0
mov ebp, dword [esp + 0x14]
test ebp, ebp
jne 0x100b7569
push dword [esp + 0x18]
call fcn.101fd0fd
add esp, 4
mov dword [esp + 0x18], ebp
mov esi, dword [esp + 0xd0]
mov ebx, dword [esp + 0x10]
test esi, esi
jne 0x100b75f8
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x100b75f8
push 0x102b89f9
push eax
call fcn.100c3170
add esp, 8
test eax, eax
je 0x100b75f8
test dword [0x102eb638], 0x100
je 0x100b75b1
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.100b4f10
add esp, 0xc
test eax, eax
je 0x100b7750
push 0x1022fc94
push 2
push edi
call fcn.100b4f10
add esp, 0xc
test eax, eax
je 0x100b7750
mov esi, 1
jmp 0x100b75fc
push ebx
call fcn.101fd0fd
add esp, 4
jmp 0x100b74ca
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x5c], 0
jne 0x100b7699
cmp dword [esp + 0xc0], 0
jne 0x100b7699
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x100b764f
push 0x102b89f9
push eax
call fcn.100c3170
add esp, 8
test eax, eax
je 0x100b764f
test dword [0x102eb638], 0x100
je 0x100b764a
push dword [ebx + 0x18]
push str.using_FreeType_style___s__n
call fcn.10001521
add esp, 8
mov eax, dword [ebx + 0x18]
jmp 0x100b766d
test dword [0x102eb638], 0x100
je 0x100b7668
push str.applying_default_style_Regular_n
call fcn.10001521
add esp, 4
mov eax, 0x10231bd8
push eax
push 3
push edi
call fcn.100b4f10
add esp, 0xc
test eax, eax
je 0x100b7750
push 0x1022fc94
push 4
push edi
call fcn.100b4f10
add esp, 0xc
test eax, eax
je 0x100b7750
mov ebp, dword [esp + 0x44]
test esi, esi
jne 0x100b77dc
test ebp, ebp
je 0x100b77dc
cmp byte [ebp], 0
je 0x100b77dc
push 0x2f
push ebp
call fcn.101ed970
mov edi, eax
add esp, 8
test edi, edi
je 0x100b76cb
inc edi
jmp 0x100b76cd
mov edi, ebp
push 0x2e
push edi
call fcn.101ed970
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x100b76ef
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100b76e3
sub ecx, edx
lea ebp, [ecx + edi]
mov esi, ebp
sub esi, edi
lea eax, [esi + 1]
push eax
call fcn.101fe13d
push esi
mov ebx, eax
push edi
push ebx
call fcn.101fe450
mov ecx, ebx
add esp, 0x10
sub ecx, edi
mov byte [ecx + ebp], 0
test dword [0x102eb638], 0x100
je 0x100b772b
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.100b4f10
add esp, 0xc
test eax, eax
jne 0x100b77b7
push ebx
call fcn.101fd0fd
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 0x100b7777
mov eax, dword [ebx + 0x54]
test eax, eax
je 0x100b7777
push ecx
push dword [eax]
call fcn.100d6510
add esp, 8
test ebp, ebp
jne 0x100b7788
test esi, esi
je 0x100b7788
push esi
call fcn.101fd0fd
add esp, 4
mov eax, dword [esp + 0x94]
test eax, eax
je 0x100b779c
push eax
call fcn.101fd0fd
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x288]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101eafcd
add esp, 0x27c
ret
push 0x1022fc94
push 2
push edi
call fcn.100b4f10
add esp, 0xc
push ebx
test eax, eax
je 0x100b7740
call fcn.101fd0fd
mov ebp, dword [esp + 0x48]
add esp, 4
cmp dword [esp + 0x5c], 0
jne 0x100b7b28
cmp dword [esp + 0xc4], 0
jne 0x100b79fb
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
xor esi, esi
push esi
push 2
push edi
call fcn.100b5250
add esp, 0x10
test eax, eax
jne 0x100b7853
nop dword [eax]
nop dword [eax + eax]
push 0x1022fc94
push dword [esp + 0x24]
call sym.project.dll_FcStrCmp
add esp, 8
test eax, eax
je 0x100b7853
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
inc esi
push esi
push 2
push edi
call fcn.100b5250
add esp, 0x10
test eax, eax
je 0x100b7820
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.100b5250
add esp, 0x10
test eax, eax
jne 0x100b7748
mov ecx, dword [esp + 0x28]
mov esi, ecx
lea edx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x100b7880
sub esi, edx
je 0x100b78b1
nop dword [eax + eax]
movzx eax, byte [esi + ecx - 1]
push eax
call fcn.101fd7f0
add esp, 4
test eax, eax
je 0x100b78ad
sub esi, 1
je 0x100b78ad
mov ecx, dword [esp + 0x28]
jmp 0x100b7890
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.100b5250
add esp, 0x10
test eax, eax
jne 0x100b7903
nop dword [eax]
push 0x1022fc94
push dword [esp + 0x24]
call sym.project.dll_FcStrCmp
add esp, 8
test eax, eax
je 0x100b7903
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
inc esi
push esi
push 4
push edi
call fcn.100b5250
add esp, 0x10
test eax, eax
je 0x100b78d0
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.100b5250
add esp, 0x10
test eax, eax
jne 0x100b7748
mov ecx, dword [esp + 0x40]
mov edi, ecx
lea edx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x100b7930
sub edi, edx
xor esi, esi
cmp byte [ecx], al
je 0x100b795c
nop
movzx eax, byte [ecx + esi]
push eax
call fcn.101fd7f0
mov ecx, dword [esp + 0x44]
add esp, 4
test eax, eax
je 0x100b795c
inc esi
cmp byte [ecx + esi], 0
jne 0x100b7940
sub edi, esi
lea eax, [ecx + esi]
push edi
push eax
push ecx
call fcn.101ecd90
push 0
lea eax, [esp + 0x144]
push 0
push eax
call fcn.100c2be0
push dword [esp + 0x40]
lea eax, [esp + 0x150]
push eax
call fcn.100c2c20
lea eax, [esp + 0x154]
push 0x20
push eax
call fcn.100c29d0
push dword [esp + 0x68]
lea eax, [esp + 0x160]
push eax
call fcn.100c2c20
lea eax, [esp + 0x164]
push eax
call fcn.100c2bc0
mov edi, dword [esp + 0x50]
push eax
push 5
push edi
call fcn.100b4f10
add esp, 0x40
test eax, eax
lea eax, [esp + 0x134]
push eax
jne 0x100b79de
call fcn.100c2b10
jmp 0x100b7745
call fcn.100c2b10
push 0x1022fc94
push 6
push edi
call fcn.100b4f10
add esp, 0x10
test eax, eax
je 0x100b7748
mov ebx, dword [esp + 0x10]
push ebx
call fcn.100cd850
add esp, 4
test eax, eax
jne 0x100b7aed
mov dword [esp + 0x24], eax
xor esi, esi
lea eax, [esp + 0x24]
push eax
push esi
push 2
push edi
call fcn.100b5250
add esp, 0x10
test eax, eax
jne 0x100b7a63
nop dword [eax + eax]
push 0x1022fc94
push dword [esp + 0x28]
call sym.project.dll_FcStrCmp
add esp, 8
test eax, eax
je 0x100b7a63
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
inc esi
push esi
push 2
push edi
call fcn.100b5250
add esp, 0x10
test eax, eax
je 0x100b7a30
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.100b5250
add esp, 0x10
test eax, eax
jne 0x100b774c
mov ecx, dword [esp + 0x48]
mov edi, ecx
lea edx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x100b7a90
mov esi, 0
sub edi, edx
je 0x100b7adf
cmp esi, 0xff
jae 0x100b7ad3
movzx eax, byte [esi + ecx]
push eax
push 0x10231934
call fcn.101ed5d0
mov ecx, dword [esp + 0x50]
add esp, 8
test eax, eax
mov al, 0x2d
jne 0x100b7ac7
mov al, byte [esi + ecx]
mov byte [esp + esi + 0x188], al
inc esi
cmp esi, edi
jb 0x100b7aa0
cmp esi, 0x100
jae 0x100b8a64
mov edi, dword [esp + 0x1c]
mov byte [esp + esi + 0x188], 0
jmp 0x100b7b0b
push 0xff
push eax
lea eax, [esp + 0x190]
push eax
call fcn.101fe450
add esp, 0xc
mov byte [esp + 0x287], 0
lea eax, [esp + 0x188]
push eax
push 0x2e
push edi
call fcn.100b4f10
add esp, 0xc
test eax, eax
je 0x100b774c
jmp 0x100b7b2c
mov ebx, dword [esp + 0x10]
test ebp, ebp
je 0x100b7b4a
cmp byte [ebp], 0
je 0x100b7b4a
push ebp
push 0x15
push edi
call fcn.100b4f10
add esp, 0xc
test eax, eax
je 0x100b774c
push dword [esp + 0x90]
push 0x16
push edi
call fcn.100b4e50
add esp, 0xc
test eax, eax
je 0x100b774c
push 0
push ebx
call fcn.100cd9d0
add esp, 8
test eax, eax
je 0x100b7b78
push dword [eax + 4]
jmp 0x100b7b7a
push 0
push 0x23
push edi
call fcn.100b4e50
add esp, 0xc
test eax, eax
je 0x100b774c
push 0
push 0x34
push edi
call fcn.100b4e50
add esp, 0xc
test eax, eax
je 0x100b774c
mov ebp, dword [esp + 0xb0]
test ebp, ebp
je 0x100b7f43
movzx eax, word [ebp]
cmp eax, 1
jb 0x100b7c15
mov ecx, 0xffff
cmp ax, cx
je 0x100b7c15
mov edx, 0x102305f9
xor edi, edi
nop dword [eax + eax]
cmp byte [edx - 1], 0x20
movsx ecx, byte [edx - 1]
jge 0x100b7bdf
mov esi, dword [ebp + 0x50]
jmp 0x100b7be2
mov esi, dword [ebp + 0x54]
lea eax, [ecx - 0x20]
cmovge ecx, eax
mov eax, 1
shl eax, cl
test esi, eax
je 0x100b7bfe
cmp dword [esp + 0x74], 0
jne 0x100b7c0b
mov dword [esp + 0x74], edx
add edi, 7
add edx, 7
cmp edi, 0x1c
jb 0x100b7bd0
jmp 0x100b7c2c
mov dword [esp + 0x74], 0
jmp 0x100b7c2c
mov eax, 0xffff
mov dword [esp + 0x74], 0
cmp word [ebp], ax
je 0x100b7d7e
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 [0x102eb638]
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 0x100b7cc7
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x100b7cc7
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 [0x102eb638]
add esp, 0x18
movsd xmm3, qword [esp + 0x98]
movzx edx, word [ebp + 6]
lea eax, [edx - 1]
cmp eax, 8
ja case.default.0x100b7cd3
jmp dword [eax*4 + 0x100b8a98]
movsd xmm0, qword [0x102bc220]
jmp 0x100b7d32
movsd xmm0, qword [0x10231e00]
jmp 0x100b7d32
movsd xmm0, qword [0x1022fcf8]
jmp 0x100b7d32
movsd xmm0, qword [0x10231e08]
jmp 0x100b7d32
movsd xmm0, qword [0x102bc228]
jmp 0x100b7d32
movsd xmm0, qword [0x10231e10]
jmp 0x100b7d32
movsd xmm0, qword [0x10231e18]
jmp 0x100b7d32
movsd xmm0, qword [0x10231e20]
jmp 0x100b7d32
movsd xmm0, qword [0x102bc230]
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 0x100b7d7e
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x100b7d7e
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.100ce810
mov ebp, eax
lea eax, [esp + 0x38]
push eax
push 0x47504f53
push dword [esp + 0x2c]
call fcn.100b90b0
movzx eax, ax
mov dword [esp + 0x64], eax
lea eax, [esp + 0x70]
push eax
push 0x47535542
push dword [esp + 0x38]
call fcn.100b90b0
add esp, 0x2c
movzx ecx, ax
mov eax, dword [esp + 0x44]
test ebp, ebp
je 0x100b7e02
test cx, cx
jne 0x100b7e02
test ax, ax
je 0x100b7ef8
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.101fe13d
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100b7ef8
mov byte [ebx], 0
test ebp, ebp
jne 0x100b7e5d
movq xmm0, qword [str.ttable:Silf]
movq qword [ebx], xmm0
mov eax, dword [0x10231dc8]
mov dword [ebx + 8], eax
mov al, byte [0x10231dcc]
mov byte [ebx + 0xc], al
mov ebp, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
cmp edi, ecx
jl 0x100b7e90
cmp esi, eax
jge 0x100b7ecd
cmp edi, ecx
jne 0x100b7e90
mov ecx, dword [esp + 0x24]
lea eax, [esi*4]
inc esi
mov eax, dword [eax + ecx]
push eax
push ebx
call fcn.100b92e0
add esp, 8
jmp 0x100b7e61
cmp esi, eax
je 0x100b7eb6
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + esi*4]
mov eax, dword [ebp + edi*4]
cmp eax, ecx
jb 0x100b7eb6
inc esi
cmp eax, ecx
je 0x100b7ec0
mov eax, ecx
push eax
push ebx
call fcn.100b92e0
add esp, 8
jmp 0x100b7e61
lea eax, [edi*4]
mov eax, dword [eax + ebp]
push eax
push ebx
inc edi
call fcn.100b92e0
add esp, 8
jmp 0x100b7e61
test dword [0x102eb638], 0x100
je 0x100b7ef8
push ebx
push str.complex__features_in_this_font:__s_n
call fcn.10001521
push ebp
call fcn.101fd0fd
push dword [esp + 0x30]
call fcn.101fd0fd
add esp, 0x10
jmp 0x100b7f11
push dword [esp + 0x50]
call fcn.101fd0fd
push dword [esp + 0x28]
call fcn.101fd0fd
add esp, 8
test ebx, ebx
je 0x100b7f34
mov edi, dword [esp + 0x1c]
push ebx
push 0x24
push edi
call fcn.100b4f10
add esp, 0xc
push ebx
test eax, eax
je 0x100b7740
call fcn.101fd0fd
add esp, 4
jmp 0x100b7f38
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0xb0]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x100b7f5e
push eax
push 0x70726570
push ebx
call fcn.100cbfc0
add esp, 0xc
neg eax
sbb eax, eax
inc eax
push eax
push 0x33
push edi
call fcn.100b4d90
add esp, 0xc
test eax, eax
je 0x100b774c
cmp dword [esp + 0xb4], 0
jne 0x100b802d
test ebp, ebp
je 0x100b802d
movzx eax, word [ebp]
cmp eax, 5
jb 0x100b802d
mov ecx, 0xffff
cmp ax, cx
je 0x100b802d
movzx eax, word [ebp + 0x62]
movd xmm1, eax
movzx eax, word [ebp + 0x64]
cvtdq2pd xmm1, xmm1
movd xmm2, eax
divsd xmm1, qword [0x10231df8]
cvtdq2pd xmm2, xmm2
divsd xmm2, qword [0x10231df8]
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jp 0x100b7ff2
sub esp, 8
movsd qword [esp], xmm1
push 0xa
push edi
call fcn.100b4e10
add esp, 0x10
test eax, eax
je 0x100b774c
jmp 0x100b802d
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.100b4ed0
add esp, 0x1c
push esi
test eax, eax
jne 0x100b8025
call sym.project.dll_FcAtomicDestroy
add esp, 4
jmp 0x100b774c
call sym.project.dll_FcAtomicDestroy
add esp, 4
lea eax, [esp + 0x104]
push eax
push ebx
call fcn.100d6a10
add esp, 8
test eax, eax
jne 0x100b8110
movsd xmm0, qword [esp + 0x88]
ucomisd xmm0, qword [esp + 0x98]
lahf
test ah, 0x44
jp 0x100b80cf
mov edi, dword [esp + 0x114]
test edi, edi
je 0x100b80cf
xor esi, esi
nop dword [eax + eax]
push dword [esi*8 + 0x102317c8]
push edi
call fcn.100c3170
add esp, 8
test eax, eax
je 0x100b808f
inc esi
cmp esi, 0x17
jl 0x100b8070
or eax, 0xffffffff
jmp 0x100b8096
mov eax, dword [esi*8 + 0x102317cc]
test dword [0x102eb638], 0x100
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x88], xmm0
je 0x100b80cf
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 0x100b813d
mov edi, dword [esp + 0x108]
test edi, edi
je 0x100b8108
mov esi, 0x102cea54
push dword [esi - 4]
mov ebp, dword [esi]
push edi
mov dword [esp + 0x40], ebp
call fcn.101ed700
add esp, 8
test eax, eax
jne 0x100b8114
add esi, 8
cmp esi, 0x102ceae4
jl 0x100b80e7
xor ebp, ebp
mov dword [esp + 0x38], ebp
jmp 0x100b8118
mov ebp, dword [esp + 0x38]
test ebp, ebp
jne 0x100b813d
lea eax, [esp + 0x60]
push eax
push str.FOUNDRY
push ebx
call fcn.100d6a60
add esp, 0xc
test eax, eax
jne 0x100b813d
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 0x100b82d9
lea eax, [esp + 0x60]
push eax
push str.RELATIVE_SETWIDTH
push ebx
call fcn.100d6a60
add esp, 0xc
test eax, eax
jne case.default.0x100b81a5
mov eax, dword [esp + 0x60]
cmp eax, 2
je 0x100b8183
cmp eax, 3
jne case.default.0x100b81a5
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.0x100b81a5
jmp dword [eax*4 + 0x100b8abc]
movsd xmm0, qword [0x102bc220]
movsd qword [esp + 0x2c], xmm0
jmp 0x100b82d9
movsd xmm0, qword [0x10231e00]
movsd qword [esp + 0x2c], xmm0
jmp 0x100b82d9
movsd xmm0, qword [0x1022fcf8]
movsd qword [esp + 0x2c], xmm0
jmp 0x100b82d9
movsd xmm0, qword [0x10231e08]
movsd qword [esp + 0x2c], xmm0
jmp 0x100b82d9
movsd xmm0, qword [0x102bc228]
movsd qword [esp + 0x2c], xmm0
jmp 0x100b82d9
movsd xmm0, qword [0x10231e10]
movsd qword [esp + 0x2c], xmm0
jmp 0x100b82d9
movsd xmm0, qword [0x10231e18]
movsd qword [esp + 0x2c], xmm0
jmp 0x100b82d9
movsd xmm0, qword [0x10231e20]
movsd qword [esp + 0x2c], xmm0
jmp 0x100b82d9
movsd xmm0, qword [0x102bc230]
movsd qword [esp + 0x2c], xmm0
jmp 0x100b82d9
lea eax, [esp + 0x60]
push eax
push str.SETWIDTH_NAME
push ebx
call fcn.100d6a60
add esp, 0xc
test eax, eax
jne 0x100b82d9
cmp dword [esp + 0x60], 1
jne 0x100b82d9
mov edi, dword [esp + 0x64]
test edi, edi
je 0x100b82d9
xor esi, esi
nop
push dword [esi*8 + 0x10231880]
push edi
call fcn.100c3170
add esp, 8
test eax, eax
je 0x100b829f
inc esi
cmp esi, 0xa
jl 0x100b8280
or eax, 0xffffffff
jmp 0x100b82a6
mov eax, dword [esi*8 + 0x10231884]
test dword [0x102eb638], 0x100
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x2c], xmm0
je 0x100b82d9
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 0x1022e4d8
push edi
call sym.project.dll_FcPatternGetString
add esp, 0x10
test eax, eax
jne 0x100b8530
or ebp, 0xffffffff
nop
movsd xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x98]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x100b83a5
mov edi, dword [esp + 0x34]
xor esi, esi
nop word [eax + eax]
mov eax, dword [esi*8 + 0x102317c8]
cmp byte [eax], 0x3c
jne 0x100b8346
inc eax
push eax
push edi
call fcn.100c3550
jmp 0x100b834d
push eax
push edi
call fcn.100c3410
add esp, 8
test eax, eax
jne 0x100b835f
inc esi
cmp esi, 0x17
jl 0x100b8330
or eax, 0xffffffff
jmp 0x100b8366
mov eax, dword [esi*8 + 0x102317cc]
test dword [0x102eb638], 0x100
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x88], xmm0
je 0x100b839c
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 0x100b8429
mov edi, dword [esp + 0x34]
xor esi, esi
nop dword [eax + eax]
mov eax, dword [esi*8 + 0x10231880]
cmp byte [eax], 0x3c
jne 0x100b83d6
inc eax
push eax
push edi
call fcn.100c3550
jmp 0x100b83dd
push eax
push edi
call fcn.100c3410
add esp, 8
test eax, eax
jne 0x100b83ef
inc esi
cmp esi, 0xa
jl 0x100b83c0
or eax, 0xffffffff
jmp 0x100b83f6
mov eax, dword [esi*8 + 0x10231884]
test dword [0x102eb638], 0x100
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x2c], xmm0
je 0x100b8429
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 0x100b8488
mov edi, dword [esp + 0x34]
xor esi, esi
mov eax, dword [esi*8 + 0x102318d0]
cmp byte [eax], 0x3c
jne 0x100b844a
inc eax
push eax
push edi
call fcn.100c3550
jmp 0x100b8451
push eax
push edi
call fcn.100c3410
add esp, 8
test eax, eax
jne 0x100b8463
inc esi
cmp esi, 3
jl 0x100b8434
or ebp, 0xffffffff
jmp 0x100b846a
mov ebp, dword [esi*8 + 0x102318d4]
test dword [0x102eb638], 0x100
je 0x100b8488
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 0x100b8502
mov edi, dword [esp + 0x34]
xor esi, esi
nop dword [eax + eax]
mov eax, dword [esi*8 + 0x102318e8]
cmp byte [eax], 0x3c
jne 0x100b84b6
inc eax
push eax
push edi
call fcn.100c3550
jmp 0x100b84bd
push eax
push edi
call fcn.100c3410
add esp, 8
test eax, eax
jne 0x100b84cf
inc esi
cmp esi, 6
jl 0x100b84a0
or eax, 0xffffffff
jmp 0x100b84d6
mov eax, dword [esi*8 + 0x102318ec]
xor ecx, ecx
test eax, eax
setg cl
test dword [0x102eb638], 0x100
mov dword [esp + 0xb8], ecx
je 0x100b8502
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 0x1022e4d8
push edi
call sym.project.dll_FcPatternGetString
add esp, 0x10
test eax, eax
je 0x100b8300
mov dword [esp + 0x28], ebp
cmp ebp, 0xffffffff
mov ebp, dword [esp + 0x38]
jne 0x100b8544
mov ebx, dword [esp + 0x10]
xor ecx, ecx
mov eax, 0x64
test byte [ebx + 0xc], 1
cmovne ecx, eax
jmp 0x100b854c
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
movsd xmm1, qword [esp + 0x88]
movsd xmm3, qword [esp + 0x98]
movsd xmm0, qword [0x102bc228]
ucomisd xmm1, xmm3
lahf
test ah, 0x44
jp 0x100b8590
test byte [ebx + 0xc], 2
movsd qword [esp + 0x88], xmm0
je 0x100b8590
movsd xmm1, qword [0x102bc230]
movsd qword [esp + 0x88], xmm1
movsd xmm2, qword [esp + 0x2c]
ucomisd xmm2, xmm3
lahf
test ah, 0x44
jp 0x100b85a6
movsd qword [esp + 0x2c], xmm0
push ecx
test ebp, ebp
mov esi, str.unknown
push 7
push edi
cmovne esi, ebp
call fcn.100b4e50
add esp, 0xc
test eax, eax
je 0x100b774c
cmp dword [esp + 0xc8], 0
jne 0x100b85f2
movsd xmm0, qword [esp + 0x88]
sub esp, 8
movsd qword [esp], xmm0
push 8
push edi
call fcn.100b4e10
add esp, 0x10
test eax, eax
je 0x100b774c
cmp dword [esp + 0xcc], 0
jne 0x100b861d
movsd xmm0, qword [esp + 0x2c]
sub esp, 8
movsd qword [esp], xmm0
push 9
push edi
call fcn.100b4e10
add esp, 0x10
test eax, eax
je 0x100b774c
push esi
push 0xe
push edi
call fcn.100b4f10
add esp, 0xc
test eax, eax
je 0x100b774c
push dword [esp + 0xb8]
push 0x28
push edi
call fcn.100b4d90
add esp, 0xc
test eax, eax
je 0x100b774c
mov esi, dword [esp + 0xe4]
test esi, esi
je 0x100b8666
mov eax, dword [esi]
test eax, eax
je 0x100b8666
push eax
call sym.project.dll_FcCharSetCopy
mov ebp, eax
jmp 0x100b867f
push 0
push ebx
call sym.project.dll_FcFreeTypeCharSet
add esp, 8
mov ebp, eax
test esi, esi
je 0x100b8682
push ebp
call sym.project.dll_FcCharSetCopy
mov dword [esi], eax
add esp, 4
test ebp, ebp
je 0x100b774c
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x100b86a1
cmp dword [eax + 4], 0x73796d62
jne 0x100b86a1
mov esi, 1
jmp 0x100b86a3
xor esi, esi
push esi
push 0x30
push edi
call fcn.100b4d90
add esp, 0xc
test eax, eax
je 0x100b774c
push ebx
call fcn.100b8ae0
mov edi, eax
lea eax, [esp + 0x64]
push eax
push str.SPACING
push ebx
call fcn.100d6a60
add esp, 0x10
test eax, eax
jne 0x100b8833
cmp dword [esp + 0x60], 1
jne 0x100b8833
mov eax, dword [esp + 0x64]
test eax, eax
je 0x100b8833
mov edx, str.cCmMpP
mov ecx, eax
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x100b8718
test bl, bl
je 0x100b8714
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x100b8718
add ecx, 2
add edx, 2
test bl, bl
jne 0x100b86f8
xor ecx, ecx
jmp 0x100b871d
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x100b882a
mov edx, 0x10231da0
mov ecx, eax
nop dword [eax]
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x100b8750
test bl, bl
je 0x100b874c
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x100b8750
add ecx, 2
add edx, 2
test bl, bl
jne 0x100b8730
xor ecx, ecx
jmp 0x100b8755
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x100b882a
mov edx, 0x10231da4
mov ecx, eax
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x100b8784
test bl, bl
je 0x100b8780
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x100b8784
add ecx, 2
add edx, 2
test bl, bl
jne 0x100b8764
xor ecx, ecx
jmp 0x100b8789
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x100b8823
mov edx, 0x10231da8
mov ecx, eax
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x100b87b8
test bl, bl
je 0x100b87b4
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x100b87b8
add ecx, 2
add edx, 2
test bl, bl
jne 0x100b8798
xor ecx, ecx
jmp 0x100b87bd
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x100b8823
mov edx, 0x10231dac
mov ecx, eax
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x100b87e8
test bl, bl
je 0x100b87e4
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x100b87e8
add ecx, 2
add edx, 2
test bl, bl
jne 0x100b87c8
xor ecx, ecx
jmp 0x100b87ed
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x100b881f
mov ecx, 0x10231db0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100b8816
test dl, dl
je 0x100b8812
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100b8816
add eax, 2
add ecx, 2
test dl, dl
jne 0x100b87f6
xor eax, eax
jmp 0x100b881b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100b882f
xor edi, edi
jmp 0x100b882f
mov edi, 0x64
jmp 0x100b882f
mov edi, 0x6e
mov ebx, dword [esp + 0x10]
push ebp
call sym.project.dll_FcCharSetCount
add esp, 4
test eax, eax
jne 0x100b885b
lea eax, [esp + 0x60]
push eax
push str.PIXEL_SIZE
push ebx
call fcn.100d6a60
add esp, 0xc
test eax, eax
je 0x100b8a1e
mov ebx, dword [esp + 0x1c]
push ebp
push 0x21
push ebx
call fcn.100b4dd0
add esp, 0xc
test eax, eax
je 0x100b88df
test esi, esi
jne 0x100b88bf
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x100b888e
mov eax, dword [eax]
test eax, eax
je 0x100b888e
push eax
call sym.project.dll_FcLangSetCopy
mov esi, eax
jmp 0x100b88b6
push dword [esp + 0x74]
push ebp
call fcn.100bfd50
add esp, 8
mov esi, eax
cmp dword [esp + 0xbc], 0
je 0x100b88b9
push esi
call sym.project.dll_FcLangSetCopy
mov ecx, dword [esp + 0xc0]
mov dword [ecx], eax
add esp, 4
test esi, esi
je 0x100b88df
jmp 0x100b88c6
call sym.project.dll_FcLangSetCreate
mov esi, eax
push esi
push 0x22
push ebx
call fcn.100b4e90
add esp, 0xc
push esi
test eax, eax
jne 0x100b88f3
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 0x100b774c
call sym.project.dll_FcLangSetDestroy
add esp, 4
test edi, edi
je 0x100b8913
push edi
push 0xd
mov edi, ebx
push edi
call fcn.100b4e50
add esp, 0xc
test eax, eax
je 0x100b88e1
jmp 0x100b8915
mov edi, ebx
mov ebx, dword [esp + 0x10]
test byte [ebx + 8], 1
jne 0x100b89bf
mov eax, dword [ebx + 0x1c]
xor edi, edi
test eax, eax
jle 0x100b89a6
xor esi, esi
nop
cmp eax, 1
jne 0x100b8968
lea eax, [esp + 0xd4]
push eax
push str.PIXEL_SIZE
push ebx
call fcn.100d6a60
add esp, 0xc
test eax, eax
jne 0x100b8968
cmp dword [esp + 0xd4], 2
jne 0x100b8968
movd xmm0, dword [esp + 0xd8]
cvtdq2pd xmm0, xmm0
jmp 0x100b897d
mov eax, dword [ebx + 0x20]
movd xmm0, dword [eax + esi + 0xc]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x1022cb48]
sub esp, 8
movsd qword [esp], xmm0
push 0xc
push dword [esp + 0x28]
call fcn.100b4e10
add esp, 0x10
test eax, eax
je 0x100b8a1e
mov eax, dword [ebx + 0x1c]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x100b8930
mov edi, dword [esp + 0x1c]
push 0
push 0xf
push edi
call fcn.100b4d90
add esp, 0xc
test eax, eax
je 0x100b88e5
push ebx
call fcn.100cda10
add esp, 4
test eax, eax
je 0x100b89e0
push eax
push 0x25
push edi
call fcn.100b4f10
add esp, 0xc
test eax, eax
je 0x100b88e5
push ebp
call sym.project.dll_FcCharSetDestroy
mov eax, dword [esp + 0x98]
add esp, 4
test eax, eax
je 0x100b89fd
push eax
call fcn.101fd0fd
add esp, 4
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100b8a17
mov ecx, dword [ebx + 0x54]
test ecx, ecx
je 0x100b8a17
push eax
push dword [ecx]
call fcn.100d6510
add esp, 8
mov eax, edi
jmp 0x100b779e
mov edi, dword [esp + 0x1c]
push ebp
call sym.project.dll_FcCharSetDestroy
add esp, 4
jmp 0x100b774c
mov edi, dword [esp + 0x1c]
jmp 0x100b7748
mov edi, ebx
xor esi, esi
mov ebx, ebp
mov ebp, dword [esp + 0x14]
jmp 0x100b7754
mov ebp, dword [esp + 0x14]
mov edi, ebx
mov ebx, dword [esp + 0x10]
jmp 0x100b7754
mov edi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x14]
jmp 0x100b7754
call fcn.101ebc5c
nop dword [eax]
aaa
jno 269191802
adc dl, dh
jno 0x100b8a7e
adc byte [edi + 0x52100b71], cl
jb 0x100b8a86
or edx, dword [eax]
stosd dword es:[edi], eax
jb 269191818
adc byte [ebx + 0x100b72], ch
or edx, dword [eax]
add byte [ecx], al
add al, 2
adc byte [eax], al
add dword [edx + eax], eax
add al, 4
add eax, dword [ebx]
add al, 4
add al, 4
add al, 4
add al, 0
add dword [edx], eax
add al, 4
add byte [ecx], al
nop
fidivr dword [ebx + ecx + 0x10]
in al, 124
or edx, dword [eax]
out dx, al
jl 269191854
adc al, bh
jl 0x100b8ab2
adc byte [edx], al
jge 0x100b8ab6
adc byte [edi*2 + 0x7d16100b], cl
or edx, dword [eax]
push ss
jge 269191870
or edx, dword [eax]
and byte [ebp + 0xb], bh
adc byte [eax], ah
jge 0x100b8ac2
or edx, dword [eax]
sub bh, byte [ebp + 0xb]
adc byte [edx], ch
jge 0x100b8ac6
adc byte [ecx + eax*4 - 0x7e40eff5], ch
or edx, dword [eax]
mov edi, 0xd2100b81
or dword [ebx], 193062160
adc al, bh
or edx, dword [eax]
rol byte [ecx - 0x7e1aeff5], cl
or edx, dword [eax]
in eax, 0x81
or edx, dword [eax]
clc
or dword [ebx], 0xb820b10
adc byte [esi], bl
or byte [ebx], 0x10
xor dword [edx - 0x7dbbeff5], eax
or edx, dword [eax]