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

Disassembly:
push ebp
push ebx
mov edx, 0x1a
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x504ffa
mov edx, dword [esp + 0x74]
lea ecx, [esp]
call fcn.0051f000
mov edx, dword [esp + 0x78]
lea ecx, [esp + 4]
call fcn.0051f000
mov edx, dword [esp + 0x7c]
lea ecx, [esp + 8]
call fcn.0051f000
push dword [0x9af6a0]
call fcn.005519fb
push dword [0x9af6a0]
call fcn.00551a99
push eax
mov ebp, dword [0x9af6a4]
pop eax
mov dword [ebp + 0xc], eax
mov edx, dword [esp + 8]
push dword [0x9b3e20]
push edx
call fcn.005597c0
lea eax, [ebp + 0x70]
push eax
call fcn.00559740
mov edx, dword [esp + 4]
push dword [0x9b3e20]
push edx
call fcn.005597c0
lea eax, [ebp + 0x6c]
push eax
call fcn.00559740
mov dword [esp + 0x10], 0
push dword [0x9b3e20]
push dword [0x9b3e20]
mov edx, dword [esp + 8]
push dword [0x9b3e20]
push edx
call fcn.005597c0
mov edx, dword [esp + 0x10]
push edx
call fcn.005597c0
mov edx, dword [0x9a36fc]
add dword [esp], edx
call fcn.005563f0
lea eax, [esp + 0x34]
push eax
call fcn.00559740
push dword [esp + 0x30]
mov edx, str.COURIER
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x5050f9
mov ebp, dword [0x9af6a4]
mov edx, str.Courier
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov dword [esp + 0x14], 1
jmp 0x50536f
mov edx, str.COURIERB
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x505128
mov ebp, dword [0x9af6a4]
mov edx, str.Courier_Bold
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov dword [esp + 0x14], 1
jmp 0x50536f
mov edx, str.COURIERI
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x505157
mov ebp, dword [0x9af6a4]
mov edx, str.Courier_Oblique
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov dword [esp + 0x14], 1
jmp 0x50536f
mov edx, str.COURIERBI
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x505186
mov ebp, dword [0x9af6a4]
mov edx, str.Courier_BoldOblique
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov dword [esp + 0x14], 1
jmp 0x50536f
mov edx, str.HELVETICA
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x5051b7
mov ebp, dword [0x9af6a4]
mov edx, str.Helvetica
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov eax, 0x74c622
mov dword [0x9ac0e4], eax
jmp 0x50536f
mov edx, str.HELVETICAB
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x5051e8
mov ebp, dword [0x9af6a4]
mov edx, str.Helvetica_Bold
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov eax, 0x74c822
mov dword [0x9ac0e4], eax
jmp 0x50536f
mov edx, str.HELVETICAI
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x505219
mov ebp, dword [0x9af6a4]
mov edx, str.Helvetica_Oblique
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov eax, 0x74ca22
mov dword [0x9ac0e4], eax
jmp 0x50536f
mov edx, str.HELVETICABI
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x50524a
mov ebp, dword [0x9af6a4]
mov edx, str.Helvetica_BoldOblique
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov eax, 0x74cc22
mov dword [0x9ac0e4], eax
jmp 0x50536f
mov edx, str.ZAPFDINGBATS
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x50527b
mov ebp, dword [0x9af6a4]
mov edx, str.ZapfDingbats
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov eax, 0x74c422
mov dword [0x9ac0e4], eax
jmp 0x50536f
mov edx, str.TIMES
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x5052ac
mov ebp, dword [0x9af6a4]
mov edx, str.Times_Roman
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov eax, 0x74ce22
mov dword [0x9ac0e4], eax
jmp 0x50536f
mov edx, str.TIMESI
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x5052dd
mov ebp, dword [0x9af6a4]
mov edx, str.Times_Italic
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov eax, 0x74d222
mov dword [0x9ac0e4], eax
jmp 0x50536f
mov edx, str.TIMESBI
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x50530b
mov ebp, dword [0x9af6a4]
mov edx, str.Times_BoldItalic
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov eax, 0x74d422
mov dword [0x9ac0e4], eax
jmp 0x50536f
mov edx, str.TIMESB
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x505339
mov ebp, dword [0x9af6a4]
mov edx, str.Times_Bold
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov eax, 0x74d022
mov dword [0x9ac0e4], eax
jmp 0x50536f
mov edx, str.SYMBOL
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x505367
mov ebp, dword [0x9af6a4]
mov edx, str.Symbol
lea ecx, [ebp + 0x68]
call fcn.0051f008
mov eax, 0x74d622
mov dword [0x9ac0e4], eax
jmp 0x50536f
mov dword [esp + 0x14], 3
pop eax
push dword [esp + 0x10]
mov ebx, 1
cmp ebx, dword [esp]
jne 0x5053c1
mov dword [esp + 0x30], 0
jmp 0x505388
mov eax, 0xff
cmp eax, dword [esp + 0x30]
jl 0x5053af
mov ebp, dword [0x9af6a4]
push ebp
mov eax, dword [esp + 0x34]
add eax, eax
pop ebp
add ebp, eax
mov word [ebp + 0x74], 0x258
inc dword [esp + 0x30]
jno 0x505388
mov ebp, dword [0x9af6a4]
mov dword [ebp + 0x10], 0
jmp 0x505b20
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x505421
mov dword [esp + 0x30], 0
jmp 0x5053d2
mov eax, 0xff
cmp eax, dword [esp + 0x30]
jl 0x50540f
mov eax, dword [0x9ac0e4]
movsx eax, word [eax]
mov dword [esp + 0x10], eax
add dword [0x9ac0e4], 2
push dword [esp + 0x10]
mov ebp, dword [0x9af6a4]
push ebp
mov eax, dword [esp + 0x38]
add eax, eax
pop ebp
add ebp, eax
pop eax
mov word [ebp + 0x74], ax
inc dword [esp + 0x30]
jno 0x5053d2
mov ebp, dword [0x9af6a4]
mov dword [ebp + 0x10], 0
jmp 0x505b20
mov ebx, 3
cmp ebx, dword [esp]
jne 0x505b20
mov dword [esp + 0x18], 0
push dword [esp + 8]
mov edx, 0x702ee2
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x50545a
mov ebx, dword [esp + 0x1c]
or ebx, 0x100
mov dword [esp + 0x1c], ebx
jmp 0x5054ab
mov edx, 0x703490
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x505479
mov ebx, dword [esp + 0x1c]
or ebx, 0x200
mov dword [esp + 0x1c], ebx
jmp 0x5054ab
mov edx, 0x705318
mov ecx, dword [esp]
call fcn.0051f5d0
jne 0x505497
mov edx, 0x72343a
mov ecx, dword [esp]
call fcn.0051f5d0
je 0x5054ab
mov ebx, dword [esp + 0x1c]
or ebx, 0x100
or ebx, 0x200
mov dword [esp + 0x1c], ebx
pop eax
cmp dword [0x9ad5a0], 0
je 0x5054c0
mov ebx, dword [esp + 0x18]
or ebx, 4
mov dword [esp + 0x18], ebx
push dword [esp + 0x18]
push 0x2ee
push dword [esp + 0xc]
push 0xffffffff
call fcn.00558d24
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], 0
je 0x505b20
push 0
push 0
push 0
mov eax, 0x70e050
push eax
call sub.GDI32.dll_CreateDCW
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0
je 0x505b17
push dword [esp + 0x20]
call fcn.00558e03
push eax
push dword [esp + 0x28]
call sub.GDI32.dll_SelectObject
push 0
push 0
push dword [esp + 0x2c]
call sub.GDI32.dll_GetTextFaceW
mov dword [esp + 0x64], eax
mov ebx, dword [esp + 0x64]
and ebx, ebx
jle 0x505599
mov ebx, dword [esp + 0x64]
add ebx, ebx
push ebx
call fcn.005584b0
mov dword [esp + 0x68], eax
cmp dword [esp + 0x68], 0
je 0x505599
push dword [esp + 0x68]
push dword [esp + 0x68]
push dword [esp + 0x2c]
call sub.GDI32.dll_GetTextFaceW
and eax, eax
je 0x505590
push dword [0x9b3e20]
push dword [0x9b3e20]
push dword [esp + 0x6c]
push dword [esp + 0x74]
call fcn.005588a0
lea eax, [esp + 8]
push eax
call fcn.00559740
push dword [esp + 0x68]
call fcn.005585f0
mov ebp, dword [0x9af6a4]
mov dword [ebp + 0x10], 1
mov edx, dword [esp + 4]
push dword [0x9b3e20]
push edx
call fcn.005597c0
lea eax, [ebp + 0x68]
push eax
call fcn.00559740
mov dword [esp + 0x1c], 0
push dword [0x9af6a8]
call fcn.00551aa3
push dword [0x9af6a8]
call fcn.00551ab8
or eax, eax
je 0x505611
mov ebp, dword [0x9af6ac]
push dword [ebp + 0x18]
mov edx, dword [esp + 8]
pop ecx
call fcn.0051f5d0
je 0x50560f
mov ebp, dword [0x9af6ac]
mov ebx, dword [ebp + 0x14]
cmp ebx, dword [esp + 0x18]
jne 0x50560f
mov dword [esp + 0x1c], 1
jmp 0x505611
jmp 0x5055d2
mov ebx, dword [esp + 0x1c]
and ebx, ebx
jne 0x505b0e
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x2c]
call fcn.004efb17
and eax, eax
je 0x505b0e
push dword [0x9af6a8]
call fcn.005519fb
mov ebp, dword [0x9af6a4]
mov edx, dword [ebp + 0x68]
push dword [0x9b3e20]
push edx
call fcn.005597c0
mov ebp, dword [0x9af6ac]
lea eax, [ebp + 0x18]
push eax
call fcn.00559740
push dword [esp + 0x28]
pop eax
mov dword [ebp + 8], eax
push dword [esp + 0x2c]
pop eax
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], 0
push dword [esp + 0x18]
pop eax
mov dword [ebp + 0x14], eax
mov eax, str.cmap
push eax
push dword [ebp + 8]
call fcn.004efbf5
mov dword [esp + 0x38], eax
mov eax, str.head
push eax
mov ebp, dword [0x9af6ac]
push dword [ebp + 8]
call fcn.004efbf5
mov dword [esp + 0x3c], eax
mov eax, str.hhea
push eax
mov ebp, dword [0x9af6ac]
push dword [ebp + 8]
call fcn.004efbf5
mov dword [esp + 0x40], eax
mov eax, str.hmtx
push eax
mov ebp, dword [0x9af6ac]
push dword [ebp + 8]
call fcn.004efbf5
mov dword [esp + 0x44], eax
mov eax, str.maxp
push eax
mov ebp, dword [0x9af6ac]
push dword [ebp + 8]
call fcn.004efbf5
mov dword [esp + 0x48], eax
mov eax, str.name
push eax
mov ebp, dword [0x9af6ac]
push dword [ebp + 8]
call fcn.004efbf5
mov dword [esp + 0x4c], eax
mov eax, str.post
push eax
mov ebp, dword [0x9af6ac]
push dword [ebp + 8]
call fcn.004efbf5
mov dword [esp + 0x50], eax
cmp dword [esp + 0x38], 0
je 0x50574d
cmp dword [esp + 0x3c], 0
je 0x50574d
mov eax, 1
jmp 0x50574f
xor eax, eax
and eax, eax
je 0x505761
cmp dword [esp + 0x40], 0
je 0x505761
mov eax, 1
jmp 0x505763
xor eax, eax
and eax, eax
je 0x505775
cmp dword [esp + 0x44], 0
je 0x505775
mov eax, 1
jmp 0x505777
xor eax, eax
and eax, eax
je 0x505789
cmp dword [esp + 0x48], 0
je 0x505789
mov eax, 1
jmp 0x50578b
xor eax, eax
and eax, eax
je 0x50579d
cmp dword [esp + 0x4c], 0
je 0x50579d
mov eax, 1
jmp 0x50579f
xor eax, eax
and eax, eax
je 0x505b0e
mov ebp, dword [esp + 0x48]
movzx eax, word [ebp + 4]
push eax
call fcn.0051b02e
mov ebx, eax
and ebx, 0xffff
push ebx
mov ebp, dword [0x9af6a4]
pop eax
mov dword [ebp + 0x18], eax
mov ebp, dword [esp + 0x40]
movzx eax, word [ebp + 0x22]
push eax
call fcn.0051b02e
mov ebx, eax
and ebx, 0xffff
push ebx
mov ebp, dword [0x9af6a4]
pop eax
mov dword [ebp + 0x1c], eax
push dword [esp + 0x3c]
push dword [0x9af6a0]
call fcn.004ce624
and eax, eax
je 0x505b0e
mov ebp, dword [0x9af6a4]
add ebp, 8
push ebp
mov ebp, dword [0x9af6a4]
mov ebx, dword [ebp + 0x18]
dec ebx
mov eax, ebx
inc eax
pop ebp
lea edx, [ebp + 0x58]
push edx
push eax
call fcn.00547dc5
mov dword [esp + 0x58], 0
jmp 0x50582c
mov ebp, dword [0x9af6a4]
mov ebx, dword [ebp + 0x18]
dec ebx
cmp ebx, dword [esp + 0x58]
jl 0x505859
add ebp, 8
push ebp
mov ebx, dword [esp + 0x5c]
pop ebp
mov ebp, dword [ebp + 0x58]
imul ebx, ebx, 0x28
add ebp, ebx
mov word [ebp + 0x22], 3
inc dword [esp + 0x58]
jno 0x50582c
push 4
push 1
push 0xffffffff
mov ebp, dword [0x9af6a4]
push dword [ebp + 0x18]
push dword [esp + 0x48]
add ebp, 8
push ebp
pop eax
lea edx, [ebp + 0x58]
push edx
call fcn.004db7d3
and eax, eax
je 0x505894
mov ebp, dword [0x9af6a4]
mov dword [ebp + 0x14], 1
push dword [esp + 0x44]
push dword [0x9af6a0]
call fcn.004e4449
mov ebp, dword [0x9af6a4]
add ebp, 8
push ebp
pop eax
lea edx, [ebp + 0x58]
push edx
call fcn.004d4f94
push eax
mov ebp, dword [0x9af6a4]
pop eax
mov dword [ebp + 0x5c], eax
mov ebp, dword [esp + 0x40]
movsx eax, word [ebp + 4]
push eax
call fcn.0051b02e
push eax
mov ebp, dword [0x9af6a4]
push dword [ebp + 0x24]
call fcn.004ea0ad
push eax
mov ebp, dword [0x9af6a4]
pop eax
mov dword [ebp + 0x38], eax
mov ebp, dword [esp + 0x40]
movsx eax, word [ebp + 6]
push eax
call fcn.0051b02e
push eax
mov ebp, dword [0x9af6a4]
push dword [ebp + 0x24]
call fcn.004ea0ad
push eax
mov ebp, dword [0x9af6a4]
pop eax
mov dword [ebp + 0x3c], eax
push dword [ebp + 0x38]
pop eax
mov dword [ebp + 0x40], eax
mov ebx, dword [esp + 0x50]
and ebx, ebx
jne 0x505933
mov ebp, dword [0x9af6a4]
mov dword [ebp + 0x44], 0
jmp 0x5059d2
mov ebp, dword [esp + 0x50]
movsx eax, word [ebp]
push eax
call fcn.0051b02e
mov dword [esp - 4], eax
fild dword [esp - 4]
sub esp, 8
fstp qword [esp]
mov ebp, dword [esp + 0x58]
movsx eax, word [ebp + 2]
push eax
call fcn.0051b02e
mov dword [esp - 4], eax
fild dword [esp - 4]
fdiv qword [0x745204]
sub esp, 8
fstp qword [esp]
call fcn.00529b90
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fiadd dword [esp - 4]
fadd qword [0x7450bc]
fstp qword [esp + 0x5c]
mov ebp, dword [esp + 0x50]
movsx eax, word [ebp + 4]
push eax
call fcn.0051b02e
mov ebx, eax
mov ebp, dword [esp + 0x50]
movsx eax, word [ebp + 6]
push eax
call fcn.0051b02e
mov dword [esp - 4], eax
fild dword [esp - 4]
fdiv qword [0x745204]
sub esp, 8
fstp qword [esp]
call fcn.00529b90
add ebx, eax
push ebx
mov ebp, dword [0x9af6a4]
pop eax
mov dword [ebp + 0x44], eax
mov ebp, dword [0x9af6a4]
mov dword [ebp + 0x48], 0
push dword [0x9b3e20]
push 2
push 0
push 0
push 1
push dword [esp + 0x60]
push dword [0x9af6a0]
call fcn.004f050d
mov ebp, dword [0x9af6a4]
lea eax, [ebp + 0x64]
push eax
call fcn.00559740
push dword [ebp + 0x64]
call fcn.005565a0
mov ebx, eax
and ebx, ebx
jne 0x505a5d
push dword [0x9b3e20]
push 2
push 0x409
push 1
push 3
push dword [esp + 0x60]
push dword [0x9af6a0]
call fcn.004f050d
mov ebp, dword [0x9af6a4]
lea eax, [ebp + 0x64]
push eax
call fcn.00559740
push dword [0x9b3e20]
push 1
mov eax, str.bold
push eax
push dword [0x9b3e20]
push dword [0x9b3e20]
mov ebp, dword [0x9af6a4]
push dword [ebp + 0x64]
call fcn.005568e0
mov edx, dword [0x9a36fc]
add dword [esp], edx
call fcn.00556310
pop dword [0x9b3e20]
and eax, eax
jne 0x505ae5
push dword [0x9b3e20]
push 1
mov eax, str.black
push eax
push dword [0x9b3e20]
push dword [0x9b3e20]
mov ebp, dword [0x9af6a4]
push dword [ebp + 0x64]
call fcn.005568e0
mov edx, dword [0x9a36fc]
add dword [esp], edx
call fcn.00556310
pop dword [0x9b3e20]
and eax, eax
jne 0x505ae5
jmp 0x505aec
mov eax, 1
jmp 0x505aee
xor eax, eax
and eax, eax
je 0x505b01
mov ebp, dword [0x9af6a4]
mov dword [ebp + 0x48], 0x78
jmp 0x505b0e
mov ebp, dword [0x9af6a4]
mov dword [ebp + 0x48], 0x46
push dword [esp + 0x24]
call sub.GDI32.dll_DeleteDC
push dword [esp + 0x20]
call fcn.00558cd7
pop eax
xor eax, eax
push dword [esp]
call fcn.00559820
push dword [esp + 8]
call fcn.00559820
push dword [esp + 0x30]
call fcn.00559820
push dword [esp + 4]
call fcn.00559820
add esp, 0x68
pop ebx
pop ebp
ret 0xc