Function at 0x1007516c
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x102db678]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, ecx
push edi
push 0
push dword [ebp + 0x14]
mov dword [ebp - 0x30], eax
push esi
call fcn.1014b400
add esp, 0xc
test eax, eax
js 0x100754b5
push esi
push 1
lea eax, [ebp - 0x14]
push 0xc
push eax
call fcn.1014b015
add esp, 0x10
test eax, eax
je 0x100754b5
movsx ax, byte [ebp - 0x10]
shl ax, 8
movzx edi, ax
movsx ax, byte [ebp - 0xf]
movzx eax, ax
or edi, eax
mov eax, edi
shl eax, 4
push eax
lea eax, [ebp - 0x2c]
push esi
push eax
call fcn.1007510a
mov eax, dword [ebp - 0x2c]
add esp, 0xc
test eax, eax
je 0x100751ee
mov ecx, dword [eax + 4]
jmp 0x100751f0
xor ecx, ecx
test ecx, ecx
je 0x100754ad
test eax, eax
je 0x10075201
add eax, 0xc
jmp 0x10075203
xor eax, eax
push dword [ebp + 0x10]
push 0x6e616d65
push edi
push eax
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.10075049
mov eax, dword [ebp - 0x28]
add esp, 0x18
test eax, eax
je 0x10075226
mov eax, dword [eax + 4]
jmp 0x10075228
xor eax, eax
test eax, eax
je 0x100754a5
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x28]
call fcn.10025f42
push 1
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x18]
push eax
call fcn.10055e1f
mov eax, dword [ebp - 0x18]
add esp, 0x10
test eax, eax
je 0x1007525b
mov eax, dword [eax + 4]
jmp 0x1007525d
xor eax, eax
test eax, eax
je 0x1007549d
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x28]
call fcn.10025f42
push 2
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x1c]
push eax
call fcn.10055e1f
add esp, 0x10
lea ecx, [ebp - 0x1c]
push 0x10172150
call fcn.10027336
test al, al
jne 0x100752bb
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push 0x10169604
push eax
call fcn.1004e7ff
add esp, 0xc
lea ecx, [ebp - 0x18]
push eax
call fcn.100274ca
lea ecx, [ebp - 0x20]
call fcn.1002716d
lea ecx, [ebp - 0x18]
lea eax, [ebx + 4]
push ecx
push eax
call fcn.1002a59c
pop ecx
pop ecx
test al, al
jne 0x10075495
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x30]
lea eax, [ebp - 0x20]
push eax
call fcn.10074add
mov eax, dword [ebp - 0x2c]
add esp, 0x18
test eax, eax
je 0x100752fd
add eax, 0xc
jmp 0x100752ff
xor eax, eax
push dword [ebp + 0x10]
push 0x4f532f32
push edi
push eax
lea eax, [ebp - 0x38]
push esi
push eax
call fcn.10075049
mov eax, dword [ebp - 0x38]
add esp, 0x18
test eax, eax
je 0x10075322
mov ecx, dword [eax + 4]
jmp 0x10075324
xor ecx, ecx
mov esi, dword [ebp - 0x20]
cmp ecx, 0x56
jb 0x100753d5
test eax, eax
je 0x10075339
add eax, 0xc
jmp 0x1007533b
xor eax, eax
movzx edi, byte [eax + 0x4e]
movzx eax, byte [eax + 0x4f]
shl edi, 8
or edi, eax
shl edi, 0x10
test edi, 0x20000
je 0x10075368
mov ecx, dword [ebx + 0x18]
lea eax, [ebp - 0x18]
push 0x80
push eax
call fcn.10053146
or dword [esi + 0x18], 4
test edi, 0x40000
je 0x10075385
mov ecx, dword [ebx + 0x18]
lea eax, [ebp - 0x18]
push 0x86
push eax
call fcn.10053146
or dword [esi + 0x18], 0x10
test edi, 0x100000
je 0x100753a2
mov ecx, dword [ebx + 0x18]
lea eax, [ebp - 0x18]
push 0x88
push eax
call fcn.10053146
or dword [esi + 0x18], 8
test edi, 0x280000
je 0x100753bf
mov ecx, dword [ebx + 0x18]
lea eax, [ebp - 0x18]
push 0x81
push eax
call fcn.10053146
or dword [esi + 0x18], 0x20
test edi, edi
jns 0x100753d5
mov ecx, dword [ebx + 0x18]
lea eax, [ebp - 0x18]
push 2
push eax
call fcn.10053146
or dword [esi + 0x18], 2
mov ecx, dword [ebx + 0x18]
lea eax, [ebp - 0x18]
xor edi, edi
push edi
push eax
call fcn.10053146
or dword [esi + 0x18], 1
lea eax, [ebp - 0x34]
push edi
push 4
push 0x1017683c
push eax
lea ecx, [ebp - 0x1c]
mov dword [esi + 0x14], edi
call fcn.1002798b
cmp byte [eax], 0
je 0x1007540b
or dword [esi + 0x14], 0x40000
push edi
push 6
push str.Italic
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002798b
cmp byte [eax], 0
jne 0x1007543d
push edi
push 7
push str.Oblique
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002798b
cmp byte [eax], 0
je 0x10075441
or dword [esi + 0x14], 0x40
push edi
push 5
push str.Serif
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x18]
call fcn.1002798b
cmp byte [eax], 0
je 0x1007545e
or dword [esi + 0x14], 2
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebx + 4]
call fcn.10074a66
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x20]
push eax
lea ecx, [ecx + 0x14]
call fcn.10074c10
lea ecx, [ebp - 0x38]
call fcn.1002716d
cmp dword [ebp - 0x20], edi
je 0x10075495
push dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
call fcn.10074c39
lea ecx, [ebp - 0x1c]
call fcn.1002716d
lea ecx, [ebp - 0x18]
call fcn.1002716d
lea ecx, [ebp - 0x28]
call fcn.1002716d
lea ecx, [ebp - 0x2c]
call fcn.1002716d
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.101452d9
leave
ret 0x10