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

Disassembly:
sub esp, 0x4d4
push ebx
push ebp
mov ebp, dword [esp + 0x4e0]
mov eax, dword [0x550028]
push esi
push edi
fild dword [ebp + 8]
mov edi, dword [0x6a9038]
xor ebx, ebx
mov bx, word [ebp + 4]
xor ecx, ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [0x53b284]
cmp edi, ebp
lea edx, [esp + 0x184]
lea edi, [ebp + 0x164]
push edx
sete cl
fstp dword [esp + 0xb8]
fild dword [ebp + 0xc]
push edi
mov dword [esp + 0xd8], ebx
mov dword [esp + 0x34], ecx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fmul dword [0x53b284]
fstp dword [esp + 0xc0]
fild dword [ebp + 0x10]
mov dword [0x65dfa8], 0x64f5d8
mov dword [0x64e55c], eax
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fmul dword [0x53b284]
fstp dword [esp + 0xc4]
call fcn.00402400
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x1bc], eax
mov al, byte [ebp + 0x12c]
add esp, 8
test al, 8
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], 0x3f800000
je 0x474d17
mov edx, dword [0x628640]
mov cx, word [ebp + 0x156]
movsx eax, word [0x62860e]
sub cx, word [edx + 8]
mov dword [esp + 0xd8], eax
mov word [0x62860e], cx
xor eax, eax
xor ecx, ecx
mov al, byte [ebp + 0x1f]
mov cl, byte [0x6b4679]
mov esi, eax
xor eax, eax
cmp esi, ecx
mov dword [esp + 0xb0], esi
sete al
test eax, eax
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd4], eax
je 0x474d5e
mov eax, dword [0x60cff0]
test eax, eax
je 0x474d5e
mov dword [esp + 0xc0], 1
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x474d86
mov eax, dword [0x6b78f8]
test eax, eax
jne 0x474d86
mov al, byte [ebp + 0x5e9]
test al, al
je 0x474d86
mov edx, dword [0x54ae18]
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0xb0]
push str.Tried_to_render_superitem_twithout_PSX
mov esi, eax
shl esi, 4
add esi, eax
shl esi, 2
mov al, byte [esi + 0x6b244a]
test al, al
setne al
push eax
call fcn.004015b0
mov al, byte [ebp + 0x12c]
add esp, 8
test al, 2
je 0x474df0
mov cx, word [edi]
mov dx, word [ebp + 0x16a]
mov ax, word [ebp + 0x170]
neg cx
neg dx
neg ax
mov word [edi], cx
mov word [ebp + 0x16a], dx
mov word [ebp + 0x170], ax
mov word [0x614fa8], 1
jmp 0x474df9
mov word [0x614fa8], 0
mov ecx, dword [0x628640]
add ecx, 0x74
push ecx
call fcn.0046d7b0
lea edx, [esp + 0x168]
push edx
push edi
call fcn.0046e4b0
mov eax, dword [0x628640]
mov ecx, dword [ebp + 8]
sar ecx, 0xc
mov edx, dword [eax + 4]
sub ecx, edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x120], ecx
mov ecx, dword [eax + 8]
sar edx, 0xc
sub edx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x124], edx
mov edx, dword [eax + 0xc]
sar ecx, 0xc
sub ecx, edx
lea edx, [esp + 0x120]
push edx
mov dword [esp + 0x12c], ecx
call fcn.0046d870
call fcn.0046da40
lea eax, [esp + 0x188]
push eax
call fcn.0046d790
mov eax, dword [0x54d384]
add esp, 0x14
test eax, eax
je 0x474f28
fild dword [esp + 0x180]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [0x550098]
fstp dword [esp + 0x18]
fild dword [0x64e568]
fstp dword [esp + 0x1c]
fld dword [esp + 0x18]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x474f28
fild dword [0x64e560]
fstp dword [esp + 0x24]
fld dword [esp + 0x18]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x41
jne 0x475e95
mov ecx, dword [0x64e560]
mov eax, dword [0x64e568]
sub ecx, eax
mov byte [0x660fe1], 1
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fcomp dword [0x53b27c]
fnstsw ax
test ah, 1
je 0x474f0c
mov dword [0x550060], 0xff
jmp 0x474f28
fld dword [esp + 0x24]
fsub dword [esp + 0x18]
fmul dword [0x53b704]
fdiv dword [esp + 0x28]
call fcn.00529c7c
mov dword [0x550060], eax
mov eax, dword [0x5500a4]
mov dword [0x660f74], 1
test eax, eax
je 0x47501c
mov eax, dword [0x6b78f8]
test eax, eax
jne 0x47501c
fild dword [esp + 0x180]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fsub dword [0x55009c]
fcomp dword [0x53b38c]
fnstsw ax
test ah, 1
jne 0x474f99
fld dword [0x55009c]
fcomp dword [0x53b27c]
fnstsw ax
test ah, 1
jne 0x474f99
fld dword [0x55009c]
fdiv dword [esp + 0x18]
fadd dword [0x53b27c]
fstp dword [0x54ffe0]
jmp 0x474fa3
mov dword [0x54ffe0], 0x3f800000
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x47501c
mov edx, dword [0x6a9038]
mov al, byte [edx + 0x8e9]
test al, al
je 0x475012
mov eax, dword [esp + 0x118]
test eax, eax
jle 0x475012
fld dword [0x5500a0]
fadd dword [0x53b38c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x475008
fld dword [0x5500a0]
fcomp dword [0x53b27c]
fnstsw ax
test ah, 1
jne 0x475008
fld dword [0x5500a0]
fdiv dword [esp + 0x18]
fsubr dword [0x53b27c]
fstp dword [0x54ffe0]
jmp 0x475012
mov dword [0x54ffe0], 0x3f800000
mov eax, dword [0x54ffe0]
mov dword [0x550074], eax
cmp word [ebp + 0x1a], 0
mov ecx, dword [esp + 0x180]
push str.I_thought_the_model_number_was_always_0_for_a_superitem
mov dword [esp + 0xcc], ecx
sete dl
push edx
call fcn.004015b0
mov eax, dword [esi + 0x6b2454]
add esp, 8
mov dword [esp + 0xc4], eax
xor eax, eax
mov ax, word [esi + 0x6b2478]
test bl, 4
mov dword [esp + 0x24], eax
je 0x47506b
mov ebx, dword [ebp + 0x184]
mov dword [esp + 0x18], ebx
jmp 0x47507a
push ebp
call fcn.00433d60
add esp, 4
mov dword [esp + 0x18], eax
mov ebx, eax
mov edx, dword [ebp + 0x3c]
lea ecx, [esp + 0x2c4]
push ecx
push edi
push edx
mov dword [esp + 0x100], ebx
call fcn.0046cd90
mov eax, dword [ebp + 0xb0]
add esp, 0xc
shr eax, 0x18
mov dword [esp + 0xf8], eax
mov eax, dword [0x550094]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x2c]
test eax, eax
mov dword [0x62861c], 0x654fb8
mov dword [0x64f5cc], 0x658e28
je 0x475139
lea eax, [ebx + 0x78]
mov ecx, 6
mov esi, eax
lea edi, [esp + 0xdc]
rep movsd dword es:[edi], dword [esi]
lea edx, [ebx + 0x90]
mov ecx, 6
mov esi, edx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
lea esi, [esp + 0xdc]
mov edi, edx
lea eax, [ebx + 0xf0]
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
mov esi, eax
lea edi, [esp + 0xdc]
lea edx, [ebx + 0x108]
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
mov esi, edx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
lea esi, [esp + 0xdc]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x24]
xor ebx, ebx
test eax, eax
jbe 0x475db5
cmp ebx, 0x1f
mov dword [esp + 0x1c], ebx
jle 0x475170
mov esi, dword [ebp + 0x198]
lea ecx, [ebx - 0x20]
mov edx, 1
shl edx, cl
and edx, esi
neg edx
sbb edx, edx
neg edx
mov dword [0x65dfac], edx
jmp 0x47518c
mov esi, dword [ebp + 0x194]
mov eax, 1
mov ecx, ebx
shl eax, cl
and eax, esi
neg eax
sbb eax, eax
neg eax
mov dword [0x65dfac], eax
mov ecx, dword [esp + 0xc4]
mov eax, dword [0x6b78f8]
test eax, eax
mov edi, dword [ecx + ebx*4]
mov dword [esp + 0x28], edi
jne 0x47524e
mov edx, dword [0x64e514]
xor esi, esi
movsx ecx, word [edi + 0x18]
mov si, word [edx + 0xe]
mov eax, 0xab8f69e3
imul ecx, esi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul dword [esp + 0xcc]
call fcn.00529c7c
cmp word [esp + 0xc8], ax
jle 0x475217
cmp word [edi + 0x1a], 0xffff
je 0x475217
mov ecx, dword [esp + 0xc4]
xor eax, eax
mov edx, dword [ecx]
mov ax, word [edx + 0x1a]
add eax, ebx
mov dword [esp + 0x1c], eax
mov edi, dword [ecx + eax*4]
mov dword [esp + 0x28], edi
movsx ecx, word [edi + 0x18]
imul ecx, esi
mov eax, 0xab8f69e3
imul ecx
movsx eax, word [esp + 0xc8]
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
cmp eax, edx
jle 0x47524e
cmp word [edi + 0x1a], 0xffff
jne 0x47524e
mov ebx, dword [esp + 0x24]
jmp 0x475d9d
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x1c4]
push ecx
lea eax, [ebp + 0x164]
push edx
push eax
call fcn.0046cd90
xor eax, eax
add esp, 0xc
mov dword [0x660f9c], eax
mov dword [0x65ceb0], eax
test byte [edi], 4
jne 0x475289
test byte [esp + 0xd0], 0x80
je 0x4755d1
mov eax, dword [ebp + 0x3c]
add eax, 0x14
push eax
call fcn.0046d810
mov ecx, dword [0x660fec]
mov esi, dword [ebp + 0x3c]
xor edi, edi
add esp, 4
mov eax, 1
cmp ecx, edi
mov dword [0x65ceb0], edi
mov dword [0x660f9c], eax
je 0x4752bc
mov dword [0x65ceb0], eax
cmp ebx, edi
jle 0x4752ce
cmp dword [0x660ff0], edi
jne 0x4752ce
mov dword [0x65ceb0], edi
lea ecx, [esp + 0x1e4]
lea edx, [esp + 0x1c4]
push ecx
push edx
push esi
call fcn.0046cd90
add esp, 0xc
lea edx, [esp + 0x1e6]
lea ecx, [esi + 0x1a]
xor eax, eax
movsx edi, word [edx + 2]
mov dword [esp + 0x14], edi
add eax, 0xc
fild dword [esp + 0x14]
movsx edi, word [edx]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fdiv dword [0x53b36c]
mov dword [esp + 0x14], edi
add ecx, 2
movsx edi, word [edx - 2]
add edx, 6
cmp eax, 0x24
fstp dword [esp + 0x10]
fild dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fdiv dword [0x53b36c]
mov dword [esp + 0x14], edi
fstp dword [esp + 0x20]
fild dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fdiv dword [0x53b36c]
fstp dword [esp + 0x14]
mov edi, dword [esp + 0x14]
mov dword [eax + 0x62865c], edi
mov edi, dword [esp + 0x20]
mov dword [eax + 0x628660], edi
mov edi, dword [esp + 0x10]
mov dword [eax + 0x628664], edi
movsx edi, word [ecx + 4]
mov dword [esp + 0x10], edi
fild dword [esp + 0x10]
movsx edi, word [ecx - 2]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdiv dword [0x53b36c]
mov dword [esp + 0x10], edi
movsx edi, word [ecx - 8]
fstp dword [esp + 0x14]
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdiv dword [0x53b36c]
mov dword [esp + 0x10], edi
fstp dword [esp + 0x20]
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdiv dword [0x53b36c]
fstp dword [esp + 0x10]
mov edi, dword [esp + 0x10]
mov dword [eax + 0x64f59c], edi
mov edi, dword [esp + 0x20]
mov dword [eax + 0x64f5a0], edi
mov edi, dword [esp + 0x14]
mov dword [eax + 0x64f5a4], edi
jl 0x4752f3
fild dword [esi + 0x30]
xor edi, edi
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdiv dword [0x53b36c]
fstp dword [esp + 0x14]
fild dword [esi + 0x2c]
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdiv dword [0x53b36c]
fstp dword [esp + 0x20]
fild dword [esi + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [0x660f58], edx
mov dword [0x660f54], ecx
mov dword [0x64e510], 3
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdiv dword [0x53b36c]
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [0x660f50], eax
mov eax, dword [0x660ff4]
cmp eax, edi
je 0x4755d3
fld dword [0x628670]
fchs
fstp dword [esp + 0x14]
fld dword [0x62866c]
mov eax, dword [0x6191c8]
mov ecx, dword [0x6191cc]
fchs
fstp dword [esp + 0x20]
fld dword [0x628668]
mov edx, dword [0x6191d0]
mov dword [0x64f5a8], eax
fchs
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [0x64f5ac], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb4], eax
mov dword [0x64f5b0], edx
mov edx, dword [esp + 0x14]
lea eax, [esp + 0xb4]
mov dword [esp + 0xb8], ecx
push eax
lea ecx, [esp + 0x10c]
mov dword [esp + 0xc0], edx
call fcn.00402540
fld dword [0x628670]
fchs
fstp dword [esp + 0x14]
fld dword [0x62866c]
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x10c]
fchs
fstp dword [esp + 0x20]
fld dword [0x628668]
mov eax, dword [esp + 0x110]
mov dword [0x628674], ecx
fchs
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov dword [0x628678], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xfc], ecx
lea ecx, [esp + 0xfc]
mov dword [0x62867c], eax
mov eax, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0xe0]
mov dword [esp + 0x104], edx
mov dword [esp + 0x108], eax
call fcn.00402540
mov edx, dword [esp + 0xdc]
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov dword [0x628680], edx
mov edx, dword [0x65cf78]
mov dword [0x628684], eax
mov eax, dword [0x65cf7c]
mov dword [0x628688], ecx
mov ecx, dword [0x65cf80]
mov dword [0x64f5b4], edi
mov dword [0x64f5b8], edi
mov dword [0x64f5bc], edi
mov dword [0x64f5c0], edi
mov dword [0x64f5c4], edi
mov dword [0x64f5c8], edi
mov dword [0x660f50], edx
mov dword [0x660f54], eax
mov dword [0x660f58], ecx
jmp 0x4755d3
xor edi, edi
mov esi, dword [esp + 0x18]
push str.Invalid_pAnimTransform.
push esi
call fcn.00470320
add esp, 4
push eax
call fcn.004015b0
lea edx, [esp + 0x38]
push edx
push esi
call fcn.004024a0
add esp, 0x10
lea ecx, [esp + 0x70]
push 0x3f800000
push edi
push edi
push edi
push edi
push 0x3d800000
push edi
push edi
push edi
push edi
push 0x3d800000
push edi
push edi
push edi
push edi
push 0x3d800000
call fcn.00476710
fld dword [esp + 0x6c]
fmul dword [esp + 0xac]
fld dword [esp + 0x68]
fmul dword [esp + 0x9c]
push ecx
faddp st(1)
fld dword [esp + 0x68]
fmul dword [esp + 0x90]
faddp st(1)
fld dword [esp + 0x64]
fmul dword [esp + 0x80]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0x70]
fmul dword [esp + 0xac]
fld dword [esp + 0x6c]
fmul dword [esp + 0x9c]
push ecx
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [esp + 0x90]
faddp st(1)
fld dword [esp + 0x68]
fmul dword [esp + 0x80]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0x74]
fmul dword [esp + 0xac]
fld dword [esp + 0x70]
fmul dword [esp + 0x9c]
push ecx
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0x90]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [esp + 0x80]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0x78]
fmul dword [esp + 0xac]
fld dword [esp + 0x74]
fmul dword [esp + 0x9c]
push ecx
faddp st(1)
fld dword [esp + 0x74]
fmul dword [esp + 0x90]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0x80]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0x6c]
fmul dword [esp + 0xbc]
fld dword [esp + 0x68]
fmul dword [esp + 0xac]
push ecx
faddp st(1)
fld dword [esp + 0x68]
fmul dword [esp + 0xa0]
faddp st(1)
fld dword [esp + 0x64]
fmul dword [esp + 0x90]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0x70]
fmul dword [esp + 0xbc]
fld dword [esp + 0x6c]
fmul dword [esp + 0xac]
push ecx
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [esp + 0xa0]
faddp st(1)
fld dword [esp + 0x68]
fmul dword [esp + 0x90]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0x74]
fmul dword [esp + 0xbc]
fld dword [esp + 0x70]
fmul dword [esp + 0xac]
push ecx
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0xa0]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [esp + 0x90]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0x78]
fmul dword [esp + 0xbc]
fld dword [esp + 0x74]
fmul dword [esp + 0xac]
push ecx
faddp st(1)
fld dword [esp + 0x74]
fmul dword [esp + 0xa0]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0x90]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0x6c]
fmul dword [esp + 0xcc]
fld dword [esp + 0x68]
fmul dword [esp + 0xbc]
push ecx
faddp st(1)
fld dword [esp + 0x68]
fmul dword [esp + 0xb0]
faddp st(1)
fld dword [esp + 0x64]
fmul dword [esp + 0xa0]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0x70]
fmul dword [esp + 0xcc]
fld dword [esp + 0x6c]
fmul dword [esp + 0xbc]
push ecx
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [esp + 0xb0]
faddp st(1)
fld dword [esp + 0x68]
fmul dword [esp + 0xa0]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0x74]
fmul dword [esp + 0xcc]
fld dword [esp + 0x70]
fmul dword [esp + 0xbc]
push ecx
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0xb0]
faddp st(1)
fld dword [esp + 0x6c]
fmul dword [esp + 0xa0]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0x78]
fmul dword [esp + 0xcc]
fld dword [esp + 0x74]
fmul dword [esp + 0xbc]
push ecx
faddp st(1)
fld dword [esp + 0x74]
fmul dword [esp + 0xb0]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0xa0]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0xdc]
fmul dword [esp + 0x6c]
fld dword [esp + 0xcc]
fmul dword [esp + 0x68]
push ecx
faddp st(1)
fld dword [esp + 0xc0]
fmul dword [esp + 0x68]
faddp st(1)
fld dword [esp + 0xb0]
fmul dword [esp + 0x64]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0xdc]
fmul dword [esp + 0x70]
fld dword [esp + 0xcc]
fmul dword [esp + 0x6c]
push ecx
faddp st(1)
fld dword [esp + 0xc0]
fmul dword [esp + 0x6c]
faddp st(1)
fld dword [esp + 0xb0]
fmul dword [esp + 0x68]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0xdc]
fmul dword [esp + 0x74]
fld dword [esp + 0xcc]
fmul dword [esp + 0x70]
push ecx
faddp st(1)
fld dword [esp + 0xc0]
fmul dword [esp + 0x70]
faddp st(1)
fld dword [esp + 0xb0]
fmul dword [esp + 0x6c]
faddp st(1)
fstp dword [esp]
fld dword [esp + 0xdc]
fmul dword [esp + 0x78]
fld dword [esp + 0xcc]
fmul dword [esp + 0x74]
push ecx
lea ecx, [esp + 0x4a4]
faddp st(1)
fld dword [esp + 0xc0]
fmul dword [esp + 0x74]
faddp st(1)
fld dword [esp + 0xb0]
fmul dword [esp + 0x70]
faddp st(1)
fstp dword [esp]
call fcn.00476710
push eax
lea ecx, [esp + 0x248]
call fcn.00478140
xor esi, esi
lea eax, [esp + esi + 0x244]
lea ecx, [esp + esi + 0x124]
push eax
call fcn.00402600
add esi, 0x10
cmp esi, 0x40
jl 0x47599d
cmp dword [esp + 0xd4], edi
je 0x475cd3
cmp dword [0x2e09bf4], edi
je 0x475aa7
cmp ebx, 7
jne 0x4759e2
mov eax, 0x3f333333
mov ecx, eax
mov edx, eax
jmp 0x475a14
cmp ebx, 5
je 0x475a0b
cmp ebx, 6
je 0x475a0b
cmp ebx, 0xa
je 0x475a0b
cmp ebx, 0xb
je 0x475a0b
cmp ebx, 0x11
je 0x475a0b
cmp ebx, 0xe
je 0x475a0b
mov eax, 0x3e800000
mov ecx, eax
mov edx, eax
jmp 0x475a14
mov eax, 0x3eb33333
mov ecx, eax
mov edx, eax
push 0x3f800000
push 0
push 0
push 0
push 0
push edx
push 0
push 0
push 0
push 0
push ecx
push 0
push 0
push 0
push 0
push eax
lea ecx, [esp + 0x2c4]
call fcn.00476710
lea ecx, [esp + 0x70]
lea edx, [esp + 0x30]
push ecx
lea eax, [esp + 0x288]
push edx
lea ecx, [esp + 0x32c]
push eax
push ecx
call fcn.00476a00
add esp, 0xc
lea edx, [esp + 0x3e8]
push eax
push edx
call fcn.00476a00
mov edi, eax
lea eax, [esp + 0x130]
add esp, 0xc
lea esi, [esp + 0x124]
sub edi, eax
mov ebp, 4
lea ecx, [edi + esi]
push ecx
mov ecx, esi
call fcn.00402600
add esi, 0x10
dec ebp
jne 0x475a8a
mov ebp, dword [esp + 0x4e8]
jmp 0x475b91
cmp dword [0x2e09bf0], edi
je 0x475b91
cmp ebx, 7
je 0x475af1
cmp ebx, 5
je 0x475af1
cmp ebx, 6
je 0x475af1
cmp ebx, 0xa
je 0x475af1
cmp ebx, 0xb
je 0x475af1
cmp ebx, 0x11
je 0x475af1
cmp ebx, 0xe
je 0x475af1
cmp ebx, 1
jne 0x475ae6
mov eax, 0x3f19999a
mov ecx, eax
mov edx, eax
jmp 0x475afa
mov eax, 0x3ee66666
mov ecx, eax
mov edx, eax
jmp 0x475afa
mov eax, 0x3fc00000
mov ecx, eax
mov edx, eax
push 0x3f800000
push 0
push 0
push 0
push 0
push edx
push 0
push 0
push 0
push 0
push ecx
push 0
push 0
push 0
push 0
push eax
lea ecx, [esp + 0x324]
call fcn.00476710
lea edx, [esp + 0x70]
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x2e8]
push eax
lea edx, [esp + 0x36c]
push ecx
push edx
call fcn.00476a00
add esp, 0xc
push eax
lea eax, [esp + 0x3ac]
push eax
call fcn.00476a00
lea esi, [esp + 0x130]
add esp, 0xc
lea edx, [eax + 0xc]
sub eax, esi
lea ecx, [esp + 0x128]
mov esi, 4
mov edi, dword [edx - 0xc]
add edx, 0x10
mov dword [ecx - 4], edi
mov edi, dword [eax + ecx]
mov dword [ecx], edi
mov edi, dword [edx - 0x14]
mov dword [ecx + 4], edi
mov edi, dword [edx - 0x10]
mov dword [ecx + 8], edi
add ecx, 0x10
dec esi
jne 0x475b71
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x475cd3
cmp ebx, 7
jne 0x475cd3
mov eax, dword [0x6b4ca8]
and eax, 0xff
sub eax, 0x80
lea esi, [esp + 0x30]
cdq
xor eax, edx
lea ecx, [esp + 0x3c]
sub eax, edx
lea edx, [esp + 0x124]
mov dword [esp + 0x10], eax
mov eax, 4
fild dword [esp + 0x10]
sub edx, eax
sub esi, eax
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [0x53bd7c]
fadd dword [0x53bd78]
fstp dword [esp + 0x10]
mov edi, dword [edx + eax]
add ecx, 0x10
mov dword [esi + eax], edi
mov edi, dword [esp + eax + 0x124]
mov dword [esp + eax + 0x30], edi
mov edi, dword [esp + eax + 0x128]
mov dword [ecx - 0x14], edi
mov edi, dword [esp + eax + 0x12c]
mov dword [ecx - 0x10], edi
add eax, 0x10
cmp eax, 0x44
jl 0x475bf5
mov eax, dword [esp + 0x10]
push 0x3f800000
push 0
push 0
push 0
push 0
push eax
push 0
push 0
push 0
push 0
push eax
push 0
push 0
push 0
push 0
push eax
lea ecx, [esp + 0xb0]
call fcn.00476710
lea ecx, [esp + 0x70]
lea edx, [esp + 0x30]
push ecx
lea eax, [esp + 0x428]
push edx
push eax
call fcn.00476a00
lea esi, [esp + 0x130]
add esp, 0xc
lea edx, [eax + 0xc]
sub eax, esi
lea ecx, [esp + 0x128]
mov esi, 4
mov edi, dword [edx - 0xc]
add edx, 0x10
mov dword [ecx - 4], edi
mov edi, dword [eax + ecx]
mov dword [ecx], edi
mov edi, dword [edx - 0x14]
mov dword [ecx + 4], edi
mov edi, dword [edx - 0x10]
mov dword [ecx + 8], edi
add ecx, 0x10
dec esi
jne 0x475c87
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x154], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x158], edx
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
lea edx, [esp + 0x184]
lea eax, [esp + 0x124]
push edx
lea ecx, [esp + 0x4a8]
push eax
push ecx
call fcn.00476a00
lea esi, [esp + 0x210]
add esp, 0xc
lea edx, [eax + 0xc]
sub eax, esi
lea ecx, [esp + 0x208]
mov esi, 4
mov edi, dword [edx - 0xc]
add edx, 0x10
mov dword [ecx - 4], edi
mov edi, dword [eax + ecx]
mov dword [ecx], edi
mov edi, dword [edx - 0x14]
mov dword [ecx + 4], edi
mov edi, dword [edx - 0x10]
mov dword [ecx + 8], edi
add ecx, 0x10
dec esi
jne 0x475d0b
mov eax, dword [esp + 0x1c]
push str.no_dc_model_data
lea edx, [eax + eax*8]
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax*4 + 0x5f6764]
lea esi, [ecx + edx*4]
test esi, esi
setne dl
push edx
call fcn.004015b0
mov al, byte [esp + 0x100]
add esp, 8
test al, 0x80
jne 0x475d9d
mov eax, dword [esi + 0xc]
test ah, 1
jne 0x475d9d
test ah, 0x40
jne 0x475d85
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x204]
push 0
push eax
push esi
push ecx
call fcn.00476d00
jmp 0x475d9a
mov eax, dword [esp + 0x28]
push esi
lea edx, [esp + 0x208]
push 0
push edx
push eax
call fcn.00478180
add esp, 0x10
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
inc ebx
add ecx, 0x18
cmp ebx, eax
mov dword [esp + 0x18], ecx
jb 0x475147
mov ecx, dword [esp + 0x2c]
xor eax, eax
cmp ecx, eax
mov dword [0x65dfac], eax
mov dword [0x660f9c], eax
mov dword [0x65ceb0], eax
mov dword [0x660f74], eax
je 0x475e45
mov ebx, dword [esp + 0xf4]
mov ecx, 6
lea edi, [esp + 0xdc]
lea eax, [ebx + 0x78]
lea edx, [ebx + 0x90]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
mov esi, edx
mov edi, eax
lea eax, [ebx + 0xf0]
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
lea esi, [esp + 0xdc]
mov edi, edx
lea edx, [ebx + 0x108]
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
mov esi, eax
lea edi, [esp + 0xdc]
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
mov esi, edx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
lea esi, [esp + 0xdc]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x12c]
test al, 2
je 0x475e82
mov cx, word [ebp + 0x164]
mov dx, word [ebp + 0x16a]
neg cx
mov word [ebp + 0x164], cx
mov cx, word [ebp + 0x170]
neg dx
neg cx
mov word [ebp + 0x16a], dx
mov word [ebp + 0x170], cx
test al, 8
je 0x475e95
mov dx, word [esp + 0xd8]
mov word [0x62860e], dx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4d4
ret