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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x561842
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x63d20c]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 0xf4]
test eax, eax
jne 0x499e86
push str.Encountered_d0_operator_outside_of_Type_3_CharProc
push 0xffffffffffffffff
push 1
jmp 0x49a438
cmp dword [eax + 4], 0
jne 0x49a440
mov dword [eax + 4], 1
mov eax, dword [esi + 0xf4]
cmp dword [eax + 8], 0
jne 0x49a440
mov ebx, dword [ebp + 8]
fld qword [ebx + 0x20]
mov edi, dword [eax + 0xc]
fldz
fmul st(1), st(0)
fld qword [ebx + 0x10]
fmul st(1)
faddp st(2)
fxch st(1)
fadd qword [ebx + 0x30]
fstp qword [esp + 0x34]
fld qword [ebx + 0x28]
fmul st(1)
fld qword [ebx + 0x18]
fmulp st(2)
faddp st(1)
fadd qword [ebx + 0x38]
fstp qword [esp + 0x3c]
fld qword [ebx + 0x10]
fld qword [ebp + 0x1c]
fmul st(1), st(0)
fld qword [ebx + 0x20]
fld qword [ebp + 0x24]
fmul st(1), st(0)
fxch st(1)
fadd st(3)
fadd qword [ebx + 0x30]
fld st(0)
fxch st(3)
fmul qword [ebx + 0x18]
fld st(2)
fmul qword [ebx + 0x28]
fadd st(1)
fadd qword [ebx + 0x38]
fst qword [esp + 0x24]
fld qword [ebx + 0x20]
fld qword [ebp + 0x34]
fmul st(1), st(0)
fxch st(1)
faddp st(7)
fxch st(6)
fadd qword [ebx + 0x30]
fld st(6)
fmul qword [ebx + 0x28]
faddp st(3)
fxch st(2)
fadd qword [ebx + 0x38]
fxch st(2)
fcom st(3)
fnstsw ax
test ah, 5
jp 0x499f2f
fstp st(5)
jmp 0x499f3e
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x499f3c
fstp st(3)
jmp 0x499f3e
fstp st(0)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x499f4f
fxch st(1)
fstp qword [esp + 0x24]
jmp 0x499f5e
fcom st(1)
fnstsw ax
test ah, 5
jp 0x499f5c
fstp st(0)
jmp 0x499f5e
fstp st(1)
fld qword [ebx + 0x10]
fld qword [ebp + 0x2c]
fmul st(1), st(0)
fld qword [ebx + 0x20]
fmul st(5)
fadd st(2)
fadd qword [ebx + 0x30]
fxch st(1)
fmul qword [ebx + 0x18]
fxch st(5)
fmul qword [ebx + 0x28]
fadd st(5)
fadd qword [ebx + 0x38]
fstp qword [esp + 0x2c]
fcom st(5)
fnstsw ax
test ah, 5
jp 0x499f90
fstp st(5)
jmp 0x499f9f
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x499f9d
fstp st(3)
jmp 0x499f9f
fstp st(0)
fld qword [esp + 0x24]
fld qword [esp + 0x2c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x499fc5
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x499fbf
fstp st(2)
jmp 0x499fc1
fstp st(0)
fld qword [esp + 0x24]
fld qword [ebx + 0x20]
fmul st(7)
faddp st(2)
fxch st(1)
fadd qword [ebx + 0x30]
fxch st(6)
fmul qword [ebx + 0x28]
faddp st(4)
fxch st(3)
fadd qword [ebx + 0x38]
fxch st(5)
fcom st(4)
fnstsw ax
test ah, 5
jp 0x499fec
fstp st(4)
jmp 0x499ffb
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x499ff9
fstp st(2)
jmp 0x499ffb
fstp st(0)
fxch st(4)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x49a00a
fstp st(2)
jmp 0x49a019
fcom st(4)
fnstsw ax
test ah, 0x41
jne 0x49a017
fstp st(4)
jmp 0x49a019
fstp st(0)
fld qword [esp + 0x34]
mov edx, dword [edi + 0x28]
fsub st(3), st(0)
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
je 0x49a421
fld qword [esp + 0x3c]
mov ecx, dword [edi + 0x2c]
fsub st(2), st(0)
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
je 0x49a421
mov eax, dword [edi + 0x30]
fsubrp st(2)
add eax, edx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x49a425
mov edx, dword [edi + 0x34]
fsubp st(1)
add edx, ecx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fcompp
fnstsw ax
test ah, 5
jnp 0x49a429
mov eax, dword [esi + 0xf4]
mov edx, dword [edi + 0x40]
movzx eax, word [eax]
mov ecx, dword [edi + 0x44]
dec edx
and edx, eax
imul edx, ecx
mov dword [esp + 0x24], 0
test ecx, ecx
jle 0x49a135
lea eax, [edx*4]
nop
mov ebx, dword [edi + 0x4c]
movzx ebx, word [eax + ebx + 2]
dec ecx
and ebx, 0x7fff
cmp ebx, ecx
mov ecx, dword [edi + 0x4c]
jne 0x49a116
mov ebx, 0x8000
mov word [eax + ecx + 2], bx
mov ecx, dword [esi + 0xf4]
mov cx, word [ecx]
mov ebx, dword [edi + 0x4c]
mov word [eax + ebx], cx
mov ecx, dword [edi + 0x4c]
mov ebx, dword [esi + 0xf4]
add ecx, eax
mov dword [ebx + 0x10], ecx
mov ecx, dword [esp + 0x24]
mov ebx, dword [esi + 0xf4]
add ecx, edx
imul ecx, dword [edi + 0x3c]
add ecx, dword [edi + 0x48]
mov dword [ebx + 0x14], ecx
jmp 0x49a11f
inc word [eax + ecx + 2]
lea ecx, [eax + ecx + 2]
mov ebx, dword [esp + 0x24]
mov ecx, dword [edi + 0x44]
inc ebx
add eax, 4
cmp ebx, ecx
mov dword [esp + 0x24], ebx
jl 0x49a0c0
mov ebx, dword [ebp + 8]
mov edx, dword [esi + 0xf4]
mov eax, dword [esi + 0xc4]
mov dword [edx + 0x18], eax
mov ecx, dword [esi + 0xf4]
mov edx, dword [esi + 0xc8]
mov dword [ecx + 0x1c], edx
fld qword [ebx + 0x30]
mov eax, dword [esi + 0xf4]
fstp qword [eax + 0x20]
mov ecx, dword [esi + 0xf4]
fld qword [ebx + 0x38]
push 0x18
fstp qword [ecx + 0x28]
cmp dword [esi + 0x68], 0
jne 0x49a215
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 0
test eax, eax
je 0x49a1ab
mov edx, dword [edi + 0x34]
mov ecx, dword [edi + 0x30]
push 1
push 0
push 0
push 1
push edx
push ecx
mov ecx, eax
call fcn.004e6010
jmp 0x49a1ad
xor eax, eax
push 0x48
mov dword [esp + 0x84], 0xffffffff
mov dword [esi + 0xc4], eax
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 1
test eax, eax
je 0x49a208
mov edx, dword [esi + 0xf4]
mov ecx, dword [edx + 0x1c]
call fcn.004da010
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esi + 0xc4]
push 0
push eax
call fcn.004d9f10
push 0
lea ecx, [esp + 0x24]
push ecx
jmp 0x49a2aa
xor eax, eax
push eax
lea ecx, [esp + 0x24]
push ecx
jmp 0x49a2aa
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 2
test eax, eax
je 0x49a249
mov edx, dword [edi + 0x34]
mov ecx, dword [edi + 0x30]
push 1
push 0
push 1
push 1
push edx
push ecx
mov ecx, eax
call fcn.004e6010
jmp 0x49a24b
xor eax, eax
push 0x48
mov dword [esp + 0x84], 0xffffffff
mov dword [esi + 0xc4], eax
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 3
test eax, eax
je 0x49a2a1
mov edx, dword [esi + 0xf4]
mov ecx, dword [edx + 0x1c]
call fcn.004da010
mov ecx, dword [esi + 0xc4]
push eax
mov eax, dword [esi + 0x80]
push eax
push ecx
mov ecx, dword [esp + 0x30]
call fcn.004d9f10
jmp 0x49a2a3
xor eax, eax
push 0
lea edx, [esp + 0x24]
push edx
mov ecx, eax
mov dword [esp + 0x88], 0xffffffff
mov dword [esi + 0xc8], eax
mov byte [esp + 0x28], 0
call fcn.004da230
mov ecx, dword [0x63e0d8]
mov byte [esp + 0x20], 0xff
call fcn.00477e90
mov eax, dword [esi + 0xc8]
fstp qword [eax + 0x20]
mov eax, dword [esi + 0xf4]
mov ecx, dword [eax + 0x1c]
call fcn.004da020
mov ecx, dword [esi + 0xc8]
push eax
call fcn.004da140
mov ecx, dword [0x63e0d8]
call fcn.00477ea0
mov ecx, dword [esi + 0xc8]
push eax
call fcn.004da1d0
push 8
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 4
test eax, eax
je 0x49a33c
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.004e6240
jmp 0x49a33e
xor eax, eax
mov ecx, dword [esi + 0xc8]
push eax
mov dword [esp + 0x84], 0xffffffff
call fcn.004da070
push 8
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 5
test eax, eax
je 0x49a380
lea edx, [esp + 0x20]
push edx
mov ecx, eax
call fcn.004e6240
jmp 0x49a382
xor eax, eax
mov ecx, dword [esi + 0xc8]
push eax
mov dword [esp + 0x84], 0xffffffff
call fcn.004da060
mov eax, dword [edi + 0x2c]
mov ecx, dword [edi + 0x28]
neg eax
sub esp, 0x30
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
neg ecx
mov dword [esp + 0x54], ecx
fstp qword [esp + 0x28]
mov ecx, ebx
fild dword [esp + 0x54]
fstp qword [esp + 0x20]
fld qword [ebx + 0x28]
fstp qword [esp + 0x18]
fld qword [ebx + 0x20]
fstp qword [esp + 0x10]
fld qword [ebx + 0x18]
fstp qword [esp + 8]
fld qword [ebx + 0x10]
fstp qword [esp]
call fcn.004a4650
fldz
mov edx, dword [esi]
mov eax, dword [edx + 0x4c]
sub esp, 0x30
fst qword [esp + 0x28]
mov ecx, esi
fst qword [esp + 0x20]
fst qword [esp + 0x18]
fst qword [esp + 0x10]
fst qword [esp + 8]
fstp qword [esp]
push ebx
call eax
inc dword [esi + 0x108]
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x34
fstp st(2)
fstp st(0)
fstp st(0)
fstp st(0)
cmp dword [edi + 0x38], 0
je 0x49a440
push str.Bad_bounding_box_in_Type_3_glyph
push 0xffffffffffffffff
push 0
call fcn.00489570
add esp, 0xc
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x34