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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x561e8e
mov eax, dword fs:[0]
push eax
sub esp, 0x8e8
push ebx
push esi
push edi
mov eax, dword [0x63d20c]
xor eax, esp
push eax
lea eax, [esp + 0x8f8]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0xc]
mov eax, 0xd
mov dword [esp + 0x34], eax
mov dword [esp + 0x74], eax
push 0
lea eax, [esp + 0x38]
push eax
push str.BitsPerCoordinate
mov ecx, ebx
call fcn.0047c300
cmp dword [eax], 1
jne 0x4a94fd
mov esi, dword [esp + 0x3c]
lea ecx, [esp + 0x34]
mov dword [esp + 0xa0], esi
call fcn.0047c660
push 0
lea ecx, [esp + 0x38]
push ecx
push str.BitsPerComponent
mov ecx, ebx
call fcn.0047c300
cmp dword [eax], 1
jne 0x4a94f6
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x34]
mov dword [esp + 0xa8], edx
call fcn.0047c660
push 0
lea eax, [esp + 0x38]
push eax
push str.BitsPerFlag
mov ecx, ebx
call fcn.0047c300
cmp dword [eax], 1
jne 0x4a94ef
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xa4], ecx
lea ecx, [esp + 0x34]
call fcn.0047c660
push 0
lea edx, [esp + 0x38]
push edx
push str.Decode
mov ecx, ebx
call fcn.0047c300
cmp dword [eax], 6
jne 0x4a94e8
mov ecx, dword [esp + 0x3c]
cmp dword [ecx + 0xc], 6
jl 0x4a94e8
lea eax, [esp + 0x74]
push eax
push 0
call fcn.0047c000
cmp dword [eax], 1
jne 0x4a8022
fild dword [eax + 8]
jmp 0x4a8025
fld qword [eax + 8]
lea ecx, [esp + 0x74]
fstp qword [esp + 0x94]
call fcn.0047c660
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x40]
push 1
call fcn.0047c000
cmp dword [eax], 1
jne 0x4a804f
fild dword [eax + 8]
jmp 0x4a8052
fld qword [eax + 8]
lea ecx, [esp + 0x74]
fstp qword [esp + 0x6c]
call fcn.0047c660
fld qword [0x5c3280]
push esi
sub esp, 8
fstp qword [esp]
call fcn.0047b340
fsub qword [0x5795e0]
mov ecx, dword [esp + 0x48]
add esp, 0xc
lea edx, [esp + 0x74]
fst qword [esp + 0x8c]
push edx
fld qword [esp + 0x70]
push 2
fsub qword [esp + 0x9c]
fdivrp st(1)
fstp qword [esp + 0x1c4]
call fcn.0047c000
cmp dword [eax], 1
jne 0x4a80af
fild dword [eax + 8]
jmp 0x4a80b2
fld qword [eax + 8]
lea ecx, [esp + 0x74]
fstp qword [esp + 0x6c]
call fcn.0047c660
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x74]
push eax
push 3
call fcn.0047c000
cmp dword [eax], 1
jne 0x4a80d9
fild dword [eax + 8]
jmp 0x4a80dc
fld qword [eax + 8]
lea ecx, [esp + 0x74]
fstp qword [esp + 0x64]
call fcn.0047c660
fld qword [esp + 0x64]
fsub qword [esp + 0x6c]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0xc]
xor esi, esi
cmp eax, 5
fdiv qword [esp + 0x8c]
fstp qword [esp + 0x1b4]
jle 0x4a81bd
mov edi, 5
cmp edi, 0x45
jge 0x4a81bd
lea edx, [esp + 0x74]
push edx
lea eax, [edi - 1]
push eax
call fcn.0047c000
cmp dword [eax], 1
jne 0x4a8137
fild dword [eax + 8]
jmp 0x4a813a
fld qword [eax + 8]
fst qword [esp + 0x8c]
lea ecx, [esp + 0x74]
fstp qword [esp + esi*8 + 0x6c4]
call fcn.0047c660
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x40]
push edi
call fcn.0047c000
cmp dword [eax], 1
jne 0x4a816a
fild dword [eax + 8]
jmp 0x4a816d
fld qword [eax + 8]
fst qword [esp + 0x64]
lea ecx, [esp + 0x74]
fstp qword [esp + esi*8 + 0x5c4]
call fcn.0047c660
mov ecx, dword [esp + 0xa8]
fld qword [esp + 0x64]
fsub qword [esp + 0x8c]
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x3c]
add edi, 2
inc esi
dec edx
cmp edi, dword [ecx + 0xc]
mov dword [esp + 0x5c], edx
fild dword [esp + 0x5c]
fdivp st(1)
fstp qword [esp + esi*8 + 0x7bc]
jl 0x4a8116
lea ecx, [esp + 0x34]
call fcn.0047c660
push 0
lea eax, [esp + 0x38]
push eax
push str.Function
mov ecx, ebx
call fcn.0047c300
cmp dword [eax], 5
je 0x4a82a2
cmp dword [esp + 0x34], 6
jne 0x4a827b
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0xc]
cmp eax, 0x20
mov dword [esp + 0x60], eax
jle 0x4a8226
push str.Invalid_Function_array_in_shading_dictionary
push 0xffffffffffffffff
push 1
call fcn.00489570
add esp, 0xc
xor eax, eax
mov ecx, dword [esp + 0x8f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ebx, ebx
xor edi, edi
cmp eax, ebx
jle 0x4a82ac
mov ebx, eax
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x74]
push edx
push edi
call fcn.0047c000
lea eax, [esp + 0x74]
push 0
push eax
call fcn.004eff40
add esp, 8
mov dword [esp + edi*4 + 0x5c4], eax
test eax, eax
je 0x4a8269
lea ecx, [esp + 0x74]
call fcn.0047c660
inc edi
cmp edi, ebx
jl 0x4a8230
jmp 0x4a82aa
lea ecx, [esp + 0x34]
call fcn.0047c660
lea ecx, [esp + 0x74]
jmp 0x4a9512
lea ecx, [esp + 0x34]
push 0
push ecx
mov dword [esp + 0x68], 1
call fcn.004eff40
add esp, 8
mov dword [esp + 0x5c4], eax
test eax, eax
jne 0x4a82aa
jmp 0x4a950e
mov dword [esp + 0x60], 0
xor ebx, ebx
lea ecx, [esp + 0x34]
call fcn.0047c660
push 0xc
mov dword [esp + 0x50], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x8c], ebx
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x8c], edi
mov dword [esp + 0x900], ebx
cmp edi, ebx
je 0x4a82fc
mov ecx, dword [ebp + 0x10]
mov dword [edi], ecx
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov ecx, edi
mov dword [esp + 0x30], edi
jmp 0x4a8302
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0xa4]
lea edx, [esp + 0x50]
push edx
push eax
mov dword [esp + 0x908], 0xffffffff
call fcn.004a2c40
test eax, eax
je 0x4a9209
mov dword [esp + 0x5c], ebx
cmp dword [ebp + 8], 6
jne 0x4a834e
cmp dword [esp + 0x50], 0
je 0x4a8347
mov ebx, 8
mov dword [esp + 0x48], 2
jmp 0x4a8371
mov ebx, 0xc
jmp 0x4a8369
cmp dword [esp + 0x50], 0
je 0x4a8364
mov ebx, 0xc
mov dword [esp + 0x48], 2
jmp 0x4a8371
mov ebx, 0x10
mov dword [esp + 0x48], 4
xor edi, edi
test ebx, ebx
jle 0x4a8428
jmp 0x4a8380
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x1b0]
push ecx
mov ecx, dword [esp + 0x34]
push edx
call fcn.004a2c40
test eax, eax
je 0x4a8420
mov ecx, dword [esp + 0xa0]
lea eax, [esp + 0x1ac]
push eax
push ecx
mov ecx, dword [esp + 0x38]
call fcn.004a2c40
test eax, eax
je 0x4a8420
mov edx, dword [esp + 0x1b0]
fild dword [esp + 0x1b0]
test edx, edx
jge 0x4a83d6
fadd qword [0x586838]
fmul qword [esp + 0x1bc]
mov eax, dword [esp + 0x1ac]
fadd qword [esp + 0x94]
fstp qword [esp + edi*8 + 0x12c]
fild dword [esp + 0x1ac]
test eax, eax
jge 0x4a8403
fadd qword [0x586838]
fmul qword [esp + 0x1b4]
inc edi
cmp edi, ebx
fadd qword [esp + 0x6c]
fstp qword [esp + edi*8 + 0xa4]
jl 0x4a8380
jmp 0x4a8428
cmp edi, ebx
jl 0x4a9209
cmp dword [esp + 0x48], 0
mov dword [esp + 0x54], 0
jle 0x4a84ca
xor ebx, ebx
lea ecx, [ecx]
xor edi, edi
test esi, esi
jle 0x4a84a8
jmp 0x4a8450
mov edx, dword [esp + 0xa8]
lea ecx, [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x34]
push edx
call fcn.004a2c40
test eax, eax
je 0x4a84a4
mov eax, dword [esp + 0x8c]
fild dword [esp + 0x8c]
test eax, eax
jge 0x4a8485
fadd qword [0x586838]
fmul qword [esp + edi*8 + 0x7c4]
lea ecx, [ebx + edi]
inc edi
cmp edi, esi
fadd qword [esp + edi*8 + 0x6bc]
fstp qword [esp + ecx*8 + 0x1c4]
jl 0x4a8450
jmp 0x4a84a8
cmp edi, esi
jl 0x4a84bc
mov eax, dword [esp + 0x54]
inc eax
add ebx, 0x20
cmp eax, dword [esp + 0x48]
mov dword [esp + 0x54], eax
jl 0x4a8440
jmp 0x4a84ca
mov edx, dword [esp + 0x54]
cmp edx, dword [esp + 0x48]
jl 0x4a9209
mov eax, dword [esp + 0x88]
cmp dword [esp + 0x4c], eax
jne 0x4a8502
test eax, eax
jne 0x4a84e2
mov eax, 0x10
jmp 0x4a84e4
add eax, eax
push 0x500
push eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x60]
push eax
call fcn.00497350
add esp, 0xc
mov dword [esp + 0x58], eax
cmp dword [ebp + 8], 6
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
lea eax, [edx + ecx]
mov ecx, dword [esp + 0x50]
jne 0x4a8ab8
cmp ecx, 3
ja case.default.0x4a8ac1
jmp dword [ecx*4 + 0x4a9530]
fld qword [esp + 0x12c]
xor edx, edx
fstp qword [eax]
fld qword [esp + 0xac]
fstp qword [eax + 0x80]
fld qword [esp + 0x134]
fstp qword [eax + 8]
fld qword [esp + 0xb4]
fstp qword [eax + 0x88]
fld qword [esp + 0x13c]
fstp qword [eax + 0x10]
fld qword [esp + 0xbc]
fstp qword [eax + 0x90]
fld qword [esp + 0x144]
fstp qword [eax + 0x18]
fld qword [esp + 0xc4]
fstp qword [eax + 0x98]
fld qword [esp + 0x14c]
fstp qword [eax + 0x38]
fld qword [esp + 0xcc]
fstp qword [eax + 0xb8]
fld qword [esp + 0x154]
fstp qword [eax + 0x58]
fld qword [esp + 0xd4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x15c]
fstp qword [eax + 0x78]
fld qword [esp + 0xdc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x164]
fstp qword [eax + 0x70]
fld qword [esp + 0xe4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x16c]
fstp qword [eax + 0x68]
fld qword [esp + 0xec]
fstp qword [eax + 0xe8]
fld qword [esp + 0x174]
fstp qword [eax + 0x60]
fld qword [esp + 0xf4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x17c]
fstp qword [eax + 0x40]
fld qword [esp + 0xfc]
fstp qword [eax + 0xc0]
fld qword [esp + 0x184]
fstp qword [eax + 0x20]
fld qword [esp + 0x104]
fstp qword [eax + 0xa0]
test esi, esi
jle case.default.0x4a8ac1
lea ecx, [eax + 0x200]
neg eax
lea edi, [esp + eax + 0x1c4]
lea eax, [esp + eax + 0x2c4]
mov edi, edi
fld qword [esp + edx*8 + 0x1c4]
inc edx
fstp qword [ecx - 0x100]
add ecx, 8
cmp edx, esi
fld qword [esp + edx*8 + 0x2bc]
fstp qword [ecx - 8]
fld qword [ecx + edi - 8]
fstp qword [ecx + 0x1f8]
fld qword [ecx + eax - 8]
fstp qword [ecx + 0xf8]
jl 0x4a8660
jmp case.default.0x4a8ac1
fld qword [eax - 0x4e8]
xor edx, edx
fstp qword [eax]
fld qword [eax - 0x468]
fstp qword [eax + 0x80]
fld qword [eax - 0x4c8]
fstp qword [eax + 8]
fld qword [eax - 0x448]
fstp qword [eax + 0x88]
fld qword [eax - 0x4a8]
fstp qword [eax + 0x10]
fld qword [eax - 0x428]
fstp qword [eax + 0x90]
fld qword [eax - 0x488]
fstp qword [eax + 0x18]
fld qword [eax - 0x408]
fstp qword [eax + 0x98]
fld qword [esp + 0x12c]
fstp qword [eax + 0x38]
fld qword [esp + 0xac]
fstp qword [eax + 0xb8]
fld qword [esp + 0x134]
fstp qword [eax + 0x58]
fld qword [esp + 0xb4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x13c]
fstp qword [eax + 0x78]
fld qword [esp + 0xbc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x144]
fstp qword [eax + 0x70]
fld qword [esp + 0xc4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x14c]
fstp qword [eax + 0x68]
fld qword [esp + 0xcc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x154]
fstp qword [eax + 0x60]
fld qword [esp + 0xd4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x15c]
fstp qword [eax + 0x40]
fld qword [esp + 0xdc]
fstp qword [eax + 0xc0]
fld qword [esp + 0x164]
fstp qword [eax + 0x20]
fld qword [esp + 0xe4]
fstp qword [eax + 0xa0]
test esi, esi
jle case.default.0x4a8ac1
lea ecx, [eax + 0x200]
add eax, 0xffffff00
jmp 0x4a87c0
fld qword [eax - 0x200]
inc edx
fstp qword [ecx - 0x100]
add eax, 8
fld qword [eax - 8]
add ecx, 8
cmp edx, esi
fstp qword [ecx - 8]
fld qword [esp + edx*8 + 0x1bc]
fstp qword [ecx + 0x1f8]
fld qword [esp + edx*8 + 0x2bc]
fstp qword [ecx + 0xf8]
jl 0x4a87c0
jmp case.default.0x4a8ac1
fld qword [eax - 0x488]
xor edx, edx
fstp qword [eax]
fld qword [eax - 0x408]
fstp qword [eax + 0x80]
fld qword [eax - 0x490]
fstp qword [eax + 8]
fld qword [eax - 0x410]
fstp qword [eax + 0x88]
fld qword [eax - 0x498]
fstp qword [eax + 0x10]
fld qword [eax - 0x418]
fstp qword [eax + 0x90]
fld qword [eax - 0x4a0]
fstp qword [eax + 0x18]
fld qword [eax - 0x420]
fstp qword [eax + 0x98]
fld qword [esp + 0x12c]
fstp qword [eax + 0x38]
fld qword [esp + 0xac]
fstp qword [eax + 0xb8]
fld qword [esp + 0x134]
fstp qword [eax + 0x58]
fld qword [esp + 0xb4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x13c]
fstp qword [eax + 0x78]
fld qword [esp + 0xbc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x144]
fstp qword [eax + 0x70]
fld qword [esp + 0xc4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x14c]
fstp qword [eax + 0x68]
fld qword [esp + 0xcc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x154]
fstp qword [eax + 0x60]
fld qword [esp + 0xd4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x15c]
fstp qword [eax + 0x40]
fld qword [esp + 0xdc]
fstp qword [eax + 0xc0]
fld qword [esp + 0x164]
fstp qword [eax + 0x20]
fld qword [esp + 0xe4]
fstp qword [eax + 0xa0]
test esi, esi
jle case.default.0x4a8ac1
lea ecx, [eax + 0x200]
add eax, 0xfffffe00
lea esp, [esp]
fld qword [eax + 0x100]
inc edx
fstp qword [ecx - 0x100]
add eax, 8
fld qword [eax - 8]
add ecx, 8
cmp edx, esi
fstp qword [ecx - 8]
fld qword [esp + edx*8 + 0x1bc]
fstp qword [ecx + 0x1f8]
fld qword [esp + edx*8 + 0x2bc]
fstp qword [ecx + 0xf8]
jl 0x4a8920
jmp case.default.0x4a8ac1
fld qword [eax - 0x4a0]
xor edx, edx
fstp qword [eax]
fld qword [eax - 0x420]
fstp qword [eax + 0x80]
fld qword [eax - 0x4c0]
fstp qword [eax + 8]
fld qword [eax - 0x440]
fstp qword [eax + 0x88]
fld qword [eax - 0x4e0]
fstp qword [eax + 0x10]
fld qword [eax - 0x460]
fstp qword [eax + 0x90]
fld qword [eax - 0x500]
fstp qword [eax + 0x18]
fld qword [eax - 0x480]
fstp qword [eax + 0x98]
fld qword [esp + 0x12c]
fstp qword [eax + 0x38]
fld qword [esp + 0xac]
fstp qword [eax + 0xb8]
fld qword [esp + 0x134]
fstp qword [eax + 0x58]
fld qword [esp + 0xb4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x13c]
fstp qword [eax + 0x78]
fld qword [esp + 0xbc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x144]
fstp qword [eax + 0x70]
fld qword [esp + 0xc4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x14c]
fstp qword [eax + 0x68]
fld qword [esp + 0xcc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x154]
fstp qword [eax + 0x60]
fld qword [esp + 0xd4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x15c]
fstp qword [eax + 0x40]
fld qword [esp + 0xdc]
fstp qword [eax + 0xc0]
fld qword [esp + 0x164]
fstp qword [eax + 0x20]
fld qword [esp + 0xe4]
fstp qword [eax + 0xa0]
test esi, esi
jle case.default.0x4a8ac1
lea ecx, [eax + 0x200]
add eax, 0xfffffc00
lea esp, [esp]
fld qword [eax + 0x200]
inc edx
fstp qword [ecx]
add eax, 8
fld qword [eax - 8]
add ecx, 8
cmp edx, esi
fstp qword [ecx - 8]
fld qword [esp + edx*8 + 0x1bc]
fstp qword [ecx + 0x1f8]
fld qword [esp + edx*8 + 0x2bc]
fstp qword [ecx + 0xf8]
jl 0x4a8a80
jmp case.default.0x4a8ac1
cmp ecx, 3
ja case.default.0x4a8ac1
jmp dword [ecx*4 + 0x4a9540]
fld qword [esp + 0x12c]
xor edx, edx
fstp qword [eax]
fld qword [esp + 0xac]
fstp qword [eax + 0x80]
fld qword [esp + 0x134]
fstp qword [eax + 8]
fld qword [esp + 0xb4]
fstp qword [eax + 0x88]
fld qword [esp + 0x13c]
fstp qword [eax + 0x10]
fld qword [esp + 0xbc]
fstp qword [eax + 0x90]
fld qword [esp + 0x144]
fstp qword [eax + 0x18]
fld qword [esp + 0xc4]
fstp qword [eax + 0x98]
fld qword [esp + 0x14c]
fstp qword [eax + 0x38]
fld qword [esp + 0xcc]
fstp qword [eax + 0xb8]
fld qword [esp + 0x154]
fstp qword [eax + 0x58]
fld qword [esp + 0xd4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x15c]
fstp qword [eax + 0x78]
fld qword [esp + 0xdc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x164]
fstp qword [eax + 0x70]
fld qword [esp + 0xe4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x16c]
fstp qword [eax + 0x68]
fld qword [esp + 0xec]
fstp qword [eax + 0xe8]
fld qword [esp + 0x174]
fstp qword [eax + 0x60]
fld qword [esp + 0xf4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x17c]
fstp qword [eax + 0x40]
fld qword [esp + 0xfc]
fstp qword [eax + 0xc0]
fld qword [esp + 0x184]
fstp qword [eax + 0x20]
fld qword [esp + 0x104]
fstp qword [eax + 0xa0]
fld qword [esp + 0x18c]
fstp qword [eax + 0x28]
fld qword [esp + 0x10c]
fstp qword [eax + 0xa8]
fld qword [esp + 0x194]
fstp qword [eax + 0x30]
fld qword [esp + 0x114]
fstp qword [eax + 0xb0]
fld qword [esp + 0x19c]
fstp qword [eax + 0x50]
fld qword [esp + 0x11c]
fstp qword [eax + 0xd0]
fld qword [esp + 0x1a4]
fstp qword [eax + 0x48]
fld qword [esp + 0x124]
fstp qword [eax + 0xc8]
test esi, esi
jle case.default.0x4a8ac1
lea ecx, [eax + 0x200]
neg eax
lea edi, [esp + eax + 0x1c4]
lea eax, [esp + eax + 0x2c4]
jmp 0x4a8c60
fld qword [esp + edx*8 + 0x1c4]
inc edx
fstp qword [ecx - 0x100]
add ecx, 8
cmp edx, esi
fld qword [esp + edx*8 + 0x2bc]
fstp qword [ecx - 8]
fld qword [ecx + edi - 8]
fstp qword [ecx + 0x1f8]
fld qword [ecx + eax - 8]
fstp qword [ecx + 0xf8]
jl 0x4a8c60
jmp case.default.0x4a8ac1
fld qword [eax - 0x4e8]
xor edx, edx
fstp qword [eax]
fld qword [eax - 0x468]
fstp qword [eax + 0x80]
fld qword [eax - 0x4c8]
fstp qword [eax + 8]
fld qword [eax - 0x448]
fstp qword [eax + 0x88]
fld qword [eax - 0x4a8]
fstp qword [eax + 0x10]
fld qword [eax - 0x428]
fstp qword [eax + 0x90]
fld qword [eax - 0x488]
fstp qword [eax + 0x18]
fld qword [eax - 0x408]
fstp qword [eax + 0x98]
fld qword [esp + 0x12c]
fstp qword [eax + 0x38]
fld qword [esp + 0xac]
fstp qword [eax + 0xb8]
fld qword [esp + 0x134]
fstp qword [eax + 0x58]
fld qword [esp + 0xb4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x13c]
fstp qword [eax + 0x78]
fld qword [esp + 0xbc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x144]
fstp qword [eax + 0x70]
fld qword [esp + 0xc4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x14c]
fstp qword [eax + 0x68]
fld qword [esp + 0xcc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x154]
fstp qword [eax + 0x60]
fld qword [esp + 0xd4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x15c]
fstp qword [eax + 0x40]
fld qword [esp + 0xdc]
fstp qword [eax + 0xc0]
fld qword [esp + 0x164]
fstp qword [eax + 0x20]
fld qword [esp + 0xe4]
fstp qword [eax + 0xa0]
fld qword [esp + 0x16c]
fstp qword [eax + 0x28]
fld qword [esp + 0xec]
fstp qword [eax + 0xa8]
fld qword [esp + 0x174]
fstp qword [eax + 0x30]
fld qword [esp + 0xf4]
fstp qword [eax + 0xb0]
fld qword [esp + 0x17c]
fstp qword [eax + 0x50]
fld qword [esp + 0xfc]
fstp qword [eax + 0xd0]
fld qword [esp + 0x184]
fstp qword [eax + 0x48]
fld qword [esp + 0x104]
fstp qword [eax + 0xc8]
test esi, esi
jle case.default.0x4a8ac1
lea ecx, [eax + 0x200]
add eax, 0xffffff00
jmp 0x4a8e20
fld qword [eax - 0x200]
inc edx
fstp qword [ecx - 0x100]
add eax, 8
fld qword [eax - 8]
add ecx, 8
cmp edx, esi
fstp qword [ecx - 8]
fld qword [esp + edx*8 + 0x1bc]
fstp qword [ecx + 0x1f8]
fld qword [esp + edx*8 + 0x2bc]
fstp qword [ecx + 0xf8]
jl 0x4a8e20
jmp case.default.0x4a8ac1
fld qword [eax - 0x488]
xor edx, edx
fstp qword [eax]
fld qword [eax - 0x408]
fstp qword [eax + 0x80]
fld qword [eax - 0x490]
fstp qword [eax + 8]
fld qword [eax - 0x410]
fstp qword [eax + 0x88]
fld qword [eax - 0x498]
fstp qword [eax + 0x10]
fld qword [eax - 0x418]
fstp qword [eax + 0x90]
fld qword [eax - 0x4a0]
fstp qword [eax + 0x18]
fld qword [eax - 0x420]
fstp qword [eax + 0x98]
fld qword [esp + 0x12c]
fstp qword [eax + 0x38]
fld qword [esp + 0xac]
fstp qword [eax + 0xb8]
fld qword [esp + 0x134]
fstp qword [eax + 0x58]
fld qword [esp + 0xb4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x13c]
fstp qword [eax + 0x78]
fld qword [esp + 0xbc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x144]
fstp qword [eax + 0x70]
fld qword [esp + 0xc4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x14c]
fstp qword [eax + 0x68]
fld qword [esp + 0xcc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x154]
fstp qword [eax + 0x60]
fld qword [esp + 0xd4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x15c]
fstp qword [eax + 0x40]
fld qword [esp + 0xdc]
fstp qword [eax + 0xc0]
fld qword [esp + 0x164]
fstp qword [eax + 0x20]
fld qword [esp + 0xe4]
fstp qword [eax + 0xa0]
fld qword [esp + 0x16c]
fstp qword [eax + 0x28]
fld qword [esp + 0xec]
fstp qword [eax + 0xa8]
fld qword [esp + 0x174]
fstp qword [eax + 0x30]
fld qword [esp + 0xf4]
fstp qword [eax + 0xb0]
fld qword [esp + 0x17c]
fstp qword [eax + 0x50]
fld qword [esp + 0xfc]
fstp qword [eax + 0xd0]
fld qword [esp + 0x184]
fstp qword [eax + 0x48]
fld qword [esp + 0x104]
fstp qword [eax + 0xc8]
test esi, esi
jle case.default.0x4a8ac1
lea ecx, [eax + 0x200]
add eax, 0xfffffe00
jmp 0x4a8fe0
fld qword [eax + 0x100]
inc edx
fstp qword [ecx - 0x100]
add eax, 8
fld qword [eax - 8]
add ecx, 8
cmp edx, esi
fstp qword [ecx - 8]
fld qword [esp + edx*8 + 0x1bc]
fstp qword [ecx + 0x1f8]
fld qword [esp + edx*8 + 0x2bc]
fstp qword [ecx + 0xf8]
jl 0x4a8fe0
jmp case.default.0x4a8ac1
fld qword [eax - 0x4a0]
xor edx, edx
fstp qword [eax]
fld qword [eax - 0x420]
fstp qword [eax + 0x80]
fld qword [eax - 0x4c0]
fstp qword [eax + 8]
fld qword [eax - 0x440]
fstp qword [eax + 0x88]
fld qword [eax - 0x4e0]
fstp qword [eax + 0x10]
fld qword [eax - 0x460]
fstp qword [eax + 0x90]
fld qword [eax - 0x500]
fstp qword [eax + 0x18]
fld qword [eax - 0x480]
fstp qword [eax + 0x98]
fld qword [esp + 0x12c]
fstp qword [eax + 0x38]
fld qword [esp + 0xac]
fstp qword [eax + 0xb8]
fld qword [esp + 0x134]
fstp qword [eax + 0x58]
fld qword [esp + 0xb4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x13c]
fstp qword [eax + 0x78]
fld qword [esp + 0xbc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x144]
fstp qword [eax + 0x70]
fld qword [esp + 0xc4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x14c]
fstp qword [eax + 0x68]
fld qword [esp + 0xcc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x154]
fstp qword [eax + 0x60]
fld qword [esp + 0xd4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x15c]
fstp qword [eax + 0x40]
fld qword [esp + 0xdc]
fstp qword [eax + 0xc0]
fld qword [esp + 0x164]
fstp qword [eax + 0x20]
fld qword [esp + 0xe4]
fstp qword [eax + 0xa0]
fld qword [esp + 0x16c]
fstp qword [eax + 0x28]
fld qword [esp + 0xec]
fstp qword [eax + 0xa8]
fld qword [esp + 0x174]
fstp qword [eax + 0x30]
fld qword [esp + 0xf4]
fstp qword [eax + 0xb0]
fld qword [esp + 0x17c]
fstp qword [eax + 0x50]
fld qword [esp + 0xfc]
fstp qword [eax + 0xd0]
fld qword [esp + 0x184]
fstp qword [eax + 0x48]
fld qword [esp + 0x104]
fstp qword [eax + 0xc8]
test esi, esi
jle case.default.0x4a8ac1
lea ecx, [eax + 0x200]
add eax, 0xfffffc00
jmp 0x4a91a0
fld qword [eax + 0x200]
inc edx
fstp qword [ecx - 0x100]
add eax, 8
fld qword [eax - 8]
add ecx, 8
cmp edx, esi
fstp qword [ecx - 8]
fld qword [esp + edx*8 + 0x1bc]
fstp qword [ecx + 0x1f8]
fld qword [esp + edx*8 + 0x2bc]
fstp qword [ecx + 0xf8]
jl 0x4a91a0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xa4]
inc dword [esp + 0x4c]
add dword [esp + 0x5c], 0x500
xor eax, eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
lea eax, [esp + 0x50]
push eax
push edx
call fcn.004a2c40
test eax, eax
jne 0x4a832b
mov edi, dword [esp + 0x30]
test edi, edi
je 0x4a9223
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x4c]
cmp ebx, 6
jne 0x4a942e
test edi, edi
jle 0x4a942e
fld qword [0x5c4578]
mov eax, dword [esp + 0x58]
fld qword [0x5c4af0]
add eax, 0x38
fld qword [0x5c5a50]
mov ecx, edi
fld qword [0x5c5a48]
fld qword [0x5c3280]
fld qword [eax + 0x28]
fadd qword [eax - 0x20]
fmul st(1)
fld qword [eax - 0x18]
fadd qword [eax - 0x30]
fmul st(6)
fld qword [eax - 0x38]
fmul st(6)
fsubp st(1)
fsub st(1)
fld qword [eax]
fadd qword [eax + 0x30]
fmul st(5)
faddp st(1)
fsub qword [eax + 0x40]
fdiv st(3)
fstp qword [eax - 0x10]
fld qword [eax + 0xa8]
fadd qword [eax + 0x60]
fmul st(2)
fstp qword [esp + 0x64]
fld qword [eax + 0x68]
fadd qword [eax + 0x50]
fmul st(6)
fld qword [eax + 0x48]
fmul st(6)
fsubp st(1)
fsub qword [esp + 0x64]
fld qword [eax + 0x80]
fadd qword [eax + 0xb0]
fmul st(5)
faddp st(1)
fsub qword [eax + 0xc0]
fdiv st(3)
fstp qword [eax + 0x70]
fld qword [eax + 0x40]
fadd qword [eax - 0x38]
fmul st(2)
fstp qword [esp + 0x6c]
fld qword [eax - 0x28]
fadd qword [eax]
fmul st(6)
fld qword [eax - 0x20]
fmul st(6)
fsubp st(1)
fsub qword [esp + 0x6c]
fld qword [eax + 0x38]
fadd qword [eax - 0x18]
fmul st(5)
faddp st(1)
fsub qword [eax + 0x28]
fdiv st(3)
fstp qword [eax - 8]
fld qword [eax + 0xc0]
fadd qword [eax + 0x48]
fmul st(2)
fstp qword [esp + 0x94]
fld qword [eax + 0x80]
fadd qword [eax + 0x58]
fmul st(6)
fld qword [eax + 0x60]
fmul st(6)
fsubp st(1)
fsub qword [esp + 0x94]
fld qword [eax + 0xb8]
fadd qword [eax + 0x68]
fmul st(5)
faddp st(1)
fsub qword [eax + 0xa8]
fdiv st(3)
fstp qword [eax + 0x78]
fld qword [eax + 8]
fadd qword [eax + 0x30]
fmul st(6)
fld qword [eax + 0x28]
fmul st(6)
fsubp st(1)
fsub qword [esp + 0x6c]
fld qword [eax + 0x20]
fadd qword [eax - 0x30]
fmul st(5)
faddp st(1)
add eax, 0x500
sub ecx, 1
fsub qword [eax - 0x520]
fdiv st(3)
fstp qword [eax - 0x4f0]
fld qword [eax - 0x478]
fadd qword [eax - 0x450]
fmul st(6)
fld qword [eax - 0x458]
fmul st(6)
fsubp st(1)
fsub qword [esp + 0x94]
fld qword [eax - 0x460]
fadd qword [eax - 0x4b0]
fmul st(5)
faddp st(1)
fsub qword [eax - 0x4a0]
fdiv st(3)
fstp qword [eax - 0x470]
fld qword [eax - 0x4c8]
fadd qword [eax - 0x4e0]
fmul st(6)
fld qword [eax - 0x4c0]
fmul st(6)
fsubp st(1)
fsubrp st(1)
fld qword [eax - 0x4f8]
fadd qword [eax - 0x528]
fmul st(4)
faddp st(1)
fsub qword [eax - 0x538]
fdiv st(2)
fstp qword [eax - 0x4e8]
fld qword [eax - 0x448]
fadd qword [eax - 0x460]
fmul st(5)
fld qword [eax - 0x440]
fmul st(5)
fsubp st(1)
fsub qword [esp + 0x64]
fld qword [eax - 0x478]
fadd qword [eax - 0x4a8]
fmul st(4)
faddp st(1)
fsub qword [eax - 0x4b8]
fdiv st(2)
fstp qword [eax - 0x468]
jne 0x4a9262
fstp st(4)
fstp st(2)
fstp st(0)
fstp st(0)
fstp st(0)
push 0x150
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x4a9499
mov edx, dword [esp + 0x58]
mov dword [eax + 0xc0], edx
mov edx, dword [esp + 0x60]
xor ecx, ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax], vtable.GfxPatchMeshShading.0
mov dword [eax + 0xc4], edi
mov dword [eax + 0x148], esi
mov dword [eax + 0x14c], edx
test edx, edx
jle 0x4a9495
lea edx, [eax + 0xc8]
jmp 0x4a9480
mov esi, dword [esp + ecx*4 + 0x5c4]
mov dword [edx], esi
inc ecx
add edx, 4
cmp ecx, dword [eax + 0x14c]
jl 0x4a9480
mov esi, eax
jmp 0x4a949b
xor esi, esi
mov eax, dword [ebp + 0xc]
push eax
mov ecx, esi
call fcn.004a68b0
test eax, eax
jne 0x4a94d0
test esi, esi
je 0x4a9517
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
xor eax, eax
mov ecx, dword [esp + 0x8f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, esi
mov ecx, dword [esp + 0x8f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Missing_or_invalid_Decode_array_in_shading_dictionary
jmp 0x4a9502
push str.Missing_or_invalid_BitsPerFlag_in_shading_dictionary
jmp 0x4a9502
push str.Missing_or_invalid_BitsPerComponent_in_shading_dictionary
jmp 0x4a9502
push str.Missing_or_invalid_BitsPerCoordinate_in_shading_dictionary
push 0xffffffffffffffff
push 1
call fcn.00489570
add esp, 0xc
lea ecx, [esp + 0x34]
call fcn.0047c660
xor eax, eax
mov ecx, dword [esp + 0x8f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret