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

Disassembly:
push 0xffffffffffffffff
push 0x5d950f
mov eax, dword fs:[0]
push eax
sub esp, 0x184
mov eax, dword [0x680f10]
xor eax, esp
mov dword [esp + 0x180], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x680f10]
xor eax, esp
push eax
lea eax, [esp + 0x198]
mov dword fs:[0], eax
mov eax, dword [esp + 0x1a8]
mov ebp, ecx
xor ebx, ebx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x38], eax
xor edi, edi
mov dword [esp + 0x14], ebx
call fcn.004e6820
lea ecx, [ebp + 0x40]
push ecx
lea ecx, [esp + 0xdc]
call fcn.004dc7b0
cmp dword [esp + 0xd8], edi
mov dword [esp + 0x1a0], edi
jne 0x4e7823
mov edx, dword [esp + 0xe0]
push edx
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [esp + 0xdc]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [esp + 0xd8]
push ecx
jmp 0x4e8cf8
mov ecx, ebp
call fcn.004b9af0
lea edx, [esp + 0xb8]
push edx
mov ecx, ebp
call fcn.004dfea0
push 0x5fb313
lea ecx, [esp + 0x9c]
mov byte [esp + 0x1a4], 1
call fcn.0048cd50
mov eax, dword [ebp + 4]
push edi
push eax
push 0x2c
mov byte [esp + 0x1ac], 2
call fcn.004b5290
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x4e78b4
push 4
push 0x5fbfd4
lea ecx, [esp + 0x4c]
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], edi
mov byte [esp + 0x50], 0
call fcn.00402f00
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
mov byte [esp + 0x1a4], 3
mov dword [esp + 0x18], 1
call fcn.004b7280
mov ebx, dword [esp + 0x14]
mov esi, eax
jmp 0x4e78b6
xor esi, esi
push 0x5fbfdc
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea edx, [esp + 0x1c]
push edx
mov ecx, ebp
mov dword [esp + 0x1a8], 4
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov dword [esp + 0x18], 0x5f1558
jb 0x4e78f8
mov eax, dword [esp + 0x20]
push eax
call fcn.004274fc
add esp, 4
test bl, 1
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], 0
mov dword [esp + 0x18], 0x5f13d0
mov dword [esp + 0x1a0], 2
je 0x4e793c
and ebx, 0xfffffffe
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x14], ebx
jb 0x4e793c
mov ecx, dword [esp + 0x48]
push ecx
call fcn.004274fc
add esp, 4
mov edx, dword [ebp + 4]
push edi
push edx
push 0x2c
call fcn.004b5290
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x4e7991
push 5
push 0x5fbfe4
lea ecx, [esp + 0x4c]
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], edi
mov byte [esp + 0x50], 0
call fcn.00402f00
lea eax, [esp + 0x44]
or ebx, 2
push eax
mov ecx, esi
mov byte [esp + 0x1a4], 5
mov dword [esp + 0x18], ebx
call fcn.004b7280
mov esi, eax
jmp 0x4e7993
xor esi, esi
push 0x5fbfec
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebp
mov dword [esp + 0x1a8], 6
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov dword [esp + 0x18], 0x5f1558
jb 0x4e79d5
mov edx, dword [esp + 0x20]
push edx
call fcn.004274fc
add esp, 4
test bl, 2
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], 0
mov dword [esp + 0x18], 0x5f13d0
mov dword [esp + 0x1a0], 2
je 0x4e7a19
and ebx, 0xfffffffd
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x14], ebx
jb 0x4e7a19
mov eax, dword [esp + 0x48]
push eax
call fcn.004274fc
add esp, 4
mov ecx, dword [ebp + 4]
push edi
push ecx
push 0x2c
call fcn.004b5290
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x4e7a6e
push 0xa
push str.Identity_H
lea ecx, [esp + 0x4c]
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], edi
mov byte [esp + 0x50], 0
call fcn.00402f00
lea edx, [esp + 0x44]
or ebx, 4
push edx
mov ecx, esi
mov byte [esp + 0x1a4], 7
mov dword [esp + 0x18], ebx
call fcn.004b7280
mov esi, eax
jmp 0x4e7a70
xor esi, esi
push 0x5fc000
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea eax, [esp + 0x1c]
push eax
mov ecx, ebp
mov dword [esp + 0x1a8], 8
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov dword [esp + 0x18], 0x5f1558
jb 0x4e7ab2
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004274fc
add esp, 4
test bl, 4
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], 0
mov dword [esp + 0x18], 0x5f13d0
mov dword [esp + 0x1a0], 2
je 0x4e7af6
and ebx, 0xfffffffb
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x14], ebx
jb 0x4e7af6
mov edx, dword [esp + 0x48]
push edx
call fcn.004274fc
add esp, 4
mov eax, dword [ebp + 4]
push edi
push eax
push 0x2ac4
call fcn.004b5290
add esp, 0xc
cmp eax, edi
je 0x4e7b1a
push edi
mov ecx, eax
call fcn.004e3c30
mov dword [esp + 0x40], eax
jmp 0x4e7b1e
mov dword [esp + 0x40], edi
mov ecx, dword [ebp + 4]
push edi
push ecx
push 0x20
call fcn.004b5290
add esp, 0xc
cmp eax, edi
je 0x4e7b3c
mov ecx, eax
call fcn.004b77c0
mov esi, eax
jmp 0x4e7b3e
xor esi, esi
mov edx, dword [esp + 0x40]
push edx
mov ecx, esi
call fcn.004b8ee0
push 0x5fc00c
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea eax, [esp + 0x1c]
push eax
mov ecx, ebp
mov byte [esp + 0x1a8], 9
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x18], 0x5f1558
jb 0x4e7b91
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004274fc
add esp, 4
mov edx, dword [esp + 0x38]
mov esi, dword [edx]
cmp esi, edi
jne 0x4e7bd9
mov eax, dword [ebp + 4]
push edi
push eax
push 0x50
call fcn.004b5290
add esp, 0xc
cmp eax, edi
je 0x4e7bbb
push 1
mov ecx, eax
call fcn.004b9dd0
mov esi, eax
jmp 0x4e7bbd
xor esi, esi
mov ecx, dword [esp + 0x38]
push edi
push 0x15b
lea eax, [esi + 0x10]
mov dword [ecx], esi
mov edx, dword [eax]
push str._CIDInit__ProcSet_findresource_begin_n12_dict_begin_nbegincmap_n_CIDSystemInfo_n___n_Registry__Adobe__n_Ordering__UCS__n_Supplement_0_n___def_n_CMapName__Adobe_Identity_UCS_def_n_CMapType_2_def_n1_begincodespacerange_n_0000___ffff__nendcodespacerange_n1_beginbfrange_n_0000___ffff___0000__nendbfrange_nendcmap_nCMapName_currentdict__CMap_defineresource_pop_nend_nend_n
push eax
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [ebp + 4]
push edi
push ecx
push 0x10
call fcn.004b5290
add esp, 0xc
cmp eax, edi
je 0x4e7bf8
push esi
mov ecx, eax
call fcn.004b5410
mov esi, eax
jmp 0x4e7bfa
xor esi, esi
push str.ToUnicode
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea edx, [esp + 0x1c]
push edx
mov ecx, ebp
mov byte [esp + 0x1a8], 0xa
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x18], 0x5f1558
jb 0x4e7c41
mov eax, dword [esp + 0x20]
push eax
call fcn.004274fc
add esp, 4
mov ecx, dword [ebp + 4]
push edi
push ecx
push 0x2c
call fcn.004b5290
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x4e7c96
push 4
push 0x5fc028
lea ecx, [esp + 0x4c]
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], edi
mov byte [esp + 0x50], 0
call fcn.00402f00
lea edx, [esp + 0x44]
or ebx, 8
push edx
mov ecx, esi
mov byte [esp + 0x1a4], 0xb
mov dword [esp + 0x18], ebx
call fcn.004b7280
mov esi, eax
jmp 0x4e7c98
xor esi, esi
push 0x5fc030
lea ecx, [esp + 0x1c]
call fcn.0048cd50
mov ecx, dword [esp + 0x40]
push esi
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x1a8], 0xc
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov dword [esp + 0x18], 0x5f1558
jb 0x4e7cdc
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004274fc
add esp, 4
test bl, 8
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], 0
mov dword [esp + 0x18], 0x5f13d0
mov dword [esp + 0x1a0], 2
je 0x4e7d20
and ebx, 0xfffffff7
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x14], ebx
jb 0x4e7d20
mov edx, dword [esp + 0x48]
push edx
call fcn.004274fc
add esp, 4
mov eax, dword [ebp + 4]
push edi
push eax
push 0x2c
call fcn.004b5290
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x4e7d75
push 0xc
push 0x5fc038
lea ecx, [esp + 0x4c]
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], edi
mov byte [esp + 0x50], 0
call fcn.00402f00
lea ecx, [esp + 0x44]
or ebx, 0x10
push ecx
mov ecx, esi
mov byte [esp + 0x1a4], 0xd
mov dword [esp + 0x18], ebx
call fcn.004b7280
mov esi, eax
jmp 0x4e7d77
xor esi, esi
push 0x5fc048
lea ecx, [esp + 0x1c]
call fcn.0048cd50
mov ecx, dword [esp + 0x40]
push esi
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x1a8], 0xe
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov dword [esp + 0x18], 0x5f1558
jb 0x4e7dbb
mov eax, dword [esp + 0x20]
push eax
call fcn.004274fc
add esp, 4
test bl, 0x10
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], 0
mov dword [esp + 0x18], 0x5f13d0
mov dword [esp + 0x1a0], 2
je 0x4e7dff
and ebx, 0xffffffef
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x14], ebx
jb 0x4e7dff
mov ecx, dword [esp + 0x48]
push ecx
call fcn.004274fc
add esp, 4
mov edx, dword [ebp + 4]
push edi
push edx
push 0x18
call fcn.004b5290
add esp, 0xc
cmp eax, edi
je 0x4e7e21
mov ecx, eax
call fcn.004b9d40
mov edi, eax
mov dword [esp + 0x68], eax
jmp 0x4e7e27
xor edi, edi
mov dword [esp + 0x68], edi
mov eax, dword [ebp + 4]
push 0
push eax
push 0x2c
call fcn.004b5290
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4e7e81
push 0xe
push 0x5fc050
lea ecx, [esp + 0x4c]
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], 0
mov byte [esp + 0x50], 0
call fcn.00402f00
lea ecx, [esp + 0x44]
or ebx, 0x20
push ecx
mov ecx, esi
mov byte [esp + 0x1a4], 0xf
mov dword [esp + 0x18], ebx
call fcn.004b7280
mov esi, eax
jmp 0x4e7e83
xor esi, esi
push 0x5fc060
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea edx, [esp + 0x1c]
push edx
mov ecx, edi
mov dword [esp + 0x1a8], 0x10
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov dword [esp + 0x18], 0x5f1558
jb 0x4e7ec5
mov eax, dword [esp + 0x20]
push eax
call fcn.004274fc
add esp, 4
test bl, 0x20
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], 0
mov byte [esp + 0x20], 0
mov dword [esp + 0x18], 0x5f13d0
mov dword [esp + 0x1a0], 2
je 0x4e7f0d
and ebx, 0xffffffdf
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x14], ebx
jb 0x4e7f0d
mov ecx, dword [esp + 0x48]
push ecx
call fcn.004274fc
add esp, 4
cmp byte [ebp + 0x54], 0
mov esi, 0x20
je 0x4e7f1d
mov esi, 0x60
mov edx, dword [ebp + 4]
push 0
push edx
push 0x20
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x4e7f54
test esi, esi
mov dword [esp + 0x60], esi
fild dword [esp + 0x60]
jge 0x4e7f43
fadd qword [0x659f10]
sub esp, 8
mov ecx, eax
fstp qword [esp]
call fcn.004b5b20
mov esi, eax
jmp 0x4e7f56
xor esi, esi
push 0x5fc068
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea eax, [esp + 0x1c]
push eax
mov ecx, edi
mov byte [esp + 0x1a8], 0x11
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x18], 0x5f1558
jb 0x4e7f9d
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004274fc
add esp, 4
push str.FontBBox
lea ecx, [esp + 0x1c]
call fcn.0048cd50
mov eax, dword [ebp + 4]
lea edx, [esp + 0xd8]
push edx
push eax
mov byte [esp + 0x1a8], 0x12
call fcn.004dc9d0
add esp, 8
push eax
lea eax, [esp + 0x1c]
push eax
mov ecx, edi
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x18], 0x5f1558
jb 0x4e7ff8
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004274fc
add esp, 4
mov edx, dword [ebp + 4]
push 0
push edx
push 0x20
call fcn.004b5290
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x4e803d
mov edx, dword [esp + 0x18c]
mov eax, 0x66666667
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x64], eax
sub esp, 8
fild dword [esp + 0x6c]
fstp qword [esp]
call fcn.004b5b20
mov esi, eax
jmp 0x4e803f
xor esi, esi
push str.ItalicAngle
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
mov byte [esp + 0x1a8], 0x13
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x18], 0x5f1558
jb 0x4e8086
mov edx, dword [esp + 0x20]
push edx
call fcn.004274fc
add esp, 4
mov eax, dword [ebp + 4]
push 0
push eax
push 0x20
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x4e80bf
fild dword [esp + 0x144]
sub esp, 8
mov ecx, eax
fmul qword [0x5fc220]
fidiv dword [esp + 0x148]
fstp qword [esp]
call fcn.004b5b20
mov esi, eax
jmp 0x4e80c1
xor esi, esi
push str.Ascent
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
mov byte [esp + 0x1a8], 0x14
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x18], 0x5f1558
jb 0x4e8108
mov edx, dword [esp + 0x20]
push edx
call fcn.004274fc
add esp, 4
mov eax, dword [ebp + 4]
push 0
push eax
push 0x20
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x4e8141
fild dword [esp + 0x148]
sub esp, 8
mov ecx, eax
fmul qword [0x5fc228]
fidiv dword [esp + 0x148]
fstp qword [esp]
call fcn.004b5b20
mov esi, eax
jmp 0x4e8143
xor esi, esi
push str.Descent
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
mov byte [esp + 0x1a8], 0x15
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x18], 0x5f1558
jb 0x4e818a
mov edx, dword [esp + 0x20]
push edx
call fcn.004274fc
add esp, 4
mov eax, dword [ebp + 4]
push 0
push eax
push 0x20
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x4e81b6
fild dword [esp + 0x190]
sub esp, 8
mov ecx, eax
fstp qword [esp]
call fcn.004b5b20
mov esi, eax
jmp 0x4e81b8
xor esi, esi
push str.CapHeight
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
mov byte [esp + 0x1a8], 0x16
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x18], 0x5f1558
jb 0x4e81ff
mov edx, dword [esp + 0x20]
push edx
call fcn.004274fc
add esp, 4
mov eax, dword [ebp + 4]
push 0
push eax
push 0x20
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x4e8226
fldz
sub esp, 8
mov ecx, eax
fstp qword [esp]
call fcn.004b5b20
mov esi, eax
jmp 0x4e8228
xor esi, esi
push str.StemV
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
mov byte [esp + 0x1a8], 0x17
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x18], 0x5f1558
jb 0x4e826f
mov edx, dword [esp + 0x20]
push edx
call fcn.004274fc
add esp, 4
mov eax, dword [ebp + 4]
push 0
push eax
push 0x10
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x4e828f
push edi
mov ecx, eax
call fcn.004b5410
mov esi, eax
jmp 0x4e8291
xor esi, esi
push str.FontDescriptor
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x48]
mov byte [esp + 0x1a8], 0x18
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x18], 0x5f1558
jb 0x4e82da
mov edx, dword [esp + 0x20]
push edx
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0x38]
mov edi, dword [eax + 4]
test edi, edi
jne 0x4e8523
mov ecx, dword [ebp + 4]
push edi
push ecx
push 0x18
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x4e8307
mov ecx, eax
call fcn.004b9d40
mov edi, eax
jmp 0x4e8309
xor edi, edi
mov edx, dword [esp + 0x38]
mov dword [edx + 4], edi
mov eax, dword [ebp + 4]
push 0
push eax
push 0x34
call fcn.004b5290
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4e8353
push str.Adobe
lea ecx, [esp + 0x48]
call fcn.00402e90
lea ecx, [esp + 0x44]
or ebx, 0x40
push ecx
mov ecx, esi
mov byte [esp + 0x1a4], 0x19
mov dword [esp + 0x18], ebx
call fcn.004b7700
mov esi, eax
jmp 0x4e8355
xor esi, esi
push str.Registry
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea edx, [esp + 0x1c]
push edx
mov ecx, edi
mov dword [esp + 0x1a8], 0x1a
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov dword [esp + 0x18], 0x5f1558
jb 0x4e8397
mov eax, dword [esp + 0x20]
push eax
call fcn.004274fc
add esp, 4
test bl, 0x40
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], 0
mov byte [esp + 0x20], 0
mov dword [esp + 0x18], 0x5f13d0
mov dword [esp + 0x1a0], 2
je 0x4e83df
and ebx, 0xffffffbf
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x14], ebx
jb 0x4e83df
mov ecx, dword [esp + 0x48]
push ecx
call fcn.004274fc
add esp, 4
mov edx, dword [ebp + 4]
push 0
push edx
push 0x34
call fcn.004b5290
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4e8425
push 0x5fc0d0
lea ecx, [esp + 0x48]
call fcn.00402e90
lea eax, [esp + 0x44]
or ebx, 0x80
push eax
mov ecx, esi
mov byte [esp + 0x1a4], 0x1b
mov dword [esp + 0x18], ebx
call fcn.004b7700
mov esi, eax
jmp 0x4e8427
xor esi, esi
push str.Ordering
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
mov dword [esp + 0x1a8], 0x1c
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov dword [esp + 0x18], 0x5f1558
jb 0x4e8469
mov edx, dword [esp + 0x20]
push edx
call fcn.004274fc
add esp, 4
test bl, bl
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], 0
mov byte [esp + 0x20], 0
mov dword [esp + 0x18], 0x5f13d0
mov dword [esp + 0x1a0], 2
jns 0x4e84b3
and ebx, 0xffffff7f
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x14], ebx
jb 0x4e84b3
mov eax, dword [esp + 0x48]
push eax
call fcn.004274fc
add esp, 4
mov ecx, dword [ebp + 4]
push 0
push ecx
push 0x20
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x4e84da
fldz
sub esp, 8
mov ecx, eax
fstp qword [esp]
call fcn.004b5b20
mov esi, eax
jmp 0x4e84dc
xor esi, esi
push str.Supplement
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea edx, [esp + 0x1c]
push edx
mov ecx, edi
mov byte [esp + 0x1a8], 0x1d
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x18], 0x5f1558
jb 0x4e8523
mov eax, dword [esp + 0x20]
push eax
call fcn.004274fc
add esp, 4
mov ecx, dword [ebp + 4]
push 0
push ecx
push 0x10
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x4e8543
push edi
mov ecx, eax
call fcn.004b5410
mov esi, eax
jmp 0x4e8545
xor esi, esi
push str.CIDSystemInfo
lea ecx, [esp + 0x1c]
call fcn.0048cd50
mov ecx, dword [esp + 0x40]
push esi
lea edx, [esp + 0x1c]
push edx
mov byte [esp + 0x1a8], 0x1e
call fcn.004ba020
lea ecx, [esp + 0x18]
mov byte [esp + 0x1a0], 2
call fcn.004b36e0
push 0x18
mov byte [esp + 0x43], 0
call fcn.004274d1
add esp, 4
mov dword [esp + 0x60], eax
test eax, eax
mov byte [esp + 0x1a0], 0x1f
je 0x4e85a9
mov ecx, eax
call fcn.0056c3c0
mov edi, eax
mov dword [esp + 0x70], eax
jmp 0x4e85af
xor edi, edi
mov dword [esp + 0x70], edi
mov eax, dword [esp + 0xd8]
push eax
mov ecx, edi
mov byte [esp + 0x1a4], 2
mov dword [esp + 0x64], edi
call fcn.0056d7d0
lea ecx, [edi + 0x10]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x1ac], 0x20
call fcn.00402bb0
lea ecx, [esp + 0x18]
mov byte [esp + 0x1a0], 2
call fcn.004b36e0
xor esi, esi
mov ebx, dword [esp + 0x38]
mov ecx, dword [ebx + 0x3c]
test ecx, ecx
je 0x4e8749
mov eax, dword [ebx + 0x40]
sub eax, ecx
sar eax, 2
cmp esi, eax
jae 0x4e8749
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x4e8639
mov eax, dword [ebx + 0x10]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x4e863e
call fcn.0044b7ad
mov eax, dword [ebx + 0xc]
mov ebp, dword [eax + esi*4]
test ebp, ebp
je 0x4e86a6
mov edi, dword [esp + 0x38]
mov ecx, dword [edi + 0x2c]
test ecx, ecx
je 0x4e865f
mov eax, dword [edi + 0x30]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x4e8664
call fcn.0044b7ad
mov ecx, dword [edi + 0x2c]
mov edi, dword [ecx + esi*4]
test edi, edi
je 0x4e86a6
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x4e8685
mov eax, dword [eax + 0x40]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x4e868a
call fcn.0044b7ad
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x3c]
mov ebx, dword [eax + esi*4]
test ebx, ebx
je 0x4e86a6
mov ecx, dword [esp + 0x70]
push ebx
call fcn.0056b730
test al, al
jne 0x4e86b6
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
add esi, 1
jmp 0x4e8607
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x38]
add ebp, 0x18
push esi
mov ecx, ebp
mov dword [esp + 0x68], edi
call fcn.004eb060
cmp dword [eax], 0
je 0x4e86fb
xor edi, edi
mov ecx, dword [esp + 0x74]
push edi
call fcn.004dc960
test al, al
je 0x4e86f0
push esi
mov ecx, ebp
call fcn.004eb060
mov ecx, dword [eax]
mov byte [edi + ecx], 0xff
add edi, 1
cmp edi, 0x10000
jb 0x4e86d4
add ebx, 0x10
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x43], 1
call fcn.0048cd50
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x1ac], 0x21
call fcn.00402bb0
lea ecx, [esp + 0x18]
mov byte [esp + 0x1a0], 2
call fcn.004b36e0
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x38]
jmp 0x4e8797
mov eax, dword [ebp + 4]
xor esi, esi
push esi
push eax
push 0x50
call fcn.004b5290
add esp, 0xc
cmp eax, esi
je 0x4e876d
push 1
mov ecx, eax
call fcn.004b9dd0
mov dword [esp + 0x6c], eax
jmp 0x4e8771
mov dword [esp + 0x6c], esi
mov ecx, dword [ebp + 4]
push esi
push ecx
push 0x50
call fcn.004b5290
add esp, 0xc
cmp eax, esi
je 0x4e8793
push 1
mov ecx, eax
call fcn.004b9dd0
mov dword [esp + 0x64], eax
jmp 0x4e8797
mov dword [esp + 0x64], esi
cmp dword [esp + 0x68], 0
je 0x4e880d
mov edx, dword [ebp + 4]
push 0
push edx
push 0x10
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x4e87c2
mov ecx, dword [esp + 0x6c]
push ecx
mov ecx, eax
call fcn.004b5410
mov esi, eax
jmp 0x4e87c4
xor esi, esi
push 0x5fc104
lea ecx, [esp + 0x1c]
call fcn.0048cd50
mov ecx, dword [esp + 0x68]
push esi
lea edx, [esp + 0x1c]
push edx
mov byte [esp + 0x1a8], 0x22
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x18], 0x5f1558
jb 0x4e880d
mov eax, dword [esp + 0x20]
push eax
call fcn.004274fc
add esp, 4
mov ecx, dword [ebp + 4]
push 0
push ecx
push 0x10
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x4e8831
mov edx, dword [esp + 0x64]
push edx
mov ecx, eax
call fcn.004b5410
mov esi, eax
jmp 0x4e8833
xor esi, esi
push 0x5fc110
lea ecx, [esp + 0x1c]
call fcn.0048cd50
mov ecx, dword [esp + 0x40]
push esi
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0x1a8], 0x23
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x1a0], 2
mov dword [esp + 0x18], 0x5f1558
jb 0x4e887c
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004274fc
add esp, 4
cmp byte [esp + 0x3f], 0
jne 0x4e891e
lea edx, [esp + 0x6c]
push edx
lea ecx, [ebx + 8]
call fcn.004ecc00
lea eax, [esp + 0x64]
push eax
lea ecx, [ebx + 0x28]
call fcn.004ecc00
lea ecx, [esp + 0x60]
push ecx
lea ecx, [ebx + 0x38]
call fcn.004ecc00
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x60]
push eax
lea ecx, [ebx + 0x48]
mov dword [esp + 0x64], edx
call fcn.004ecc00
push 0x10000
call fcn.00427501
add esp, 4
lea ecx, [esp + 0x60]
mov edi, eax
push ecx
lea ecx, [ebx + 0x18]
mov dword [esp + 0x64], edi
call fcn.004ecc00
xor esi, esi
movzx edx, si
mov ecx, edx
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x4e88f7
dec ecx
or ecx, 0xfffffff8
inc ecx
mov al, 1
shl al, cl
shr edx, 3
and al, byte [edx + ebp + 0x9c]
neg al
sbb eax, eax
and eax, 0xff
mov byte [esi + edi], al
add esi, 1
cmp esi, 0x10000
jb 0x4e88e5
jmp 0x4e8932
test edi, edi
je 0x4e8932
mov ecx, edi
call fcn.0056c390
push edi
call fcn.004274fc
add esp, 4
push 0x5fb31a
lea ecx, [esp + 0x7c]
call fcn.0048cd50
push 0xffffffffffffffff
xor edi, edi
push edi
lea edx, [esp + 0xa4]
mov ebx, 0x24
push edx
lea ecx, [esp + 0x88]
mov byte [esp + 0x1ac], bl
call fcn.00402bb0
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0xbc]
call fcn.0048c670
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x1a4], 0x25
call fcn.004cba70
cmp dword [esp + 0x5c], 0x10
mov byte [esp + 0x1a0], bl
jb 0x4e89a7
mov edx, dword [esp + 0x48]
push edx
call fcn.004274fc
add esp, 4
mov eax, dword [ebp + 4]
push edi
push eax
push 0x2c
call fcn.004b5290
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x4e89ea
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x7c]
call fcn.0048c670
or dword [esp + 0x14], 0x100
lea edx, [esp + 0x44]
push edx
mov ecx, esi
mov byte [esp + 0x1a4], 0x26
call fcn.004b7280
mov esi, eax
jmp 0x4e89ec
xor esi, esi
push str.FontName
lea ecx, [esp + 0x1c]
call fcn.0048cd50
mov ecx, dword [esp + 0x68]
push esi
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x1a8], 0x27
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov dword [esp + 0x18], 0x5f1558
jb 0x4e8a30
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004274fc
add esp, 4
test dword [esp + 0x14], 0x100
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], 0
mov dword [esp + 0x18], 0x5f13d0
mov dword [esp + 0x1a0], ebx
je 0x4e8a76
and dword [esp + 0x14], 0xfffffeff
cmp dword [esp + 0x5c], 0x10
jb 0x4e8a76
mov edx, dword [esp + 0x48]
push edx
call fcn.004274fc
add esp, 4
mov eax, dword [ebp + 4]
push edi
push eax
push 0x2c
call fcn.004b5290
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x4e8ab9
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x7c]
call fcn.0048c670
or dword [esp + 0x14], 0x200
lea edx, [esp + 0x44]
push edx
mov ecx, esi
mov byte [esp + 0x1a4], 0x28
call fcn.004b7280
mov esi, eax
jmp 0x4e8abb
xor esi, esi
push 0x5fc128
lea ecx, [esp + 0x1c]
call fcn.0048cd50
mov ecx, dword [esp + 0x40]
push esi
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x1a8], 0x29
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov dword [esp + 0x18], 0x5f1558
jb 0x4e8aff
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004274fc
add esp, 4
mov dword [esp + 0x1a0], ebx
mov ebx, dword [esp + 0x14]
test ebx, 0x200
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], 0
mov dword [esp + 0x18], 0x5f13d0
je 0x4e8b49
and ebx, 0xfffffdff
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x14], ebx
jb 0x4e8b49
mov edx, dword [esp + 0x48]
push edx
call fcn.004274fc
add esp, 4
mov eax, dword [ebp + 4]
push edi
push eax
push 0x2c
call fcn.004b5290
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x4e8b8e
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x7c]
call fcn.0048c670
lea edx, [esp + 0x44]
or ebx, 0x400
push edx
mov ecx, esi
mov byte [esp + 0x1a4], 0x2a
mov dword [esp + 0x18], ebx
call fcn.004b7280
mov esi, eax
jmp 0x4e8b90
xor esi, esi
push 0x5fc134
lea ecx, [esp + 0x1c]
call fcn.0048cd50
push esi
lea eax, [esp + 0x1c]
push eax
mov ecx, ebp
mov dword [esp + 0x1a8], 0x2b
call fcn.004ba020
cmp dword [esp + 0x34], 0x10
mov dword [esp + 0x18], 0x5f1558
jb 0x4e8bd2
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004274fc
add esp, 4
test ebx, 0x400
mov ebp, 0xf
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], 0
mov dword [esp + 0x18], 0x5f13d0
lea esi, [ebp + 1]
je 0x4e8c0a
cmp dword [esp + 0x5c], esi
jb 0x4e8c0a
mov edx, dword [esp + 0x48]
push edx
call fcn.004274fc
add esp, 4
cmp dword [esp + 0x94], esi
mov ebx, 0x5f1558
mov dword [esp + 0x78], ebx
jb 0x4e8c2c
mov eax, dword [esp + 0x80]
push eax
call fcn.004274fc
add esp, 4
cmp dword [esp + 0xb4], esi
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], edi
mov byte [esp + 0x80], 0
mov dword [esp + 0x78], 0x5f13d0
mov dword [esp + 0x98], ebx
jb 0x4e8c6a
mov ecx, dword [esp + 0xa0]
push ecx
call fcn.004274fc
add esp, 4
cmp dword [esp + 0xd4], esi
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb0], edi
mov byte [esp + 0xa0], 0
mov dword [esp + 0x98], 0x5f13d0
mov dword [esp + 0xb8], ebx
jb 0x4e8cab
mov edx, dword [esp + 0xc0]
push edx
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd8]
push eax
push ecx
mov dword [esp + 0xdc], ebp
mov dword [esp + 0xd8], edi
mov byte [esp + 0xc8], 0
mov dword [esp + 0xc0], 0x5f13d0
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [esp + 0xdc]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0xd8]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [esp + 0x198]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x180]
xor ecx, esp
call fcn.0044abb9
add esp, 0x190
ret 4