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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x52c9d2
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x59c6b8]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 0xf4]
cmp dword [eax + 4], 0
jne 0x465893
mov dword [eax + 4], 1
mov eax, dword [esi + 0xf4]
cmp dword [eax + 8], 0
jne 0x465893
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)
fld qword [ebx + 0x18]
fmulp st(4)
fld qword [ebx + 0x28]
fmul st(3)
fadd st(4)
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 qword [ebx + 0x28]
fmul st(7)
faddp st(6)
fxch st(5)
fadd qword [ebx + 0x38]
fxch st(5)
fcom st(3)
fnstsw ax
test ah, 5
jp 0x46538d
fstp st(2)
jmp 0x46539c
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x46539a
fstp st(3)
jmp 0x46539c
fstp st(0)
fcom st(4)
fnstsw ax
test ah, 0x41
jne 0x4653ad
fxch st(4)
fstp qword [esp + 0x24]
jmp 0x4653bc
fcom st(4)
fnstsw ax
test ah, 5
jp 0x4653ba
fstp st(0)
jmp 0x4653bc
fstp st(4)
fld qword [ebx + 0x10]
fld qword [ebp + 0x2c]
fmul st(1), st(0)
fxch st(1)
fst qword [esp + 0x2c]
fld qword [ebx + 0x20]
fmul st(5)
faddp st(1)
fadd qword [ebx + 0x30]
fld qword [ebx + 0x18]
fmulp st(2)
fld qword [ebx + 0x28]
fmulp st(5)
fxch st(4)
fadd st(1)
fadd qword [ebx + 0x38]
fxch st(4)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x4653f4
fstp st(2)
jmp 0x465403
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x465401
fstp st(3)
jmp 0x465403
fstp st(0)
fld qword [esp + 0x24]
fcom st(4)
fnstsw ax
test ah, 0x41
je 0x46541f
fxch st(4)
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x46541f
fstp st(5)
jmp 0x465421
fstp st(0)
fld qword [ebx + 0x20]
fmul st(6)
fadd qword [esp + 0x2c]
fadd qword [ebx + 0x30]
fld qword [ebx + 0x28]
fmulp st(7)
fxch st(6)
faddp st(1)
fadd qword [ebx + 0x38]
fxch st(5)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x465448
fstp st(1)
jmp 0x465457
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x465455
fstp st(2)
jmp 0x465457
fstp st(0)
fxch st(4)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x465466
fstp st(2)
jmp 0x465475
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x465473
fstp st(3)
jmp 0x465475
fstp st(0)
fld qword [esp + 0x34]
mov edx, dword [edi + 0x28]
fsub st(4), st(0)
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fcomp st(5)
fnstsw ax
fstp st(4)
test ah, 0x41
je 0x465872
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 0x46586a
mov eax, dword [edi + 0x30]
fsubrp st(3)
add eax, edx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 5
jnp 0x46586e
mov edx, dword [edi + 0x34]
fsubrp st(1)
add edx, ecx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fcompp
fnstsw ax
test ah, 5
jnp 0x46587a
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 0x46558c
lea eax, [edx*4]
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 0x46556d
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 0x465576
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
mov dword [esp + 0x24], ebx
cmp ebx, ecx
jl 0x465517
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 0x46566f
call fcn.00511699
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 0
test eax, eax
je 0x465602
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.0048be50
jmp 0x465604
xor eax, eax
push 0x148
mov dword [esp + 0x84], 0xffffffff
mov dword [esi + 0xc4], eax
call fcn.00511699
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 1
test eax, eax
je 0x465662
mov edx, dword [esi + 0xf4]
mov ecx, dword [edx + 0x1c]
call fcn.004802f0
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esi + 0xc4]
push 0
push eax
call fcn.00480160
push 0
lea ecx, [esp + 0x24]
push ecx
jmp 0x465707
xor eax, eax
push eax
lea ecx, [esp + 0x24]
push ecx
jmp 0x465707
call fcn.00511699
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 2
test eax, eax
je 0x4656a3
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.0048be50
jmp 0x4656a5
xor eax, eax
push 0x148
mov dword [esp + 0x84], 0xffffffff
mov dword [esi + 0xc4], eax
call fcn.00511699
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 3
test eax, eax
je 0x4656fe
mov edx, dword [esi + 0xf4]
mov ecx, dword [edx + 0x1c]
call fcn.004802f0
mov ecx, dword [esi + 0xc4]
push eax
mov eax, dword [esi + 0x80]
push eax
push ecx
mov ecx, dword [esp + 0x30]
call fcn.00480160
jmp 0x465700
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.00480540
mov ecx, dword [0x59da88]
mov byte [esp + 0x20], 0xff
call fcn.00437960
mov eax, dword [esi + 0xc8]
fstp qword [eax + 0x120]
mov eax, dword [esi + 0xf4]
mov ecx, dword [eax + 0x1c]
call fcn.00480300
mov ecx, dword [esi + 0xc8]
push eax
call fcn.00480410
push 8
call fcn.00511699
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 4
test eax, eax
je 0x465785
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.0048c0d0
jmp 0x465787
xor eax, eax
mov ecx, dword [esi + 0xc8]
push eax
mov dword [esp + 0x84], 0xffffffff
call fcn.00480340
push 8
call fcn.00511699
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 5
test eax, eax
je 0x4657c9
lea edx, [esp + 0x20]
push edx
mov ecx, eax
call fcn.0048c0d0
jmp 0x4657cb
xor eax, eax
mov ecx, dword [esi + 0xc8]
push eax
mov dword [esp + 0x84], 0xffffffff
call fcn.00480330
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.0042d660
fldz
mov edx, dword [esi]
mov eax, dword [edx + 0x50]
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(3)
fstp st(0)
fstp st(1)
jmp 0x465878
fstp st(3)
fstp st(2)
fstp st(0)
fstp st(0)
cmp dword [edi + 0x38], 0
je 0x465893
push str.Bad_bounding_box_in_Type_3_glyph
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
call fcn.00412330
add esp, 0x10
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