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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x52ad7e
mov eax, dword fs:[0]
push eax
sub esp, 0x8e8
mov eax, dword [0x59c6b8]
xor eax, esp
mov dword [esp + 0x8b0], eax
push ebx
push esi
push edi
mov eax, dword [0x59c6b8]
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 + 0x5c], eax
push 0
lea eax, [esp + 0x38]
push eax
push str.BitsPerCoordinate
mov ecx, ebx
mov dword [esp + 0xb0], ebx
call fcn.00412200
cmp dword [eax], 1
jne 0x433067
mov esi, dword [esp + 0x3c]
lea ecx, [esp + 0x34]
mov dword [esp + 0x9c], esi
call fcn.0044ea50
push 0
lea ecx, [esp + 0x38]
push ecx
push str.BitsPerComponent
mov ecx, ebx
call fcn.00412200
cmp dword [eax], 1
jne 0x433060
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x34]
mov dword [esp + 0xa0], edx
call fcn.0044ea50
push 0
lea eax, [esp + 0x38]
push eax
push str.BitsPerFlag
mov ecx, ebx
call fcn.00412200
cmp dword [eax], 1
jne 0x433059
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x34]
call fcn.0044ea50
push 0
lea edx, [esp + 0x38]
push edx
push str.Decode
mov ecx, ebx
call fcn.00412200
cmp dword [eax], 6
jne 0x433052
mov ecx, dword [esp + 0x3c]
cmp dword [ecx + 0xc], 6
jl 0x433052
lea eax, [esp + 0x5c]
push eax
push 0
call fcn.00408350
cmp dword [eax], 1
jne 0x4313d7
fild dword [eax + 8]
jmp 0x4313da
fld qword [eax + 8]
lea ecx, [esp + 0x5c]
fstp qword [esp + 0x84]
call fcn.0044ea50
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x40]
push 1
call fcn.00408350
cmp dword [eax], 1
jne 0x431404
fild dword [eax + 8]
jmp 0x431407
fld qword [eax + 8]
lea ecx, [esp + 0x5c]
fstp qword [esp + 0x54]
call fcn.0044ea50
fld qword [0x5312f8]
push esi
sub esp, 8
fstp qword [esp]
call fcn.0042e570
fsub qword [0x531530]
mov ecx, dword [esp + 0x48]
add esp, 0xc
lea edx, [esp + 0x5c]
fst qword [esp + 0x8c]
push edx
fld qword [esp + 0x58]
push 2
fsub qword [esp + 0x8c]
fdivrp st(1)
fstp qword [esp + 0xb4]
call fcn.00408350
cmp dword [eax], 1
jne 0x431464
fild dword [eax + 8]
jmp 0x431467
fld qword [eax + 8]
lea ecx, [esp + 0x5c]
fstp qword [esp + 0x54]
call fcn.0044ea50
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x5c]
push eax
push 3
call fcn.00408350
cmp dword [eax], 1
jne 0x43148e
fild dword [eax + 8]
jmp 0x431491
fld qword [eax + 8]
lea ecx, [esp + 0x5c]
fstp qword [esp + 0x44]
call fcn.0044ea50
fld qword [esp + 0x44]
fsub qword [esp + 0x54]
mov ecx, dword [esp + 0x3c]
xor edi, edi
cmp dword [ecx + 0xc], 5
fdiv qword [esp + 0x8c]
fstp qword [esp + 0xb4]
jle 0x431577
mov esi, 5
lea esp, [esp]
cmp esi, 0x45
jge 0x431577
lea edx, [esp + 0x5c]
push edx
lea eax, [esi - 1]
push eax
call fcn.00408350
cmp dword [eax], 1
jne 0x4314f1
fild dword [eax + 8]
jmp 0x4314f4
fld qword [eax + 8]
fst qword [esp + 0x8c]
lea ecx, [esp + 0x5c]
fstp qword [esp + edi*8 + 0x7bc]
call fcn.0044ea50
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x40]
push esi
call fcn.00408350
cmp dword [eax], 1
jne 0x431524
fild dword [eax + 8]
jmp 0x431527
fld qword [eax + 8]
fst qword [esp + 0x44]
lea ecx, [esp + 0x5c]
fstp qword [esp + edi*8 + 0x5bc]
call fcn.0044ea50
mov ecx, dword [esp + 0xa0]
fld qword [esp + 0x44]
fsub qword [esp + 0x8c]
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x3c]
add esi, 2
inc edi
dec edx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fdivp st(1)
fstp qword [esp + edi*8 + 0x6b4]
cmp esi, dword [ecx + 0xc]
jl 0x4314d0
lea ecx, [esp + 0x34]
call fcn.0044ea50
push 0
lea eax, [esp + 0x38]
push eax
push str.Function
mov ecx, ebx
call fcn.00412200
cmp dword [eax], 5
je 0x431647
cmp dword [esp + 0x34], 6
jne 0x431620
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x50], eax
cmp eax, 0x20
jle 0x4315cb
push str.Invalid_Function_array_in_shading_dictionary
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
call fcn.00412330
add esp, 0x10
jmp 0x433083
xor ebx, ebx
xor esi, esi
cmp eax, ebx
jle 0x431651
mov ebx, eax
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x5c]
push edx
push esi
call fcn.00408350
lea eax, [esp + 0x5c]
push 0
push eax
call fcn.00415540
add esp, 8
mov dword [esp + esi*4 + 0x5bc], eax
test eax, eax
je 0x43160e
lea ecx, [esp + 0x5c]
call fcn.0044ea50
inc esi
cmp esi, ebx
jl 0x4315d5
jmp 0x43164f
lea ecx, [esp + 0x34]
call fcn.0044ea50
lea ecx, [esp + 0x5c]
jmp 0x43307e
lea ecx, [esp + 0x34]
push 0
push ecx
mov dword [esp + 0x58], 1
call fcn.00415540
add esp, 8
mov dword [esp + 0x5bc], eax
test eax, eax
jne 0x43164f
jmp 0x43307a
mov dword [esp + 0x50], 0
xor ebx, ebx
lea ecx, [esp + 0x34]
call fcn.0044ea50
push 0xc
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x7c], ebx
call fcn.00511699
mov esi, eax
add esp, 4
mov dword [esp + 0x44], esi
mov dword [esp + 0x900], ebx
cmp esi, ebx
je 0x43169b
mov ecx, dword [ebp + 0x10]
mov dword [esi], ecx
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov ecx, esi
mov dword [esp + 0x30], esi
jmp 0x4316a1
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x28]
push edx
push eax
mov dword [esp + 0x908], 0xffffffff
call fcn.0042b7c0
test eax, eax
je 0x432da1
cmp dword [ebp + 8], 6
jne 0x4316e9
cmp dword [esp + 0x28], 0
je 0x4316e2
mov ebx, 8
mov dword [esp + 0x20], 2
jmp 0x43170c
mov ebx, 0xc
jmp 0x431704
cmp dword [esp + 0x28], 0
je 0x4316ff
mov ebx, 0xc
mov dword [esp + 0x20], 2
jmp 0x43170c
mov ebx, 0x10
mov dword [esp + 0x20], 4
xor esi, esi
test ebx, ebx
jle 0x4317c4
jmp 0x431720
mov edx, dword [esp + 0x9c]
lea ecx, [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0x34]
push edx
call fcn.0042b7c0
test eax, eax
je 0x4317bc
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0x8c]
push eax
push ecx
mov ecx, dword [esp + 0x38]
call fcn.0042b7c0
test eax, eax
je 0x4317bc
mov edx, dword [esp + 0xa8]
fild dword [esp + 0xa8]
test edx, edx
jns 0x431772
fadd qword [0x534300]
fmul qword [esp + 0xac]
mov eax, dword [esp + 0x8c]
fadd qword [esp + 0x84]
fstp qword [esp + esi*8 + 0x13c]
fild dword [esp + 0x8c]
test eax, eax
jns 0x43179f
fadd qword [0x534300]
fmul qword [esp + 0xb4]
inc esi
fadd qword [esp + 0x54]
fstp qword [esp + esi*8 + 0xb4]
cmp esi, ebx
jl 0x431720
jmp 0x4317c4
cmp esi, ebx
jl 0x432da1
cmp dword [esp + 0x20], 0
mov dword [esp + 0x2c], 0
jle 0x431851
xor ebx, ebx
xor esi, esi
test edi, edi
jle 0x43182f
jmp 0x4317e0
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x34]
push edx
call fcn.0042b7c0
test eax, eax
je 0x43182b
mov eax, dword [esp + 0x44]
fild dword [esp + 0x44]
test eax, eax
jns 0x43180c
fadd qword [0x534300]
fmul qword [esp + esi*8 + 0x6bc]
lea ecx, [ebx + esi]
inc esi
fadd qword [esp + esi*8 + 0x7b4]
fstp qword [esp + ecx*8 + 0x1bc]
cmp esi, edi
jl 0x4317e0
jmp 0x43182f
cmp esi, edi
jl 0x431843
mov eax, dword [esp + 0x2c]
inc eax
add ebx, 0x20
mov dword [esp + 0x2c], eax
cmp eax, dword [esp + 0x20]
jl 0x4317d5
jmp 0x431851
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x20]
jl 0x432da1
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
cmp esi, eax
jne 0x431888
test eax, eax
jne 0x431868
mov eax, 0x10
jmp 0x43186a
add eax, eax
push 0x500
push eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004a3110
add esp, 0xc
mov dword [esp + 0x18], eax
lea eax, [esi + esi*4]
shl eax, 8
add eax, dword [esp + 0x18]
cmp dword [ebp + 8], 6
jne 0x432258
cmp dword [esp + 0x28], 3
ja case.default.0x432267
mov ecx, dword [esp + 0x28]
jmp dword [ecx*4 + 0x4330ac]
fld qword [esp + 0x13c]
xor edx, edx
fstp qword [eax]
fld qword [esp + 0xbc]
fstp qword [eax + 0x80]
fld qword [esp + 0x144]
fstp qword [eax + 8]
fld qword [esp + 0xc4]
fstp qword [eax + 0x88]
fld qword [esp + 0x14c]
fstp qword [eax + 0x10]
fld qword [esp + 0xcc]
fstp qword [eax + 0x90]
fld qword [esp + 0x154]
fstp qword [eax + 0x18]
fld qword [esp + 0xd4]
fstp qword [eax + 0x98]
fld qword [esp + 0x15c]
fstp qword [eax + 0x38]
fld qword [esp + 0xdc]
fstp qword [eax + 0xb8]
fld qword [esp + 0x164]
fstp qword [eax + 0x58]
fld qword [esp + 0xe4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x16c]
fstp qword [eax + 0x78]
fld qword [esp + 0xec]
fstp qword [eax + 0xf8]
fld qword [esp + 0x174]
fstp qword [eax + 0x70]
fld qword [esp + 0xf4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x17c]
fstp qword [eax + 0x68]
fld qword [esp + 0xfc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x184]
fstp qword [eax + 0x60]
fld qword [esp + 0x104]
fstp qword [eax + 0xe0]
fld qword [esp + 0x18c]
fstp qword [eax + 0x40]
fld qword [esp + 0x10c]
fstp qword [eax + 0xc0]
fld qword [esp + 0x194]
fstp qword [eax + 0x20]
fld qword [esp + 0x114]
fstp qword [eax + 0xa0]
cmp edi, 4
jl 0x431b1c
lea ebx, [esp + 0x2bc]
sub ebx, eax
mov dword [esp + 0x2c], ebx
lea ebx, [esp + 0x1c4]
sub ebx, eax
mov dword [esp + 0x20], ebx
lea ebx, [esp + 0x2c4]
sub ebx, eax
mov dword [esp + 0x7c], ebx
lea ebx, [esp + 0x1cc]
sub ebx, eax
mov dword [esp + 0x70], ebx
lea ebx, [esp + 0x2cc]
sub ebx, eax
mov dword [esp + 0x74], ebx
lea ebx, [esp + 0x1d4]
sub ebx, eax
mov dword [esp + 0x80], ebx
lea esi, [esp + 0x1bc]
lea ebx, [esp + 0x2d4]
sub esi, eax
sub ebx, eax
lea ecx, [eax + 0x200]
mov dword [esp + 0x24], ebx
lea ecx, [ecx]
fld qword [esp + edx*8 + 0x1bc]
mov ebx, dword [esp + 0x2c]
fstp qword [ecx - 0x100]
add edx, 4
fld qword [esp + edx*8 + 0x29c]
add ecx, 0x20
fstp qword [ecx - 0x20]
fld qword [esi + ecx - 0x20]
fstp qword [ecx + 0x1e0]
fld qword [ebx + ecx - 0x20]
mov ebx, dword [esp + 0x20]
fstp qword [ecx + 0xe0]
fld qword [esp + edx*8 + 0x1a4]
fstp qword [ecx - 0x118]
fld qword [esp + edx*8 + 0x2a4]
fstp qword [ecx - 0x18]
fld qword [ebx + ecx - 0x20]
mov ebx, dword [esp + 0x7c]
fstp qword [ecx + 0x1e8]
fld qword [ebx + ecx - 0x20]
mov ebx, dword [esp + 0x70]
fstp qword [ecx + 0xe8]
fld qword [esp + edx*8 + 0x1ac]
fstp qword [ecx - 0x110]
fld qword [esp + edx*8 + 0x2ac]
fstp qword [ecx - 0x10]
fld qword [ebx + ecx - 0x20]
mov ebx, dword [esp + 0x74]
fstp qword [ecx + 0x1f0]
fld qword [ebx + ecx - 0x20]
mov ebx, dword [esp + 0x80]
fstp qword [ecx + 0xf0]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [ecx - 0x108]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [ecx - 8]
fld qword [ebx + ecx - 0x20]
mov ebx, dword [esp + 0x24]
fstp qword [ecx + 0x1f8]
fld qword [ebx + ecx - 0x20]
lea ebx, [edi - 3]
fstp qword [ecx + 0xf8]
cmp edx, ebx
jl 0x431a40
cmp edx, edi
jge case.default.0x432267
lea esi, [esp + 0x1bc]
lea ebx, [esp + 0x2bc]
sub esi, eax
lea ecx, [eax + edx*8 + 0x200]
sub ebx, eax
lea ecx, [ecx]
fld qword [esp + edx*8 + 0x1bc]
inc edx
fstp qword [ecx - 0x100]
add ecx, 8
fld qword [esp + edx*8 + 0x2b4]
fstp qword [ecx - 8]
fld qword [esi + ecx - 8]
fstp qword [ecx + 0x1f8]
fld qword [ebx + ecx - 8]
fstp qword [ecx + 0xf8]
cmp edx, edi
jl 0x431b40
jmp case.default.0x432267
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 + 0x13c]
fstp qword [eax + 0x38]
fld qword [esp + 0xbc]
fstp qword [eax + 0xb8]
fld qword [esp + 0x144]
fstp qword [eax + 0x58]
fld qword [esp + 0xc4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x14c]
fstp qword [eax + 0x78]
fld qword [esp + 0xcc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x154]
fstp qword [eax + 0x70]
fld qword [esp + 0xd4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x15c]
fstp qword [eax + 0x68]
fld qword [esp + 0xdc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x164]
fstp qword [eax + 0x60]
fld qword [esp + 0xe4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x16c]
fstp qword [eax + 0x40]
fld qword [esp + 0xec]
fstp qword [eax + 0xc0]
fld qword [esp + 0x174]
fstp qword [eax + 0x20]
fld qword [esp + 0xf4]
fstp qword [eax + 0xa0]
cmp edi, 4
jl 0x431d5e
lea ebx, [edi - 3]
lea ecx, [eax + 0x200]
lea esi, [eax - 0x100]
fld qword [esi - 0x200]
add edx, 4
fstp qword [ecx - 0x100]
add esi, 0x20
fld qword [esi - 0x20]
add ecx, 0x20
fstp qword [ecx - 0x20]
fld qword [esp + edx*8 + 0x19c]
fstp qword [ecx + 0x1e0]
fld qword [esp + edx*8 + 0x29c]
fstp qword [ecx + 0xe0]
fld qword [esi - 0x218]
fstp qword [ecx - 0x118]
fld qword [esi - 0x18]
fstp qword [ecx - 0x18]
fld qword [esp + edx*8 + 0x1a4]
fstp qword [ecx + 0x1e8]
fld qword [esp + edx*8 + 0x2a4]
fstp qword [ecx + 0xe8]
fld qword [esi - 0x210]
fstp qword [ecx - 0x110]
fld qword [esi - 0x10]
fstp qword [ecx - 0x10]
fld qword [esp + edx*8 + 0x1ac]
fstp qword [ecx + 0x1f0]
fld qword [esp + edx*8 + 0x2ac]
fstp qword [ecx + 0xf0]
fld qword [esi - 0x208]
fstp qword [ecx - 0x108]
fld qword [esi - 8]
fstp qword [ecx - 8]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [ecx + 0x1f8]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [ecx + 0xf8]
cmp edx, ebx
jl 0x431c9d
cmp edx, edi
jge case.default.0x432267
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, edx
lea eax, [eax + edx*8 + 0x200]
lea ecx, [esi + ecx*8 - 0x100]
jmp 0x431d90
fld qword [ecx - 0x200]
inc edx
fstp qword [eax - 0x100]
add ecx, 8
fld qword [ecx - 8]
add eax, 8
fstp qword [eax - 8]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [eax + 0x1f8]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [eax + 0xf8]
cmp edx, edi
jl 0x431d90
jmp case.default.0x432267
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 + 0x13c]
fstp qword [eax + 0x38]
fld qword [esp + 0xbc]
fstp qword [eax + 0xb8]
fld qword [esp + 0x144]
fstp qword [eax + 0x58]
fld qword [esp + 0xc4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x14c]
fstp qword [eax + 0x78]
fld qword [esp + 0xcc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x154]
fstp qword [eax + 0x70]
fld qword [esp + 0xd4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x15c]
fstp qword [eax + 0x68]
fld qword [esp + 0xdc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x164]
fstp qword [eax + 0x60]
fld qword [esp + 0xe4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x16c]
fstp qword [eax + 0x40]
fld qword [esp + 0xec]
fstp qword [eax + 0xc0]
fld qword [esp + 0x174]
fstp qword [eax + 0x20]
fld qword [esp + 0xf4]
fstp qword [eax + 0xa0]
cmp edi, 4
jl 0x431fb2
lea ebx, [edi - 3]
lea ecx, [eax + 0x200]
lea esi, [eax - 0x200]
fld qword [esi + 0x100]
add edx, 4
fstp qword [ecx - 0x100]
add esi, 0x20
fld qword [esi - 0x20]
add ecx, 0x20
fstp qword [ecx - 0x20]
fld qword [esp + edx*8 + 0x19c]
fstp qword [ecx + 0x1e0]
fld qword [esp + edx*8 + 0x29c]
fstp qword [ecx + 0xe0]
fld qword [esi + 0xe8]
fstp qword [ecx - 0x118]
fld qword [esi - 0x18]
fstp qword [ecx - 0x18]
fld qword [esp + edx*8 + 0x1a4]
fstp qword [ecx + 0x1e8]
fld qword [esp + edx*8 + 0x2a4]
fstp qword [ecx + 0xe8]
fld qword [esi + 0xf0]
fstp qword [ecx - 0x110]
fld qword [esi - 0x10]
fstp qword [ecx - 0x10]
fld qword [esp + edx*8 + 0x1ac]
fstp qword [ecx + 0x1f0]
fld qword [esp + edx*8 + 0x2ac]
fstp qword [ecx + 0xf0]
fld qword [esi + 0xf8]
fstp qword [ecx - 0x108]
fld qword [esi - 8]
fstp qword [ecx - 8]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [ecx + 0x1f8]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [ecx + 0xf8]
cmp edx, ebx
jl 0x431ef1
cmp edx, edi
jge case.default.0x432267
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, edx
lea eax, [eax + edx*8 + 0x200]
lea ecx, [esi + ecx*8 - 0x200]
jmp 0x431fe0
fld qword [ecx + 0x100]
inc edx
fstp qword [eax - 0x100]
add ecx, 8
fld qword [ecx - 8]
add eax, 8
fstp qword [eax - 8]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [eax + 0x1f8]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [eax + 0xf8]
cmp edx, edi
jl 0x431fe0
jmp case.default.0x432267
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 + 0x13c]
fstp qword [eax + 0x38]
fld qword [esp + 0xbc]
fstp qword [eax + 0xb8]
fld qword [esp + 0x144]
fstp qword [eax + 0x58]
fld qword [esp + 0xc4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x14c]
fstp qword [eax + 0x78]
fld qword [esp + 0xcc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x154]
fstp qword [eax + 0x70]
fld qword [esp + 0xd4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x15c]
fstp qword [eax + 0x68]
fld qword [esp + 0xdc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x164]
fstp qword [eax + 0x60]
fld qword [esp + 0xe4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x16c]
fstp qword [eax + 0x40]
fld qword [esp + 0xec]
fstp qword [eax + 0xc0]
fld qword [esp + 0x174]
fstp qword [eax + 0x20]
fld qword [esp + 0xf4]
fstp qword [eax + 0xa0]
cmp edi, 4
jl 0x4321f5
lea ebx, [edi - 3]
lea ecx, [eax + 0x200]
lea esi, [eax - 0x400]
fld qword [esi + 0x200]
add edx, 4
fstp qword [ecx]
add esi, 0x20
fld qword [esi - 0x20]
add ecx, 0x20
fstp qword [ecx - 0x20]
fld qword [esp + edx*8 + 0x19c]
fstp qword [ecx + 0x1e0]
fld qword [esp + edx*8 + 0x29c]
fstp qword [ecx + 0xe0]
fld qword [esi + 0x1e8]
fstp qword [ecx - 0x18]
fld qword [esi - 0x18]
fstp qword [ecx - 0x18]
fld qword [esp + edx*8 + 0x1a4]
fstp qword [ecx + 0x1e8]
fld qword [esp + edx*8 + 0x2a4]
fstp qword [ecx + 0xe8]
fld qword [esi + 0x1f0]
fstp qword [ecx - 0x10]
fld qword [esi - 0x10]
fstp qword [ecx - 0x10]
fld qword [esp + edx*8 + 0x1ac]
fstp qword [ecx + 0x1f0]
fld qword [esp + edx*8 + 0x2ac]
fstp qword [ecx + 0xf0]
fld qword [esi + 0x1f8]
fstp qword [ecx - 8]
fld qword [esi - 8]
fstp qword [ecx - 8]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [ecx + 0x1f8]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [ecx + 0xf8]
cmp edx, ebx
jl 0x432141
cmp edx, edi
jge case.default.0x432267
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, edx
lea eax, [eax + edx*8 + 0x200]
lea ecx, [esi + ecx*8 - 0x400]
jmp 0x432220
fld qword [ecx + 0x200]
inc edx
fstp qword [eax]
add ecx, 8
fld qword [ecx - 8]
add eax, 8
fstp qword [eax - 8]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [eax + 0x1f8]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [eax + 0xf8]
cmp edx, edi
jl 0x432220
jmp case.default.0x432267
cmp dword [esp + 0x28], 3
ja case.default.0x432267
mov edx, dword [esp + 0x28]
jmp dword [edx*4 + 0x4330bc]
fld qword [esp + 0x13c]
xor edx, edx
fstp qword [eax]
fld qword [esp + 0xbc]
fstp qword [eax + 0x80]
fld qword [esp + 0x144]
fstp qword [eax + 8]
fld qword [esp + 0xc4]
fstp qword [eax + 0x88]
fld qword [esp + 0x14c]
fstp qword [eax + 0x10]
fld qword [esp + 0xcc]
fstp qword [eax + 0x90]
fld qword [esp + 0x154]
fstp qword [eax + 0x18]
fld qword [esp + 0xd4]
fstp qword [eax + 0x98]
fld qword [esp + 0x15c]
fstp qword [eax + 0x38]
fld qword [esp + 0xdc]
fstp qword [eax + 0xb8]
fld qword [esp + 0x164]
fstp qword [eax + 0x58]
fld qword [esp + 0xe4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x16c]
fstp qword [eax + 0x78]
fld qword [esp + 0xec]
fstp qword [eax + 0xf8]
fld qword [esp + 0x174]
fstp qword [eax + 0x70]
fld qword [esp + 0xf4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x17c]
fstp qword [eax + 0x68]
fld qword [esp + 0xfc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x184]
fstp qword [eax + 0x60]
fld qword [esp + 0x104]
fstp qword [eax + 0xe0]
fld qword [esp + 0x18c]
fstp qword [eax + 0x40]
fld qword [esp + 0x10c]
fstp qword [eax + 0xc0]
fld qword [esp + 0x194]
fstp qword [eax + 0x20]
fld qword [esp + 0x114]
fstp qword [eax + 0xa0]
fld qword [esp + 0x19c]
fstp qword [eax + 0x28]
fld qword [esp + 0x11c]
fstp qword [eax + 0xa8]
fld qword [esp + 0x1a4]
fstp qword [eax + 0x30]
fld qword [esp + 0x124]
fstp qword [eax + 0xb0]
fld qword [esp + 0x1ac]
fstp qword [eax + 0x50]
fld qword [esp + 0x12c]
fstp qword [eax + 0xd0]
fld qword [esp + 0x1b4]
fstp qword [eax + 0x48]
fld qword [esp + 0x134]
fstp qword [eax + 0xc8]
cmp edi, 4
jl 0x432531
lea ebx, [esp + 0x2bc]
sub ebx, eax
mov dword [esp + 0x2c], ebx
lea ebx, [esp + 0x1c4]
sub ebx, eax
mov dword [esp + 0x20], ebx
lea ebx, [esp + 0x2c4]
sub ebx, eax
mov dword [esp + 0x7c], ebx
lea ebx, [esp + 0x1cc]
sub ebx, eax
mov dword [esp + 0x70], ebx
lea ebx, [esp + 0x2cc]
sub ebx, eax
mov dword [esp + 0x74], ebx
lea ebx, [esp + 0x1d4]
sub ebx, eax
mov dword [esp + 0x80], ebx
lea esi, [esp + 0x1bc]
lea ebx, [esp + 0x2d4]
sub esi, eax
sub ebx, eax
lea ecx, [eax + 0x200]
mov dword [esp + 0x24], ebx
fld qword [esp + edx*8 + 0x1bc]
mov ebx, dword [esp + 0x2c]
fstp qword [ecx - 0x100]
add edx, 4
fld qword [esp + edx*8 + 0x29c]
add ecx, 0x20
fstp qword [ecx - 0x20]
fld qword [esi + ecx - 0x20]
fstp qword [ecx + 0x1e0]
fld qword [ebx + ecx - 0x20]
mov ebx, dword [esp + 0x20]
fstp qword [ecx + 0xe0]
fld qword [esp + edx*8 + 0x1a4]
fstp qword [ecx - 0x118]
fld qword [esp + edx*8 + 0x2a4]
fstp qword [ecx - 0x18]
fld qword [ebx + ecx - 0x20]
mov ebx, dword [esp + 0x7c]
fstp qword [ecx + 0x1e8]
fld qword [ebx + ecx - 0x20]
mov ebx, dword [esp + 0x70]
fstp qword [ecx + 0xe8]
fld qword [esp + edx*8 + 0x1ac]
fstp qword [ecx - 0x110]
fld qword [esp + edx*8 + 0x2ac]
fstp qword [ecx - 0x10]
fld qword [ebx + ecx - 0x20]
mov ebx, dword [esp + 0x74]
fstp qword [ecx + 0x1f0]
fld qword [ebx + ecx - 0x20]
mov ebx, dword [esp + 0x80]
fstp qword [ecx + 0xf0]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [ecx - 0x108]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [ecx - 8]
fld qword [ebx + ecx - 0x20]
mov ebx, dword [esp + 0x24]
fstp qword [ecx + 0x1f8]
fld qword [ebx + ecx - 0x20]
lea ebx, [edi - 3]
fstp qword [ecx + 0xf8]
cmp edx, ebx
jl 0x432455
cmp edx, edi
jge case.default.0x432267
lea esi, [esp + 0x1bc]
lea ebx, [esp + 0x2bc]
sub esi, eax
lea ecx, [eax + edx*8 + 0x200]
sub ebx, eax
fld qword [esp + edx*8 + 0x1bc]
inc edx
fstp qword [ecx - 0x100]
add ecx, 8
fld qword [esp + edx*8 + 0x2b4]
fstp qword [ecx - 8]
fld qword [esi + ecx - 8]
fstp qword [ecx + 0x1f8]
fld qword [ebx + ecx - 8]
fstp qword [ecx + 0xf8]
cmp edx, edi
jl 0x432552
jmp case.default.0x432267
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 + 0x13c]
fstp qword [eax + 0x38]
fld qword [esp + 0xbc]
fstp qword [eax + 0xb8]
fld qword [esp + 0x144]
fstp qword [eax + 0x58]
fld qword [esp + 0xc4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x14c]
fstp qword [eax + 0x78]
fld qword [esp + 0xcc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x154]
fstp qword [eax + 0x70]
fld qword [esp + 0xd4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x15c]
fstp qword [eax + 0x68]
fld qword [esp + 0xdc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x164]
fstp qword [eax + 0x60]
fld qword [esp + 0xe4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x16c]
fstp qword [eax + 0x40]
fld qword [esp + 0xec]
fstp qword [eax + 0xc0]
fld qword [esp + 0x174]
fstp qword [eax + 0x20]
fld qword [esp + 0xf4]
fstp qword [eax + 0xa0]
fld qword [esp + 0x17c]
fstp qword [eax + 0x28]
fld qword [esp + 0xfc]
fstp qword [eax + 0xa8]
fld qword [esp + 0x184]
fstp qword [eax + 0x30]
fld qword [esp + 0x104]
fstp qword [eax + 0xb0]
fld qword [esp + 0x18c]
fstp qword [eax + 0x50]
fld qword [esp + 0x10c]
fstp qword [eax + 0xd0]
fld qword [esp + 0x194]
fstp qword [eax + 0x48]
fld qword [esp + 0x114]
fstp qword [eax + 0xc8]
cmp edi, 4
jl 0x4327cc
lea ebx, [edi - 3]
lea ecx, [eax + 0x200]
lea esi, [eax - 0x100]
fld qword [esi - 0x200]
add edx, 4
fstp qword [ecx - 0x100]
add esi, 0x20
fld qword [esi - 0x20]
add ecx, 0x20
fstp qword [ecx - 0x20]
fld qword [esp + edx*8 + 0x19c]
fstp qword [ecx + 0x1e0]
fld qword [esp + edx*8 + 0x29c]
fstp qword [ecx + 0xe0]
fld qword [esi - 0x218]
fstp qword [ecx - 0x118]
fld qword [esi - 0x18]
fstp qword [ecx - 0x18]
fld qword [esp + edx*8 + 0x1a4]
fstp qword [ecx + 0x1e8]
fld qword [esp + edx*8 + 0x2a4]
fstp qword [ecx + 0xe8]
fld qword [esi - 0x210]
fstp qword [ecx - 0x110]
fld qword [esi - 0x10]
fstp qword [ecx - 0x10]
fld qword [esp + edx*8 + 0x1ac]
fstp qword [ecx + 0x1f0]
fld qword [esp + edx*8 + 0x2ac]
fstp qword [ecx + 0xf0]
fld qword [esi - 0x208]
fstp qword [ecx - 0x108]
fld qword [esi - 8]
fstp qword [ecx - 8]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [ecx + 0x1f8]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [ecx + 0xf8]
cmp edx, ebx
jl 0x43270b
cmp edx, edi
jge case.default.0x432267
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, edx
lea eax, [eax + edx*8 + 0x200]
lea ecx, [esi + ecx*8 - 0x100]
fld qword [ecx - 0x200]
inc edx
fstp qword [eax - 0x100]
add ecx, 8
fld qword [ecx - 8]
add eax, 8
fstp qword [eax - 8]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [eax + 0x1f8]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [eax + 0xf8]
cmp edx, edi
jl 0x4327f2
jmp case.default.0x432267
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 + 0x13c]
fstp qword [eax + 0x38]
fld qword [esp + 0xbc]
fstp qword [eax + 0xb8]
fld qword [esp + 0x144]
fstp qword [eax + 0x58]
fld qword [esp + 0xc4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x14c]
fstp qword [eax + 0x78]
fld qword [esp + 0xcc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x154]
fstp qword [eax + 0x70]
fld qword [esp + 0xd4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x15c]
fstp qword [eax + 0x68]
fld qword [esp + 0xdc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x164]
fstp qword [eax + 0x60]
fld qword [esp + 0xe4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x16c]
fstp qword [eax + 0x40]
fld qword [esp + 0xec]
fstp qword [eax + 0xc0]
fld qword [esp + 0x174]
fstp qword [eax + 0x20]
fld qword [esp + 0xf4]
fstp qword [eax + 0xa0]
fld qword [esp + 0x17c]
fstp qword [eax + 0x28]
fld qword [esp + 0xfc]
fstp qword [eax + 0xa8]
fld qword [esp + 0x184]
fstp qword [eax + 0x30]
fld qword [esp + 0x104]
fstp qword [eax + 0xb0]
fld qword [esp + 0x18c]
fstp qword [eax + 0x50]
fld qword [esp + 0x10c]
fstp qword [eax + 0xd0]
fld qword [esp + 0x194]
fstp qword [eax + 0x48]
fld qword [esp + 0x114]
fstp qword [eax + 0xc8]
cmp edi, 4
jl 0x432a70
lea ebx, [edi - 3]
lea ecx, [eax + 0x200]
lea esi, [eax - 0x200]
fld qword [esi + 0x100]
add edx, 4
fstp qword [ecx - 0x100]
add esi, 0x20
fld qword [esi - 0x20]
add ecx, 0x20
fstp qword [ecx - 0x20]
fld qword [esp + edx*8 + 0x19c]
fstp qword [ecx + 0x1e0]
fld qword [esp + edx*8 + 0x29c]
fstp qword [ecx + 0xe0]
fld qword [esi + 0xe8]
fstp qword [ecx - 0x118]
fld qword [esi - 0x18]
fstp qword [ecx - 0x18]
fld qword [esp + edx*8 + 0x1a4]
fstp qword [ecx + 0x1e8]
fld qword [esp + edx*8 + 0x2a4]
fstp qword [ecx + 0xe8]
fld qword [esi + 0xf0]
fstp qword [ecx - 0x110]
fld qword [esi - 0x10]
fstp qword [ecx - 0x10]
fld qword [esp + edx*8 + 0x1ac]
fstp qword [ecx + 0x1f0]
fld qword [esp + edx*8 + 0x2ac]
fstp qword [ecx + 0xf0]
fld qword [esi + 0xf8]
fstp qword [ecx - 0x108]
fld qword [esi - 8]
fstp qword [ecx - 8]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [ecx + 0x1f8]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [ecx + 0xf8]
cmp edx, ebx
jl 0x4329af
cmp edx, edi
jge case.default.0x432267
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, edx
lea eax, [eax + edx*8 + 0x200]
lea ecx, [esi + ecx*8 - 0x200]
jmp 0x432aa0
fld qword [ecx + 0x100]
inc edx
fstp qword [eax - 0x100]
add ecx, 8
fld qword [ecx - 8]
add eax, 8
fstp qword [eax - 8]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [eax + 0x1f8]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [eax + 0xf8]
cmp edx, edi
jl 0x432aa0
jmp case.default.0x432267
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 + 0x13c]
fstp qword [eax + 0x38]
fld qword [esp + 0xbc]
fstp qword [eax + 0xb8]
fld qword [esp + 0x144]
fstp qword [eax + 0x58]
fld qword [esp + 0xc4]
fstp qword [eax + 0xd8]
fld qword [esp + 0x14c]
fstp qword [eax + 0x78]
fld qword [esp + 0xcc]
fstp qword [eax + 0xf8]
fld qword [esp + 0x154]
fstp qword [eax + 0x70]
fld qword [esp + 0xd4]
fstp qword [eax + 0xf0]
fld qword [esp + 0x15c]
fstp qword [eax + 0x68]
fld qword [esp + 0xdc]
fstp qword [eax + 0xe8]
fld qword [esp + 0x164]
fstp qword [eax + 0x60]
fld qword [esp + 0xe4]
fstp qword [eax + 0xe0]
fld qword [esp + 0x16c]
fstp qword [eax + 0x40]
fld qword [esp + 0xec]
fstp qword [eax + 0xc0]
fld qword [esp + 0x174]
fstp qword [eax + 0x20]
fld qword [esp + 0xf4]
fstp qword [eax + 0xa0]
fld qword [esp + 0x17c]
fstp qword [eax + 0x28]
fld qword [esp + 0xfc]
fstp qword [eax + 0xa8]
fld qword [esp + 0x184]
fstp qword [eax + 0x30]
fld qword [esp + 0x104]
fstp qword [eax + 0xb0]
fld qword [esp + 0x18c]
fstp qword [eax + 0x50]
fld qword [esp + 0x10c]
fstp qword [eax + 0xd0]
fld qword [esp + 0x194]
fstp qword [eax + 0x48]
fld qword [esp + 0x114]
fstp qword [eax + 0xc8]
cmp edi, 4
jl 0x432d1e
lea ebx, [edi - 3]
lea ecx, [eax + 0x200]
lea esi, [eax - 0x400]
fld qword [esi + 0x200]
add edx, 4
fstp qword [ecx - 0x100]
add esi, 0x20
fld qword [esi - 0x20]
add ecx, 0x20
fstp qword [ecx - 0x20]
fld qword [esp + edx*8 + 0x19c]
fstp qword [ecx + 0x1e0]
fld qword [esp + edx*8 + 0x29c]
fstp qword [ecx + 0xe0]
fld qword [esi + 0x1e8]
fstp qword [ecx - 0x118]
fld qword [esi - 0x18]
fstp qword [ecx - 0x18]
fld qword [esp + edx*8 + 0x1a4]
fstp qword [ecx + 0x1e8]
fld qword [esp + edx*8 + 0x2a4]
fstp qword [ecx + 0xe8]
fld qword [esi + 0x1f0]
fstp qword [ecx - 0x110]
fld qword [esi - 0x10]
fstp qword [ecx - 0x10]
fld qword [esp + edx*8 + 0x1ac]
fstp qword [ecx + 0x1f0]
fld qword [esp + edx*8 + 0x2ac]
fstp qword [ecx + 0xf0]
fld qword [esi + 0x1f8]
fstp qword [ecx - 0x108]
fld qword [esi - 8]
fstp qword [ecx - 8]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [ecx + 0x1f8]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [ecx + 0xf8]
cmp edx, ebx
jl 0x432c5d
cmp edx, edi
jge case.default.0x432267
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, edx
lea eax, [eax + edx*8 + 0x200]
lea ecx, [esi + ecx*8 - 0x400]
fld qword [ecx + 0x200]
inc edx
fstp qword [eax - 0x100]
add ecx, 8
fld qword [ecx - 8]
add eax, 8
fstp qword [eax - 8]
fld qword [esp + edx*8 + 0x1b4]
fstp qword [eax + 0x1f8]
fld qword [esp + edx*8 + 0x2b4]
fstp qword [eax + 0xf8]
cmp edx, edi
jl 0x432d40
mov ecx, dword [esp + 0x30]
inc dword [esp + 0x1c]
xor eax, eax
lea edx, [esp + 0x28]
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x98]
push edx
push eax
call fcn.0042b7c0
test eax, eax
jne 0x4316c6
mov esi, dword [esp + 0x30]
test esi, esi
je 0x432dbb
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
push esi
call fcn.0051163f
add esp, 4
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x1c]
cmp ebx, 6
jne 0x432fc4
test esi, esi
jle 0x432fc4
fld qword [0x531928]
mov eax, dword [esp + 0x18]
fld qword [0x531358]
add eax, 0x38
fld qword [0x531538]
mov ecx, esi
fld qword [0x5369a8]
fld qword [0x5312f8]
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 + 0x44]
fld qword [eax + 0x50]
fadd qword [eax + 0x68]
fmul st(6)
fld qword [eax + 0x48]
fmul st(6)
fsubp st(1)
fsub qword [esp + 0x44]
fld qword [eax + 0xb0]
fadd qword [eax + 0x80]
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 + 0x54]
fld qword [eax - 0x28]
fadd qword [eax]
fmul st(6)
fld qword [eax - 0x20]
fmul st(6)
fsubp st(1)
fsub qword [esp + 0x54]
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 + 0x84]
fld qword [eax + 0x80]
fadd qword [eax + 0x58]
fmul st(6)
fld qword [eax + 0x60]
fmul st(6)
fsubp st(1)
fsub qword [esp + 0x84]
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 + 0x54]
fld qword [eax + 0x20]
fadd qword [eax - 0x30]
fmul st(5)
faddp st(1)
add eax, 0x500
dec ecx
fsub qword [eax - 0x520]
fdiv st(3)
fstp qword [eax - 0x4f0]
fld qword [eax - 0x450]
fadd qword [eax - 0x478]
fmul st(6)
fld qword [eax - 0x458]
fmul st(6)
fsubp st(1)
fsub qword [esp + 0x84]
fld qword [eax - 0x4b0]
fadd qword [eax - 0x460]
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 + 0x44]
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 0x432dfa
fstp st(4)
fstp st(2)
fstp st(0)
fstp st(0)
fstp st(0)
push 0x150
call fcn.00511699
add esp, 4
test eax, eax
je 0x433029
mov edx, dword [esp + 0x18]
mov dword [eax + 0xc0], edx
mov edx, dword [esp + 0x50]
xor ecx, ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax], vtable.GfxPatchMeshShading.0
mov dword [eax + 0xc4], esi
mov dword [eax + 0x148], edi
mov dword [eax + 0x14c], edx
test edx, edx
jle 0x433025
lea edx, [eax + 0xc8]
lea ecx, [ecx]
mov esi, dword [esp + ecx*4 + 0x5bc]
mov dword [edx], esi
inc ecx
add edx, 4
cmp ecx, dword [eax + 0x14c]
jl 0x433010
mov esi, eax
jmp 0x43302b
xor esi, esi
mov eax, dword [esp + 0xa4]
push eax
mov ecx, esi
call fcn.0042fb00
test eax, eax
jne 0x43304e
test esi, esi
je 0x433083
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
jmp 0x433083
mov eax, esi
jmp 0x433085
push str.Missing_or_invalid_Decode_array_in_shading_dictionary
jmp 0x43306c
push str.Missing_or_invalid_BitsPerFlag_in_shading_dictionary
jmp 0x43306c
push str.Missing_or_invalid_BitsPerComponent_in_shading_dictionary
jmp 0x43306c
push str.Missing_or_invalid_BitsPerCoordinate_in_shading_dictionary
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
call fcn.00412330
add esp, 0x10
lea ecx, [esp + 0x34]
call fcn.0044ea50
xor eax, eax
mov ecx, dword [esp + 0x8f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x8b0]
xor ecx, esp
call fcn.00511afd
mov esp, ebp
pop ebp
ret