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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x134
push ebx
push esi
mov eax, 0xd
mov dword [esp + 0xac], eax
mov dword [esp + 0xcc], eax
mov esi, ecx
mov eax, dword [esi + 0x1c]
push edi
mov edi, dword [eax + 0x1ec]
mov edx, dword [edi]
mov eax, dword [edx + 8]
mov ecx, edi
call eax
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov dword [esp + 0x40], eax
mov eax, dword [edx + 8]
call eax
test eax, eax
je 0x4d4fbd
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov edx, dword [edx + 0xf8]
push eax
mov eax, dword [esi + 0x1c]
push eax
call edx
mov eax, dword [esi + 0x1c]
mov ebx, dword [eax + 0x250]
test bl, 1
jne 0x4d502c
mov eax, dword [eax + 0x74]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
call eax
cmp eax, 0xa
jne 0x4d502c
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [esi + 0x1c]
mov edx, dword [edx + 0x40]
push eax
mov dword [esp + 0x48], 1
call edx
mov ecx, dword [esi + 0x1c]
call fcn.004a9940
mov ecx, ebx
sar ecx, 1
not cl
movsx ecx, cl
movsx edx, bl
xor ecx, edx
and ecx, 1
add ecx, ecx
mov dword [esi + 0x1c], eax
or ecx, 5
mov dword [eax + 0x250], ecx
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
mov edx, dword [esi + 0x1c]
mov eax, dword [eax + 0xa8]
push edx
call eax
jmp 0x4d5034
mov dword [esp + 0x44], 0
cmp dword [edi + 0x18], 4
mov eax, dword [esi + 0x1c]
fld qword [eax + 0x248]
fld qword [eax + 0x208]
fmul st(1)
fld qword [eax + 0x1f8]
fldz
fmul st(1), st(0)
fxch st(2)
faddp st(1)
fst qword [esp + 0x88]
fld qword [eax + 0x210]
fmulp st(3)
fld qword [eax + 0x200]
fmulp st(2)
fxch st(2)
faddp st(1)
fst qword [esp + 0x70]
fld qword [eax + 0x258]
faddp st(2)
fxch st(1)
fstp qword [esp + 0xa0]
fadd qword [eax + 0x260]
fstp qword [esp + 0x90]
jne 0x4d54f0
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
test eax, eax
je 0x4d54f0
mov eax, dword [esi + 0x1c]
fld qword [eax + 0x10]
mov edx, dword [ebp + 8]
fld qword [eax + 0x18]
mov ecx, dword [esi + 0x6c]
fld qword [eax + 0x20]
mov ebx, dword [edx + 4]
fld qword [eax + 0x28]
mov dword [esp + 0x7c], ecx
fld qword [eax + 0x1f8]
mov dword [esp + 0x18], ebx
fmul st(4)
fld qword [eax + 0x200]
fmul st(3)
faddp st(1)
fld qword [eax + 0x1f8]
fmul st(4)
fld qword [eax + 0x200]
fmul st(3)
faddp st(1)
fxch st(3)
fmul qword [eax + 0x210]
fxch st(5)
fmul qword [eax + 0x208]
faddp st(5)
fxch st(1)
fmul qword [eax + 0x210]
fxch st(3)
fmul qword [eax + 0x208]
faddp st(3)
fmul qword [edi + 0x30]
fld qword [edi + 0x38]
fmul st(4)
faddp st(1)
fld qword [edi + 0x30]
fmulp st(2)
fld qword [edi + 0x38]
fmul st(3)
faddp st(2)
fxch st(3)
fmul qword [edi + 0x48]
fld st(3)
fmul qword [edi + 0x40]
faddp st(1)
fxch st(2)
fmul qword [edi + 0x48]
fld st(1)
fmul qword [edi + 0x40]
faddp st(1)
fld qword [eax + 0x1f0]
fmulp st(4)
fld qword [eax + 0x1f0]
fmulp st(2)
fxch st(1)
fstp qword [esp + 0xf8]
fld qword [eax + 0x1f0]
fmulp st(2)
fmul qword [eax + 0x1f0]
fstp qword [esp + 0x108]
fld qword [eax + 0x238]
fmulp st(2)
fxch st(1)
fstp qword [esp + 0xf0]
fmul qword [eax + 0x238]
fstp qword [esp + 0x100]
fld qword [eax + 0x258]
fstp qword [esp + 0x68]
fld qword [eax + 0x260]
mov eax, edx
mov eax, dword [eax]
fstp qword [esp + 0x98]
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x4d54e4
mov edx, dword [edi]
mov edx, dword [edx + 0xc]
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x4c]
push ecx
push 8
lea ecx, [esp + 0x138]
push ecx
lea ecx, [esp + 0x54]
push ecx
push eax
push ebx
mov ecx, edi
call edx
mov ecx, eax
mov eax, dword [esi + 0x1c]
fld qword [eax + 0x1f0]
mov dword [esp + 0x34], ecx
fmul qword [esp + 0x20]
fadd qword [eax + 0x228]
fst qword [esp + 0x20]
cmp ecx, 1
jne 0x4d5219
cmp byte [ebx], 0x20
jne 0x4d5219
fadd qword [eax + 0x230]
fst qword [esp + 0x20]
fmul qword [eax + 0x238]
mov ecx, dword [esi + 8]
push eax
fst qword [esp + 0x24]
fld qword [eax + 0x1f0]
fmul qword [esp + 0x2c]
fst qword [esp + 0x2c]
mov edx, dword [ecx]
fld qword [eax + 0x1f8]
fmul st(2)
fld qword [eax + 0x208]
fmul st(2)
faddp st(1)
fstp qword [esp + 0x4c]
fld qword [eax + 0x200]
fmulp st(2)
fmul qword [eax + 0x210]
faddp st(1)
fstp qword [esp + 0x54]
fld qword [esp + 0x6c]
fadd qword [esp + 0x8c]
fst qword [esp + 0xc4]
fld qword [esp + 0x9c]
fadd qword [esp + 0x74]
fst qword [esp + 0xec]
fld qword [eax + 0x10]
fmul st(2)
fld qword [eax + 0x20]
fmul st(2)
faddp st(1)
fadd qword [eax + 0x30]
fstp qword [esp + 0xcc]
fld qword [eax + 0x18]
fmulp st(2)
fmul qword [eax + 0x28]
faddp st(1)
fadd qword [eax + 0x38]
mov eax, dword [edx + 0x40]
fstp qword [esp + 0xe4]
call eax
mov ecx, dword [esi + 0x1c]
push 1
mov dword [esp + 0x44], ecx
call fcn.004a96f0
fld qword [esp + 0xe0]
sub esp, 0x30
fstp qword [esp + 0x28]
mov ecx, eax
fld qword [esp + 0xf8]
mov dword [esi + 0x1c], eax
fstp qword [esp + 0x20]
fld qword [esp + 0x138]
fstp qword [esp + 0x18]
fld qword [esp + 0x130]
fstp qword [esp + 0x10]
fld qword [esp + 0x128]
fstp qword [esp + 8]
fld qword [esp + 0x120]
fstp qword [esp]
call fcn.004a4650
fldz
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [esi + 0x1c]
mov edx, dword [edx + 0x4c]
sub esp, 0x30
fst qword [esp + 0x28]
fst qword [esp + 0x20]
fld1
fst qword [esp + 0x18]
fxch st(1)
fst qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
push eax
call edx
mov eax, dword [esi + 0x1c]
fld qword [eax + 0x10]
fld qword [esp + 0x20]
fmul st(1), st(0)
fld qword [eax + 0x20]
fld qword [esp + 0x28]
mov ebx, dword [esp + 0x3c]
fmul st(1), st(0)
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
fxch st(3)
push ebx
faddp st(1)
lea ebx, [esp + 0x124]
fld qword [eax + 0x18]
push ebx
mov ebx, dword [esp + 0x40]
fmulp st(2)
fld qword [eax + 0x28]
push ebx
fmulp st(3)
sub esp, 0x20
fxch st(1)
faddp st(2)
fxch st(1)
fstp qword [esp + 0x18]
fstp qword [esp + 0x10]
fld qword [esp + 0x114]
fstp qword [esp + 8]
fld qword [esp + 0xec]
fstp qword [esp]
push eax
mov eax, dword [edx + 0x108]
call eax
test eax, eax
jne 0x4d5472
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0xb0]
push ecx
push edx
mov ecx, edi
call fcn.004e7440
mov ecx, dword [esi + 4]
push 0
lea eax, [esp + 0xd4]
push eax
push ecx
lea ecx, [esp + 0xbc]
call fcn.0047c610
mov ecx, edi
call fcn.004e7480
mov ebx, eax
test ebx, ebx
je 0x4d53f2
push ebx
mov ecx, esi
call fcn.004d0e20
cmp dword [esp + 0xd0], 8
jne 0x4d540f
push 0
lea edx, [esp + 0xb4]
push edx
mov ecx, esi
call fcn.004d22e0
jmp 0x4d543e
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x4d542b
mov eax, dword [eax + 4]
cmp dword [eax + 8], 0xd
je 0x4d542b
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
call edx
jmp 0x4d542e
or eax, 0xffffffff
push str.Missing_or_bad_Type3_CharProc_entry
push eax
push 1
call fcn.00489570
add esp, 0xc
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
mov edx, dword [esi + 0x1c]
mov eax, dword [eax + 0x10c]
push edx
call eax
test ebx, ebx
je 0x4d545a
mov ecx, esi
call fcn.004d2150
lea ecx, [esp + 0xd0]
call fcn.0047c660
lea ecx, [esp + 0xb0]
call fcn.0047c660
mov ecx, dword [esp + 0x40]
push ecx
mov ecx, esi
call fcn.004d0dc0
fld qword [esp + 0x48]
fadd qword [esp + 0x68]
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax + 0x254]
sub esp, 0x10
fst qword [esp + 0x78]
fld qword [esp + 0x60]
fadd qword [esp + 0xa8]
fst qword [esp + 0xa8]
fst qword [eax + 0x260]
fxch st(1)
fst qword [eax + 0x258]
fxch st(1)
fstp qword [esp + 8]
fstp qword [esp]
call fcn.004a40a0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
sub eax, ecx
add ebx, ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
test eax, eax
jg 0x4d51b5
mov edx, dword [esp + 0x7c]
mov dword [esi + 0x6c], edx
jmp 0x4d5849
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
test eax, eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [esp + 0x18], ecx
je 0x4d56d2
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x4d5849
jmp 0x4d5524
mov eax, dword [esp + 0x1c]
mov edx, dword [edi]
mov edx, dword [edx + 0xc]
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x4c]
push ecx
push 8
lea ecx, [esp + 0x138]
push ecx
lea ecx, [esp + 0x54]
push ecx
push eax
mov eax, dword [esp + 0x3c]
push eax
mov ecx, edi
call edx
cmp dword [esp + 0x40], 0
mov ebx, eax
mov eax, dword [esi + 0x1c]
fld qword [eax + 0x1f0]
fmul qword [esp + 0x20]
je 0x4d559f
fst qword [esp + 0x20]
fld qword [eax + 0x1f0]
fmul qword [esp + 0x28]
fadd qword [eax + 0x228]
fst qword [esp + 0x28]
cmp ebx, 1
jne 0x4d55d9
mov ecx, dword [esp + 0x18]
cmp byte [ecx], 0x20
jne 0x4d55d9
fadd qword [eax + 0x230]
jmp 0x4d55d5
fadd qword [eax + 0x228]
fst qword [esp + 0x20]
cmp ebx, 1
jne 0x4d55c1
mov edx, dword [esp + 0x18]
cmp byte [edx], 0x20
jne 0x4d55c1
fadd qword [eax + 0x230]
fst qword [esp + 0x20]
fmul qword [eax + 0x238]
fst qword [esp + 0x20]
fld qword [eax + 0x1f0]
fmul qword [esp + 0x28]
fst qword [esp + 0x28]
fld qword [eax + 0x1f8]
mov ecx, dword [esi + 8]
fmul st(2)
fld qword [eax + 0x208]
fmul st(2)
faddp st(1)
fst qword [esp + 0x48]
fld qword [eax + 0x200]
fmulp st(3)
fld qword [eax + 0x210]
fmulp st(2)
fxch st(2)
faddp st(1)
fst qword [esp + 0x50]
fld qword [eax + 0x1f0]
fmul qword [esp + 0x60]
fst qword [esp + 0x60]
fld qword [eax + 0x1f0]
fmul qword [esp + 0x58]
fst qword [esp + 0x58]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x3c]
fld qword [eax + 0x200]
fmul st(2)
push ecx
fld qword [eax + 0x210]
lea ecx, [esp + 0x124]
fmul st(2)
push ecx
mov ecx, dword [esp + 0x40]
push ebx
faddp st(1)
push ecx
sub esp, 0x30
mov ecx, dword [esi + 8]
fstp qword [esp + 0x28]
mov edx, dword [edx + 0x100]
fld qword [eax + 0x1f8]
fmulp st(2)
fmul qword [eax + 0x208]
faddp st(1)
fstp qword [esp + 0x20]
fstp qword [esp + 0x18]
fstp qword [esp + 0x10]
fld qword [eax + 0x260]
fadd qword [esp + 0xb0]
fstp qword [esp + 8]
fld qword [eax + 0x258]
fadd qword [esp + 0xc8]
fstp qword [esp]
push eax
call edx
fld qword [esp + 0x50]
mov ecx, dword [esi + 0x1c]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x58]
fstp qword [esp]
call fcn.004a53d0
mov eax, dword [esp + 0x1c]
add dword [esp + 0x18], ebx
sub eax, ebx
mov dword [esp + 0x1c], eax
test eax, eax
jg 0x4d5520
jmp 0x4d5849
fldz
mov ebx, dword [eax]
fld st(0)
xor eax, eax
cmp ebx, eax
fst qword [esp + 0x28]
fxch st(1)
mov dword [esp + 0x34], eax
fst qword [esp + 0x20]
mov dword [esp + 0x1c], eax
jle 0x4d5781
fstp st(0)
jmp 0x4d56fa
fstp st(1)
mov edx, dword [edi]
fstp st(0)
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x64]
push ecx
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x8c]
push ecx
lea eax, [esp + 0x4c]
push eax
push 8
lea ecx, [esp + 0x138]
push ecx
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x54]
push eax
push ebx
push ecx
mov ecx, edi
call edx
fld qword [esp + 0x80]
fadd qword [esp + 0x20]
mov ecx, 1
fst qword [esp + 0x20]
fld qword [esp + 0xa8]
fadd qword [esp + 0x28]
fst qword [esp + 0x28]
cmp eax, ecx
jne 0x4d576d
mov edx, dword [esp + 0x18]
cmp byte [edx], 0x20
jne 0x4d576d
add dword [esp + 0x34], ecx
add dword [esp + 0x1c], ecx
add dword [esp + 0x18], eax
sub ebx, eax
test ebx, ebx
jg 0x4d56f8
fxch st(1)
cmp dword [esp + 0x40], 0
mov eax, dword [esi + 0x1c]
je 0x4d57b7
fmul qword [eax + 0x1f0]
fst qword [esp + 0x20]
fild dword [esp + 0x1c]
fmul qword [eax + 0x228]
fld qword [eax + 0x1f0]
fmulp st(3)
faddp st(2)
fild dword [esp + 0x34]
fmul qword [eax + 0x230]
faddp st(2)
jmp 0x4d57ed
fild dword [esp + 0x1c]
fmul qword [eax + 0x228]
fld qword [eax + 0x1f0]
fmulp st(2)
faddp st(1)
fild dword [esp + 0x34]
fmul qword [eax + 0x230]
faddp st(1)
fst qword [esp + 0x20]
fmul qword [eax + 0x238]
fst qword [esp + 0x20]
fld qword [eax + 0x1f0]
fmulp st(2)
mov ecx, dword [esi + 8]
fxch st(1)
fst qword [esp + 0x28]
mov edi, dword [ebp + 8]
fld qword [eax + 0x1f8]
mov edx, dword [ecx]
fmul st(2)
push edi
fld qword [eax + 0x208]
push eax
fmul st(2)
faddp st(1)
fstp qword [esp + 0x50]
fld qword [eax + 0x200]
fmulp st(2)
fmul qword [eax + 0x210]
mov eax, dword [edx + 0x104]
faddp st(1)
fstp qword [esp + 0x58]
call eax
fld qword [esp + 0x50]
mov ecx, dword [esi + 0x1c]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x58]
fstp qword [esp]
call fcn.004a53d0
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
test eax, eax
je 0x4d5868
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [esi + 0x1c]
mov edx, dword [edx + 0xfc]
push eax
call edx
cmp dword [esp + 0x44], 0
je 0x4d5a29
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
mov edx, dword [esi + 0x1c]
mov eax, dword [eax + 0xc0]
push edx
call eax
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [esi + 0x1c]
mov edx, dword [edx + 0x110]
push eax
call edx
mov ecx, dword [esi + 0x1c]
fld qword [ecx + 0x258]
fadd qword [esp + 0x88]
fld qword [ecx + 0x260]
fadd qword [esp + 0x70]
fld qword [esp + 0xa0]
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x4d58ca
fxch st(2)
fstp qword [esp + 0xa0]
jmp 0x4d58cc
fstp st(0)
fld qword [esp + 0x90]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4d58e7
fxch st(1)
fstp qword [esp + 0x90]
jmp 0x4d58e9
fstp st(0)
fld qword [ecx + 0x1f0]
fld qword [ecx + 0x208]
fmul st(1)
fld qword [ecx + 0x1f8]
fldz
fmul st(1), st(0)
fxch st(2)
faddp st(1)
fst qword [esp + 0x20]
fld qword [ecx + 0x210]
fmulp st(3)
fld qword [ecx + 0x200]
fmul st(2)
faddp st(3)
fxch st(2)
fst qword [esp + 0x28]
fld qword [ecx + 0x1f0]
fld qword [ecx + 0x1f8]
fmul st(1)
fld qword [ecx + 0x208]
fmul st(4)
faddp st(1)
fst qword [esp + 0x80]
fld qword [ecx + 0x200]
fmulp st(2)
fld qword [ecx + 0x210]
fmulp st(4)
fxch st(1)
faddp st(3)
fxch st(3)
fabs
fst qword [esp + 0x20]
fxch st(3)
fabs
fst qword [esp + 0x80]
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x4d599c
fstp st(3)
fxch st(2)
fst qword [esp + 0x20]
fxch st(2)
fabs
fst qword [esp + 0x28]
fxch st(1)
fabs
fst qword [esp + 0xa8]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4d59a0
fstp st(1)
fst qword [esp + 0x28]
jmp 0x4d59a2
fstp st(0)
jmp 0x4d597a
fstp st(0)
fld qword [0x5c3280]
sub esp, 0x20
fmul st(1), st(0)
fmulp st(2)
fld st(0)
faddp st(3)
fxch st(2)
fstp qword [esp + 0x18]
fld st(0)
faddp st(3)
fxch st(2)
fstp qword [esp + 0x10]
fsubr qword [esp + 0xb0]
fstp qword [esp + 8]
fsubr qword [esp + 0xc0]
fstp qword [esp]
call fcn.004a51b0
mov eax, dword [esi + 0x1c]
mov dword [eax + 0x250], 0
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [esi + 0x1c]
mov edx, dword [edx + 0xa8]
push eax
call edx
mov ecx, esi
call fcn.004d4d60
mov ecx, dword [esi + 0x1c]
call fcn.004a9960
mov ecx, dword [esi + 8]
mov dword [esi + 0x1c], eax
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x44]
call eax
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov eax, dword [esi + 0x1c]
mov edx, dword [edx + 0xc4]
push eax
call edx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
lea ecx, [eax + eax*4]
add ecx, ecx
add dword [esi + 0x18], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4