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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
push ebx
push esi
mov esi, dword [ebp + 8]
fld qword [esi + 0x18]
push edi
fcom qword [0x479a20]
mov dword [esp + 0x58], 1
fnstsw ax
test ah, 0x41
jp 0x42c74f
fstp st(0)
fld qword [0x480650]
fld st(0)
fmul st(1)
fstp qword [esp + 0x68]
fstp st(0)
fld qword [esi + 0x20]
fst qword [esp + 0x78]
fcomp qword [0x480648]
fnstsw ax
test ah, 5
jp 0x42c77d
mov dword [esp + 0x78], 0xd70a3d71
mov dword [esp + 0x7c], 0x3fe570a3
mov edi, dword [esi + 0x28]
mov ebx, dword [esi + 0x10]
xor edx, edx
xor eax, eax
cmp edi, edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
jle 0x42c79e
mov ecx, dword [esi + 0x3c]
mov dword [ecx + eax*4], edx
inc eax
cmp eax, edi
jl 0x42c793
xor eax, eax
cmp edi, edx
jle 0x42c7b3
mov ecx, dword [esi + 0x38]
mov dword [ecx + eax*8], edx
mov dword [ecx + eax*8 + 4], edx
inc eax
cmp eax, edi
jl 0x42c7a4
cmp ebx, 4
mov dword [esi + 0x48], edx
mov dword [esi + 0x4c], edx
jl 0x42c80f
mov eax, dword [esi + 0x14]
mov ecx, 3
add eax, 0x10
fld qword [eax - 0x10]
add ecx, 4
fld st(0)
add edx, 4
fmulp st(1)
add eax, 0x20
cmp ecx, ebx
fadd qword [esi + 0x48]
fst qword [esi + 0x48]
fld qword [eax - 0x28]
fld st(0)
fmul st(1)
faddp st(2)
fstp st(0)
fst qword [esi + 0x48]
fld qword [eax - 0x20]
fld st(0)
fmul st(1)
faddp st(2)
fstp st(0)
fst qword [esi + 0x48]
fld qword [eax - 0x18]
fld st(0)
fmul st(1)
fadd st(2)
fstp qword [esi + 0x48]
fstp st(0)
fstp st(0)
jl 0x42c7c9
cmp edx, ebx
jge 0x42c834
mov eax, dword [esi + 0x14]
lea ecx, [eax + edx*8]
mov eax, ebx
sub eax, edx
lea ecx, [ecx]
fld qword [ecx]
add ecx, 8
dec eax
fld st(0)
fmul st(1)
fadd qword [esi + 0x48]
fstp qword [esi + 0x48]
fstp st(0)
jne 0x42c820
fild dword [esp + 0x14]
lea eax, [edi*8]
push eax
fdivr qword [0x479a18]
fst qword [esp + 0x84]
fmul qword [esi + 0x48]
fsqrt
fstp qword [esi + 0x48]
call fcn.0046f58f
add esp, 4
test edi, edi
mov edx, eax
mov dword [esp + 0x40], edx
jle 0x42c87d
mov ecx, dword [esp + 0x10]
and ecx, 0x1fffffff
shl ecx, 1
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x10]
lea eax, [ebx*8]
push eax
call fcn.0046f58f
xor ecx, ecx
add esp, 4
cmp ebx, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
jl 0x42c949
mov edx, eax
mov ecx, 8
sub ecx, edx
mov dword [esp + 0x4c], ecx
mov ecx, 0xfffffff0
sub ecx, edx
mov dword [esp + 0x54], 3
mov dword [esp + 0x50], 0x10
lea eax, [edx + 0x10]
mov dword [esp + 0x5c], ecx
jmp 0x42c8d1
mov ecx, dword [esp + 0x5c]
mov edx, dword [esi + 0x14]
add ecx, eax
mov edi, dword [ecx + edx]
mov dword [eax - 0x10], edi
mov edx, dword [ecx + edx + 4]
mov dword [eax - 0xc], edx
mov edx, dword [esi + 0x14]
mov edi, dword [ecx + edx + 8]
mov dword [eax - 8], edi
mov ecx, dword [ecx + edx + 0xc]
mov dword [eax - 4], ecx
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0x50]
mov edi, dword [ecx + edx]
mov dword [eax], edi
mov ecx, dword [ecx + edx + 4]
mov edx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x14]
add edx, eax
mov edi, dword [edx + ecx]
mov dword [eax + 8], edi
mov edx, dword [edx + ecx + 4]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x50]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x54]
add edx, 4
add ecx, 4
add edi, 0x20
add eax, 0x20
cmp edx, ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edx
jl 0x42c8cd
mov edi, dword [esp + 0x10]
cmp ecx, ebx
jge 0x42c96b
mov eax, dword [esp + 0x24]
mov edx, dword [esi + 0x14]
mov edi, dword [edx + ecx*8]
mov dword [eax + ecx*8], edi
mov edx, dword [edx + ecx*8 + 4]
mov dword [eax + ecx*8 + 4], edx
inc ecx
cmp ecx, ebx
jl 0x42c951
mov edi, dword [esp + 0x10]
lea eax, [edi*8]
push eax
mov dword [esi + 0x40], 0
call fcn.0046f58f
mov dword [esp + 0x3c], eax
lea eax, [edi*4]
push eax
call fcn.0046f58f
add esp, 8
test edi, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], 0
jle 0x42c9c7
lea eax, [edi*8]
push eax
call fcn.0046f58f
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
add esp, 4
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, edi
mov dword [esp + 0x34], ecx
jl 0x42c9a3
lea eax, [edi*4]
push eax
call fcn.0046f58f
add esp, 4
test edi, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], 0
jle 0x42ca14
jmp 0x42c9f0
lea eax, [ebx*8]
push eax
call fcn.0046f58f
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
add esp, 4
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, edi
mov dword [esp + 0x34], ecx
jl 0x42c9f0
lea eax, [ebx*4]
push eax
call fcn.0046f58f
add esp, 4
test ebx, ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0
jle 0x42ca64
jmp 0x42ca40
lea eax, [edi*8]
push eax
call fcn.0046f58f
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add esp, 4
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, ebx
mov dword [esp + 0x1c], ecx
jl 0x42ca40
lea eax, [ebx*4]
push eax
call fcn.0046f58f
add esp, 4
test ebx, ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], 0
jle 0x42cab4
jmp 0x42ca90
lea eax, [ebx*8]
push eax
call fcn.0046f58f
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
add esp, 4
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, ebx
mov dword [esp + 0x1c], ecx
jl 0x42ca90
test edi, edi
mov dword [esp + 0x20], 0
jle 0x42dffe
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x54], edi
lea esp, [esp]
xor eax, eax
mov edx, dword [ecx]
mov dword [edx + eax*8], 0
mov dword [edx + eax*8 + 4], 0x3ff00000
inc eax
cmp eax, edi
jl 0x42cad2
mov eax, dword [esp + 0x54]
add ecx, 4
dec eax
mov dword [esp + 0x54], eax
jne 0x42cad0
xor ecx, ecx
mov dword [esp + 0x50], edi
lea esp, [esp]
xor eax, eax
cmp ebx, 4
jl 0x42cb9f
mov dword [esp + 0x54], 3
mov edx, dword [esi + 0x2c]
mov edx, dword [ecx + edx]
mov ebx, dword [edx + eax*8]
mov edi, dword [esp + 0x28]
mov edi, dword [ecx + edi]
mov dword [edi + eax*8], ebx
mov edx, dword [edx + eax*8 + 4]
mov dword [edi + eax*8 + 4], edx
mov edx, dword [esi + 0x2c]
mov edx, dword [ecx + edx]
mov ebx, dword [edx + eax*8 + 8]
mov edi, dword [esp + 0x28]
mov edi, dword [ecx + edi]
mov dword [edi + eax*8 + 8], ebx
mov edx, dword [edx + eax*8 + 0xc]
mov dword [edi + eax*8 + 0xc], edx
mov edx, dword [esi + 0x2c]
mov edx, dword [ecx + edx]
mov ebx, dword [edx + eax*8 + 0x10]
mov edi, dword [esp + 0x28]
mov edi, dword [ecx + edi]
mov dword [edi + eax*8 + 0x10], ebx
mov edx, dword [edx + eax*8 + 0x14]
mov dword [edi + eax*8 + 0x14], edx
mov edx, dword [esi + 0x2c]
mov edx, dword [ecx + edx]
mov ebx, dword [edx + eax*8 + 0x18]
mov edi, dword [esp + 0x28]
mov edi, dword [ecx + edi]
mov dword [edi + eax*8 + 0x18], ebx
mov edx, dword [edx + eax*8 + 0x1c]
mov ebx, dword [esp + 0x14]
mov dword [edi + eax*8 + 0x1c], edx
mov edx, dword [esp + 0x54]
add edx, 4
add eax, 4
cmp edx, ebx
mov dword [esp + 0x54], edx
jl 0x42cb13
cmp eax, ebx
jge 0x42cbc7
mov edx, dword [esi + 0x2c]
mov edx, dword [ecx + edx]
mov ebx, dword [edx + eax*8]
mov edi, dword [esp + 0x28]
mov edi, dword [ecx + edi]
mov dword [edi + eax*8], ebx
mov edx, dword [edx + eax*8 + 4]
mov ebx, dword [esp + 0x14]
mov dword [edi + eax*8 + 4], edx
inc eax
cmp eax, ebx
jl 0x42cba3
mov eax, dword [esp + 0x50]
add ecx, 4
dec eax
mov dword [esp + 0x50], eax
jne 0x42cb00
test ebx, ebx
jle 0x42cc3e
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x54], ebx
lea esp, [esp]
xor eax, eax
mov edi, dword [ecx]
mov dword [edi + eax*8], 0
mov dword [edi + eax*8 + 4], 0
inc eax
cmp eax, edx
jl 0x42cbf2
mov eax, dword [esp + 0x54]
add ecx, 4
dec eax
mov dword [esp + 0x54], eax
jne 0x42cbf0
test ebx, ebx
jle 0x42cc3e
mov ecx, dword [esp + 0x30]
mov edx, ebx
xor eax, eax
mov edi, dword [ecx]
mov dword [edi + eax*8], 0
mov dword [edi + eax*8 + 4], 0
inc eax
cmp eax, ebx
jl 0x42cc22
add ecx, 4
dec edx
jne 0x42cc20
xor edi, edi
mov dword [esp + 0x2c], edi
fld qword [0x479a20]
xor edx, edx
cmp ebx, 4
jl 0x42cc97
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + edi*4]
mov ecx, 3
add eax, 0x10
fld qword [eax - 0x10]
add ecx, 4
fld qword [eax - 8]
add edx, 4
fld qword [eax]
add eax, 0x20
cmp ecx, ebx
fld qword [eax - 0x18]
fld st(3)
fmul st(4)
faddp st(5)
fld st(2)
fmul st(3)
faddp st(5)
fld st(1)
fmul st(2)
faddp st(5)
fld st(0)
fmul st(1)
faddp st(5)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jl 0x42cc5f
cmp edx, ebx
jge 0x42ccb8
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + edi*4]
lea ecx, [eax + edx*8]
mov eax, ebx
sub eax, edx
fld qword [ecx]
add ecx, 8
dec eax
fld st(0)
fmul st(1)
faddp st(2)
fstp st(0)
jne 0x42cca8
fcom qword [0x479a20]
fnstsw ax
test ah, 0x44
jp 0x42ccdd
mov eax, dword [esp + 0x38]
mov dword [eax + edi*8], 0
mov dword [eax + edi*8 + 4], 0
jmp 0x42cd9b
fld qword [0x479a20]
xor edx, edx
cmp ebx, 4
mov dword [esp + 0x1c], edx
jl 0x42cd57
mov ecx, dword [esi + 0x2c]
mov edi, dword [ecx + edi*4]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x24]
lea ecx, [edi + 0x18]
add eax, 8
sub edi, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x54], 3
mov dword [esp + 0x5c], edi
jmp 0x42cd1a
mov edi, dword [esp + 0x5c]
fld qword [eax - 8]
add edx, 4
fmul qword [ecx - 0x18]
add eax, 0x20
add ecx, 0x20
faddp st(1)
fld qword [edi + eax - 0x20]
mov edi, dword [esp + 0x54]
fmul qword [eax - 0x20]
add edi, 4
cmp edi, ebx
faddp st(1)
mov dword [esp + 0x54], edi
fld qword [eax - 0x18]
fmul qword [ecx - 0x28]
faddp st(1)
fld qword [eax - 0x10]
fmul qword [ecx - 0x20]
faddp st(1)
jl 0x42cd16
mov edi, dword [esp + 0x2c]
cmp edx, ebx
jge 0x42cd84
mov ecx, dword [esi + 0x2c]
mov edi, dword [ecx + edi*4]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
sub edi, ecx
mov ecx, ebx
lea eax, [eax + edx*8]
sub ecx, edx
fld qword [eax + edi]
add eax, 8
dec ecx
fmul qword [eax - 8]
faddp st(1)
jne 0x42cd72
mov edi, dword [esp + 0x2c]
fld st(1)
mov edx, dword [esp + 0x38]
fmul qword [esp + 0x68]
fadd st(1)
fdivrp st(2)
fstp st(0)
fld st(0)
fmul st(1)
fstp qword [edx + edi*8]
mov eax, dword [esp + 0x10]
fstp st(0)
inc edi
cmp edi, eax
mov dword [esp + 0x2c], edi
jl 0x42cc44
xor eax, eax
test ebx, ebx
jle 0x42d651
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x3c]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x10]
fld qword [0x479a20]
xor esi, esi
cmp ecx, 4
jl 0x42ce45
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
add edx, 0x10
mov edi, 3
add ecx, 8
mov ebx, dword [ecx - 8]
fld qword [ebx + eax*8]
mov ebx, dword [ecx - 4]
fld qword [ebx + eax*8]
mov ebx, dword [ecx]
fld qword [ebx + eax*8]
mov ebx, dword [ecx + 4]
fld qword [ebx + eax*8]
mov ebx, dword [esp + 0x10]
fld st(3)
add edi, 4
fmul qword [edx - 0x10]
add esi, 4
add ecx, 0x10
add edx, 0x20
cmp edi, ebx
fmul st(4)
faddp st(5)
fld st(2)
fmul qword [edx - 0x28]
fmul st(3)
faddp st(5)
fld st(1)
fmul st(2)
fmul qword [edx - 0x20]
faddp st(5)
fld st(0)
fmul qword [edx - 0x18]
fmul st(1)
faddp st(5)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jl 0x42cdec
mov ecx, ebx
cmp esi, ecx
jge 0x42ce6f
lea esp, [esp]
mov edx, dword [esp + 0x28]
mov edx, dword [edx + esi*4]
fld qword [edx + eax*8]
mov edx, dword [esp + 0x38]
fld st(0)
inc esi
cmp esi, ecx
fmul qword [edx + esi*8 - 8]
fmul st(1)
faddp st(2)
fstp st(0)
jl 0x42ce50
test eax, eax
fld qword [0x479a18]
jle 0x42ceeb
mov edi, dword [esp + 0x30]
xor edx, edx
cmp eax, 4
jl 0x42ced4
mov esi, 3
lea ecx, [edi + 8]
mov ebx, dword [ecx - 8]
fld qword [ebx + eax*8]
mov ebx, dword [ecx - 4]
fld qword [ebx + eax*8]
mov ebx, dword [ecx]
fld qword [ebx + eax*8]
mov ebx, dword [ecx + 4]
fld qword [ebx + eax*8]
add esi, 4
fld st(3)
add edx, 4
fmul st(4)
add ecx, 0x10
cmp esi, eax
faddp st(5)
fld st(2)
fmul st(3)
faddp st(5)
fld st(1)
fmul st(2)
faddp st(5)
fld st(0)
fmul st(1)
faddp st(5)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jl 0x42ce90
cmp edx, eax
jge 0x42ceeb
mov ecx, dword [edi + edx*4]
fld qword [ecx + eax*8]
inc edx
cmp edx, eax
fld st(0)
fmul st(1)
faddp st(2)
fstp st(0)
jl 0x42ced8
fmul qword [esp + 0x68]
xor edx, edx
mov dword [esp + 0x2c], edx
xor ecx, ecx
faddp st(1)
fdivr qword [0x479a18]
nop
mov esi, dword [esp + 0x28]
mov edx, dword [esi + edx*4]
fld qword [edx + eax*8]
mov edx, dword [esp + 0x38]
fmul qword [ecx + edx]
mov esi, dword [esp + 0x10]
xor edx, edx
cmp esi, 4
mov dword [esp + 0x34], edx
jl 0x42cfe3
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
lea edx, [edi + 0xc]
add esi, 0x10
sub edi, ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], 3
lea edx, [ebx + 4]
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x50]
mov ebx, dword [edi - 0xc]
fld qword [ebx + ecx]
mov ebx, dword [edx - 4]
fsub qword [0x479a18]
add edi, 0x10
mov dword [esp + 0x50], edi
add edx, 0x10
fmul qword [ebx + eax*8]
mov ebx, dword [esp + 0x5c]
mov ebx, dword [ebx + edx - 0x10]
fmul qword [esi - 0x10]
add esi, 0x20
faddp st(1)
fld qword [ebx + ecx]
mov ebx, dword [edx - 0x10]
fsub qword [0x479a18]
fmul qword [ebx + eax*8]
mov ebx, dword [edi - 0x14]
fmul qword [esi - 0x28]
faddp st(1)
fld qword [ebx + ecx]
mov ebx, dword [edx - 0xc]
fsub qword [0x479a18]
fmul qword [ebx + eax*8]
mov ebx, dword [edi - 0x10]
mov edi, dword [esp + 0x10]
fmul qword [esi - 0x20]
faddp st(1)
fld qword [ecx + ebx]
mov ebx, dword [edx - 8]
fsub qword [0x479a18]
fmul qword [ebx + eax*8]
mov ebx, dword [esp + 0x34]
add ebx, 4
fmul qword [esi - 0x18]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x54]
add ebx, 4
cmp ebx, edi
faddp st(1)
mov dword [esp + 0x54], ebx
jl 0x42cf4b
mov edx, dword [esp + 0x34]
cmp edx, dword [esp + 0x10]
jge 0x42d028
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x28]
lea esi, [esi + edx*4]
sub edi, ebx
lea ebx, [ebx]
mov ebx, dword [esi + edi]
fld qword [ebx + ecx]
mov ebx, dword [esp + 0x38]
fsub qword [0x479a18]
inc edx
add esi, 4
fmul qword [ebx + edx*8 - 8]
mov ebx, dword [esi - 4]
fmul qword [ebx + eax*8]
mov ebx, dword [esp + 0x10]
cmp edx, ebx
faddp st(1)
jl 0x42d000
test eax, eax
fld qword [0x479a20]
jle 0x42d0f7
xor ebx, ebx
cmp eax, 4
mov dword [esp + 0x1c], ebx
jl 0x42d0bc
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
lea esi, [edi + 0xc]
sub edi, ebx
mov dword [esp + 0x54], 3
lea edx, [ebx + 4]
mov dword [esp + 0x34], edi
mov edi, dword [esi - 0xc]
fld qword [edi + eax*8]
mov ebx, dword [edx - 4]
fmul qword [ebx + ecx]
mov edi, dword [esp + 0x34]
mov edi, dword [edi + edx]
mov ebx, dword [edx]
faddp st(1)
add edx, 0x10
fld qword [edi + eax*8]
mov edi, dword [esi - 4]
fmul qword [ecx + ebx]
mov ebx, dword [edx - 0xc]
add esi, 0x10
faddp st(1)
fld qword [edi + eax*8]
mov edi, dword [edx - 8]
fmul qword [ebx + ecx]
mov ebx, dword [esi - 0x10]
faddp st(1)
fld qword [edi + ecx]
mov edi, dword [esp + 0x54]
fmul qword [ebx + eax*8]
mov ebx, dword [esp + 0x1c]
add edi, 4
add ebx, 4
cmp edi, eax
faddp st(1)
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x54], edi
jl 0x42d061
cmp ebx, eax
jge 0x42d0f3
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
sub edi, esi
lea edx, [esi + ebx*4]
mov esi, eax
mov dword [esp + 0x34], edi
sub esi, ebx
jmp 0x42d0e0
mov edi, dword [esp + 0x34]
jmp 0x42d0e0
mov edi, dword [edx + edi]
mov ebx, dword [edx]
fld qword [edi + eax*8]
fmul qword [ecx + ebx]
add edx, 4
dec esi
faddp st(1)
jne 0x42d0d7
fmul qword [esp + 0x68]
mov edx, dword [esp + 0x18]
fxch st(1)
mov edx, dword [edx + eax*4]
fadd st(1)
mov esi, dword [esp + 0x10]
add ecx, 8
fmul st(2)
fstp qword [ecx + edx - 8]
mov edx, dword [esp + 0x2c]
inc edx
cmp edx, esi
fstp st(0)
mov dword [esp + 0x2c], edx
jl 0x42cf00
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x50], edx
lea esp, [esp]
mov edx, dword [esp + 0x10]
fld qword [0x479a20]
xor edi, edi
cmp edx, 4
jl 0x42d1a9
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
add esi, 0x10
mov dword [esp + 0x54], 3
add edx, 8
mov ebx, dword [edx - 8]
fld qword [ebx + eax*8]
add edi, 4
fmul qword [ebx + ecx]
mov ebx, dword [edx - 4]
add edx, 0x10
add esi, 0x20
fmul qword [esi - 0x30]
faddp st(1)
fld qword [ebx + eax*8]
fmul qword [ebx + ecx]
mov ebx, dword [edx - 0x10]
fmul qword [esi - 0x28]
faddp st(1)
fld qword [ebx + eax*8]
fmul qword [ebx + ecx]
mov ebx, dword [edx - 0xc]
fmul qword [esi - 0x20]
faddp st(1)
fld qword [ebx + eax*8]
fmul qword [ebx + ecx]
mov ebx, dword [esp + 0x54]
add ebx, 4
cmp ebx, dword [esp + 0x10]
fmul qword [esi - 0x18]
mov dword [esp + 0x54], ebx
faddp st(1)
jl 0x42d157
mov esi, dword [esp + 0x10]
cmp edi, esi
jge 0x42d1cc
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
fld qword [ebx + edi*8]
mov edx, dword [edx + edi*4]
fmul qword [edx + eax*8]
inc edi
cmp edi, esi
fmul qword [ecx + edx]
faddp st(1)
jl 0x42d1b5
test eax, eax
fld qword [0x479a20]
jle 0x42d258
xor esi, esi
cmp eax, 4
mov dword [esp + 0x1c], esi
jl 0x42d23c
mov edx, dword [esp + 0x30]
mov dword [esp + 0x54], 3
add edx, 8
mov esi, dword [edx - 8]
fld qword [esi + eax*8]
mov edi, dword [edx - 4]
fmul qword [ecx + esi]
mov esi, dword [edx]
mov ebx, dword [edx + 4]
add edx, 0x10
faddp st(1)
fld qword [edi + eax*8]
fmul qword [ecx + edi]
mov edi, dword [esp + 0x54]
add edi, 4
faddp st(1)
mov dword [esp + 0x54], edi
fld qword [esi + eax*8]
fmul qword [ecx + esi]
mov esi, dword [esp + 0x1c]
add esi, 4
cmp edi, eax
faddp st(1)
fld qword [ebx + eax*8]
mov dword [esp + 0x1c], esi
fmul qword [ecx + ebx]
faddp st(1)
jl 0x42d1f4
cmp esi, eax
jge 0x42d254
mov edi, dword [esp + 0x30]
mov edx, dword [edi + esi*4]
fld qword [edx + eax*8]
inc esi
cmp esi, eax
fmul qword [edx + ecx]
faddp st(1)
jl 0x42d244
fmul qword [esp + 0x68]
mov edx, dword [esp + 0x30]
fxch st(1)
mov edx, dword [edx + eax*4]
fadd st(1)
add ecx, 8
fmul st(2)
fstp qword [ecx + edx - 8]
mov edx, dword [esp + 0x50]
dec edx
fstp st(0)
mov dword [esp + 0x50], edx
jne 0x42d130
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x50], edx
jmp 0x42d290
mov esi, dword [esp + 0x10]
xor edx, edx
cmp esi, 4
jl 0x42d34b
mov dword [esp + 0x54], 3
mov edi, dword [esp + 0x18]
mov edi, dword [edi + eax*4]
fld qword [edi + edx*8]
mov esi, dword [ecx]
mov ebx, dword [esp + 0x44]
mov ebx, dword [ebx + ecx]
fmul qword [ebx + eax*8]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x44]
lea esi, [esi + edx*8]
fsubr qword [esi]
fstp qword [esi]
mov edi, dword [edi + eax*4]
fld qword [edi + edx*8 + 8]
mov ebx, dword [ebx + ecx]
fmul qword [ebx + eax*8]
mov esi, dword [ecx]
mov edi, dword [esp + 0x44]
lea esi, [esi + edx*8 + 8]
fsubr qword [esi]
fstp qword [esi]
mov esi, dword [ecx]
mov edi, dword [edi + ecx]
lea esi, [esi + edx*8 + 0x10]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x18]
mov esi, dword [esi + eax*4]
fld qword [esi + edx*8 + 0x10]
mov esi, dword [esp + 0x5c]
fmul qword [edi + eax*8]
mov edi, dword [esp + 0x44]
fsubr qword [esi]
fstp qword [esi]
mov esi, dword [ecx]
mov edi, dword [edi + ecx]
lea esi, [esi + edx*8 + 0x18]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x18]
mov esi, dword [esi + eax*4]
fld qword [esi + edx*8 + 0x18]
mov esi, dword [esp + 0x5c]
fmul qword [edi + eax*8]
mov edi, dword [esp + 0x10]
add edx, 4
fsubr qword [esi]
fstp qword [esi]
mov esi, dword [esp + 0x54]
add esi, 4
cmp esi, edi
mov dword [esp + 0x54], esi
jl 0x42d2a7
cmp edx, dword [esp + 0x10]
jge 0x42d377
mov edi, dword [esp + 0x18]
mov edi, dword [edi + eax*4]
mov ebx, dword [esp + 0x44]
fld qword [edi + edx*8]
mov ebx, dword [ebx + ecx]
mov esi, dword [ecx]
fmul qword [ebx + eax*8]
lea esi, [esi + edx*8]
inc edx
fsubr qword [esi]
fstp qword [esi]
mov esi, dword [esp + 0x10]
cmp edx, esi
jl 0x42d351
mov edx, dword [esp + 0x50]
add ecx, 4
dec edx
mov dword [esp + 0x50], edx
jne 0x42d290
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
lea ecx, [ecx]
mov ecx, dword [edx]
fld qword [ecx + eax*8]
xor ecx, ecx
cmp edi, 4
fstp qword [esp + 0x60]
jl 0x42d422
mov dword [esp + 0x54], 3
mov ebx, dword [esi + eax*4]
fld qword [esp + 0x60]
fmul qword [ebx + ecx*8]
mov edi, dword [edx]
lea edi, [edi + ecx*8]
fsubr qword [edi]
fstp qword [edi]
mov ebx, dword [esi + eax*4]
mov edi, dword [edx]
fld qword [esp + 0x60]
fmul qword [ebx + ecx*8 + 8]
lea edi, [edi + ecx*8 + 8]
fsubr qword [edi]
fstp qword [edi]
mov ebx, dword [esi + eax*4]
mov edi, dword [edx]
fld qword [esp + 0x60]
fmul qword [ebx + ecx*8 + 0x10]
lea edi, [edi + ecx*8 + 0x10]
fsubr qword [edi]
fstp qword [edi]
mov ebx, dword [esi + eax*4]
fld qword [esp + 0x60]
mov edi, dword [edx]
fmul qword [ebx + ecx*8 + 0x18]
mov ebx, dword [esp + 0x14]
lea edi, [edi + ecx*8 + 0x18]
add ecx, 4
fsubr qword [edi]
fstp qword [edi]
mov edi, dword [esp + 0x54]
add edi, 4
cmp edi, ebx
mov dword [esp + 0x54], edi
jl 0x42d3b8
mov edi, ebx
cmp ecx, edi
jge 0x42d442
mov ebx, dword [esi + eax*4]
fld qword [esp + 0x60]
fmul qword [ebx + ecx*8]
mov edi, dword [edx]
lea edi, [edi + ecx*8]
inc ecx
fsubr qword [edi]
fstp qword [edi]
mov edi, dword [esp + 0x14]
cmp ecx, edi
jl 0x42d426
mov ecx, dword [esp + 0x50]
add edx, 4
dec ecx
mov dword [esp + 0x50], ecx
jne 0x42d3a0
test eax, eax
jle 0x42d644
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x30]
sub esi, ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x48], eax
mov edi, edi
mov edi, dword [esp + 0x10]
xor edx, edx
cmp edi, 4
jl 0x42d533
mov dword [esp + 0x54], 3
mov ebx, dword [esi + ecx]
mov edi, dword [ecx]
lea edi, [edi + edx*8]
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x18]
mov edi, dword [edi + eax*4]
fld qword [edi + edx*8]
mov edi, dword [esp + 0x50]
fmul qword [ebx + eax*8]
fsubr qword [edi]
fstp qword [edi]
mov ebx, dword [esi + ecx]
mov edi, dword [ecx]
lea edi, [edi + edx*8 + 8]
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x18]
mov edi, dword [edi + eax*4]
fld qword [edi + edx*8 + 8]
mov edi, dword [esp + 0x5c]
fmul qword [ebx + eax*8]
fsubr qword [edi]
fstp qword [edi]
mov edi, dword [ecx]
mov esi, dword [esi + ecx]
lea edi, [edi + edx*8 + 0x10]
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x18]
mov edi, dword [edi + eax*4]
fld qword [edi + edx*8 + 0x10]
mov edi, dword [esp + 0x34]
fmul qword [esi + eax*8]
mov esi, dword [esp + 0x5c]
fsubr qword [esi]
fstp qword [esi]
mov esi, dword [ecx]
mov edi, dword [edi + ecx]
lea esi, [esi + edx*8 + 0x18]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x18]
mov esi, dword [esi + eax*4]
fld qword [esi + edx*8 + 0x18]
mov esi, dword [esp + 0x5c]
fmul qword [edi + eax*8]
mov edi, dword [esp + 0x10]
add edx, 4
fsubr qword [esi]
fstp qword [esi]
mov esi, dword [esp + 0x54]
add esi, 4
mov dword [esp + 0x54], esi
cmp esi, edi
mov esi, dword [esp + 0x34]
jl 0x42d487
cmp edx, dword [esp + 0x10]
jge 0x42d56a
lea esp, [esp]
mov edi, dword [ecx]
mov ebx, dword [esi + ecx]
lea edi, [edi + edx*8]
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x18]
mov edi, dword [edi + eax*4]
fld qword [edi + edx*8]
mov edi, dword [esp + 0x50]
fmul qword [ebx + eax*8]
inc edx
fsubr qword [edi]
fstp qword [edi]
mov edi, dword [esp + 0x10]
cmp edx, edi
jl 0x42d540
mov edx, dword [esp + 0x48]
add ecx, 4
dec edx
mov dword [esp + 0x48], edx
jne 0x42d470
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
mov edx, esi
mov dword [esp + 0x50], eax
lea ebx, [ebx]
mov ecx, dword [edx]
fld qword [ecx + eax*8]
xor ecx, ecx
cmp edi, 4
fstp qword [esp + 0x60]
jl 0x42d612
mov dword [esp + 0x54], 3
mov ebx, dword [esi + eax*4]
fld qword [esp + 0x60]
fmul qword [ebx + ecx*8]
mov edi, dword [edx]
lea edi, [edi + ecx*8]
fsubr qword [edi]
fstp qword [edi]
mov ebx, dword [esi + eax*4]
mov edi, dword [edx]
fld qword [esp + 0x60]
fmul qword [ebx + ecx*8 + 8]
lea edi, [edi + ecx*8 + 8]
fsubr qword [edi]
fstp qword [edi]
mov ebx, dword [esi + eax*4]
mov edi, dword [edx]
fld qword [esp + 0x60]
fmul qword [ebx + ecx*8 + 0x10]
lea edi, [edi + ecx*8 + 0x10]
fsubr qword [edi]
fstp qword [edi]
mov ebx, dword [esi + eax*4]
fld qword [esp + 0x60]
mov edi, dword [edx]
fmul qword [ebx + ecx*8 + 0x18]
mov ebx, dword [esp + 0x14]
lea edi, [edi + ecx*8 + 0x18]
add ecx, 4
fsubr qword [edi]
fstp qword [edi]
mov edi, dword [esp + 0x54]
add edi, 4
cmp edi, ebx
mov dword [esp + 0x54], edi
jl 0x42d5a8
mov edi, ebx
cmp ecx, edi
jge 0x42d632
mov ebx, dword [esi + eax*4]
fld qword [esp + 0x60]
fmul qword [ebx + ecx*8]
mov edi, dword [edx]
lea edi, [edi + ecx*8]
inc ecx
fsubr qword [edi]
fstp qword [edi]
mov edi, dword [esp + 0x14]
cmp ecx, edi
jl 0x42d616
mov ecx, dword [esp + 0x50]
add edx, 4
dec ecx
mov dword [esp + 0x50], ecx
jne 0x42d590
mov ecx, dword [esp + 0x14]
inc eax
cmp eax, ecx
jl 0x42cdc4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
sub eax, 0
je 0x42d97e
dec eax
je 0x42d672
mov eax, dword [edx + 0x3c]
mov ebx, dword [esp + 0x20]
mov dword [eax + ebx*4], ebx
jmp 0x42ddcb
mov eax, dword [esp + 0x10]
test eax, eax
mov edx, dword [edx + 0x3c]
mov dword [esp + 0x34], edx
je 0x42dffe
mov ecx, eax
cmp dword [esp + 0x20], ecx
jge 0x42dffe
test edx, edx
je 0x42dffe
xor eax, eax
jmp 0x42d6a0
mov esi, dword [esp + 0x20]
xor ecx, ecx
test esi, esi
jle 0x42d6be
lea ebx, [ebx]
cmp eax, dword [edx + ecx*4]
je 0x42d951
inc ecx
cmp ecx, esi
jl 0x42d6b0
cmp eax, 0xffffffff
je 0x42dffe
mov ebx, dword [esp + 0x14]
fld qword [0x479a20]
fld qword [0x479a20]
xor esi, esi
cmp ebx, 4
mov dword [esp + 0x1c], esi
jl 0x42d794
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add edx, 8
mov dword [esp + 0x50], 3
add ecx, 0x10
mov esi, dword [edx - 8]
fld qword [ecx - 0x10]
fmul qword [esi + eax*8]
mov ebx, dword [edx]
mov edi, dword [edx - 4]
lea esi, [esi + eax*8]
faddp st(2)
lea ebx, [ebx + eax*8]
fld qword [ecx - 8]
mov dword [esp + 0x54], ebx
fmul qword [edi + eax*8]
mov ebx, dword [edx + 4]
lea edi, [edi + eax*8]
lea ebx, [ebx + eax*8]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x54]
faddp st(2)
fld qword [ebx]
mov ebx, dword [esp + 0x5c]
fmul qword [ecx]
add ecx, 0x20
add edx, 0x10
faddp st(2)
fld qword [ecx - 0x18]
fmul qword [ebx]
faddp st(2)
fld qword [esi]
mov esi, dword [esp + 0x54]
fld qword [edi]
mov edi, dword [esp + 0x50]
fld qword [esi]
mov esi, dword [esp + 0x1c]
fld qword [ebx]
mov ebx, dword [esp + 0x14]
fld st(3)
add edi, 4
fmul st(4)
add esi, 4
cmp edi, ebx
mov dword [esp + 0x1c], esi
faddp st(5)
mov dword [esp + 0x50], edi
fld st(2)
fmul st(3)
faddp st(5)
fld st(1)
fmul st(2)
faddp st(5)
fld st(0)
fmul st(1)
faddp st(5)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jl 0x42d6fc
cmp esi, ebx
jge 0x42d7c4
jmp 0x42d7a0
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + esi*4]
mov edx, dword [esp + 0x24]
fld qword [edx + esi*8]
lea ecx, [ecx + eax*8]
fmul qword [ecx]
inc esi
cmp esi, ebx
faddp st(2)
fld qword [ecx]
fld st(0)
fmul st(1)
faddp st(2)
fstp st(0)
jl 0x42d7a0
mov ecx, dword [ebp + 8]
fld st(1)
mov ecx, dword [ecx + 0x30]
fmul st(2)
fxch st(1)
lea edi, [eax + 1]
fmul qword [esp + 0x68]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x2c], edi
faddp st(1)
fmul qword [ecx + eax*8]
cmp edi, dword [esp + 0x10]
fstp qword [esp + 0x70]
fstp st(0)
jge 0x42dd8f
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x34]
lea edx, [edi*8]
jmp 0x42d810
mov eax, dword [esp + 0x20]
test eax, eax
je 0x42d834
test esi, esi
je 0x42d834
xor eax, eax
cmp dword [esp + 0x20], eax
jle 0x42d834
cmp edi, dword [esi + eax*4]
je 0x42d965
inc eax
cmp eax, dword [esp + 0x20]
jl 0x42d824
fld qword [0x479a20]
xor esi, esi
cmp ebx, 4
fld qword [0x479a20]
mov dword [esp + 0x1c], esi
jl 0x42d8fd
mov eax, dword [esp + 0x24]
add ecx, 8
mov dword [esp + 0x50], 3
add eax, 0x10
mov esi, dword [ecx - 8]
fld qword [eax - 0x10]
fmul qword [esi + edx]
mov ebx, dword [ecx]
mov edi, dword [ecx - 4]
add esi, edx
faddp st(2)
add ebx, edx
fld qword [eax - 8]
mov dword [esp + 0x54], ebx
fmul qword [edi + edx]
mov ebx, dword [ecx + 4]
add edi, edx
add ebx, edx
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x54]
faddp st(2)
fld qword [ebx]
mov ebx, dword [esp + 0x5c]
fmul qword [eax]
add eax, 0x20
add ecx, 0x10
faddp st(2)
fld qword [eax - 0x18]
fmul qword [ebx]
faddp st(2)
fld qword [esi]
mov esi, dword [esp + 0x54]
fld qword [edi]
mov edi, dword [esp + 0x50]
fld qword [esi]
mov esi, dword [esp + 0x1c]
fld qword [ebx]
mov ebx, dword [esp + 0x14]
fld st(3)
add edi, 4
fmul st(4)
add esi, 4
cmp edi, ebx
mov dword [esp + 0x1c], esi
faddp st(5)
mov dword [esp + 0x50], edi
fld st(2)
fmul st(3)
faddp st(5)
fld st(1)
fmul st(2)
faddp st(5)
fld st(0)
fmul st(1)
faddp st(5)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jl 0x42d861
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
cmp esi, ebx
jge 0x42d925
mov edi, dword [esp + 0x24]
mov eax, dword [ecx + esi*4]
fld qword [edi + esi*8]
fmul qword [eax + edx]
add eax, edx
inc esi
cmp esi, ebx
faddp st(2)
fld qword [eax]
fld st(0)
fmul st(1)
faddp st(2)
fstp st(0)
jl 0x42d905
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x48]
fld st(1)
mov esi, dword [esp + 0x34]
fmulp st(2)
fmul qword [esp + 0x68]
faddp st(1)
fmul qword [eax + edx]
fld qword [esp + 0x70]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x42d963
fstp qword [esp + 0x70]
mov dword [esp + 0x4c], edi
jmp 0x42d965
mov ecx, dword [esp + 0x10]
inc eax
cmp eax, ecx
jl 0x42d6a0
jmp 0x42dffe
fstp st(0)
mov eax, dword [esp + 0x10]
inc edi
add edx, 8
cmp edi, eax
mov dword [esp + 0x2c], edi
jl 0x42d810
jmp 0x42dd8f
mov eax, dword [esp + 0x10]
test eax, eax
mov edx, dword [edx + 0x3c]
mov dword [esp + 0x34], edx
je 0x42dffe
mov ecx, eax
cmp dword [esp + 0x20], ecx
jge 0x42dffe
test edx, edx
je 0x42dffe
xor ecx, ecx
mov dword [esp + 0x50], ecx
jmp 0x42d9b0
mov esi, dword [esp + 0x20]
xor eax, eax
test esi, esi
jle 0x42d9ce
lea ebx, [ebx]
cmp ecx, dword [edx + eax*4]
je 0x42dd40
inc eax
cmp eax, esi
jl 0x42d9c0
cmp ecx, 0xffffffff
je 0x42dffe
cmp ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
jge 0x42dd8f
mov edx, dword [esp + 0x50]
lea eax, [edx*8]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x44]
cmp ecx, dword [esp + 0x50]
je 0x42da2e
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x42da2e
mov eax, dword [esp + 0x34]
test eax, eax
je 0x42da2e
xor eax, eax
test ecx, ecx
jle 0x42da2e
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
cmp edx, dword [ecx + eax*4]
je 0x42dd6f
mov ecx, dword [esp + 0x20]
inc eax
cmp eax, ecx
jl 0x42da14
mov eax, dword [esp + 0x14]
fld qword [0x479a20]
test eax, eax
mov dword [esp + 0x1c], 0
jle 0x42dbea
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
mov ecx, dword [esp + 0x44]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], edx
lea ecx, [ecx]
mov eax, dword [esp + 0x20]
fld qword [0x479a20]
test eax, eax
jle 0x42db3c
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x5c], eax
mov edi, edi
mov eax, dword [esp + 0x14]
fld qword [0x479a20]
xor esi, esi
cmp eax, 4
jl 0x42daed
mov edx, dword [ecx]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
shl edx, 3
add ecx, 0x10
mov edi, 3
add eax, 8
mov ebx, dword [eax - 8]
fld qword [ebx + edx]
mov ebx, dword [eax - 4]
fmul qword [ecx - 0x10]
add edi, 4
add esi, 4
add eax, 0x10
faddp st(1)
add ecx, 0x20
fld qword [ebx + edx]
mov ebx, dword [eax - 0x10]
fmul qword [ecx - 0x28]
faddp st(1)
fld qword [edx + ebx]
mov ebx, dword [eax - 0xc]
fmul qword [ecx - 0x20]
faddp st(1)
fld qword [ebx + edx]
mov ebx, dword [esp + 0x14]
cmp edi, ebx
fmul qword [ecx - 0x18]
faddp st(1)
jl 0x42daa9
mov ecx, dword [esp + 0x2c]
cmp esi, dword [esp + 0x14]
jge 0x42db14
mov eax, dword [ecx]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
shl eax, 3
mov ebx, dword [edx + esi*4]
fld qword [ebx + eax]
mov ebx, dword [esp + 0x14]
fmul qword [edi + esi*8]
inc esi
cmp esi, ebx
faddp st(1)
jl 0x42db00
mov edx, dword [ecx]
mov eax, dword [esp + 0x60]
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x1c]
fmul qword [edx + eax*8]
mov eax, dword [esp + 0x5c]
add ecx, 4
dec eax
faddp st(1)
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x5c], eax
jne 0x42da80
mov eax, dword [esp + 0x14]
fld qword [0x479a20]
mov edx, dword [esp + 0x48]
xor esi, esi
cmp eax, 4
jl 0x42dba6
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
add ecx, 0x10
mov edi, 3
add eax, 8
mov ebx, dword [eax - 8]
fld qword [ebx + edx]
mov ebx, dword [eax - 4]
fmul qword [ecx - 0x10]
add edi, 4
add esi, 4
add eax, 0x10
faddp st(1)
add ecx, 0x20
fld qword [ebx + edx]
mov ebx, dword [eax - 0x10]
fmul qword [ecx - 0x28]
faddp st(1)
fld qword [edx + ebx]
mov ebx, dword [eax - 0xc]
fmul qword [ecx - 0x20]
faddp st(1)
fld qword [ebx + edx]
mov ebx, dword [esp + 0x14]
cmp edi, ebx
fmul qword [ecx - 0x18]
faddp st(1)
jl 0x42db64
mov eax, ebx
cmp esi, eax
jge 0x42dbc8
lea ebx, [ebx]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + esi*4]
fld qword [ecx + edx]
mov ecx, dword [esp + 0x24]
fmul qword [ecx + esi*8]
inc esi
cmp esi, eax
faddp st(1)
jl 0x42dbb0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x54]
fmul qword [edx + ecx*8]
inc ecx
cmp ecx, eax
mov dword [esp + 0x1c], ecx
faddp st(1)
fld st(0)
fmul st(1)
faddp st(2)
fstp st(0)
jl 0x42da60
mov eax, dword [esp + 0x14]
fld qword [0x479a20]
xor ecx, ecx
test eax, eax
jle 0x42dd26
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x2c]
mov edx, dword [esp + 0x44]
mov eax, dword [esi + edx*4]
mov dword [esp + 0x54], eax
nop
mov dword [esp + 0x1c], 0
jmp 0x42dc20
mov eax, dword [esp + 0x20]
fld qword [0x479a20]
test eax, eax
jle 0x42dce7
xor ebx, ebx
cmp eax, 4
mov dword [esp + 0x2c], ebx
jl 0x42dcae
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov edx, dword [edx + eax*4]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x5c], 3
add eax, 8
mov edi, dword [eax - 8]
mov ebx, dword [esi + edi*4]
fld qword [ebx + ecx*8]
add eax, 0x10
fmul qword [edx + edi*8]
mov edi, dword [eax - 0x14]
mov ebx, dword [esi + edi*4]
faddp st(1)
fld qword [ebx + ecx*8]
fmul qword [edx + edi*8]
mov edi, dword [eax - 0x10]
mov ebx, dword [esi + edi*4]
faddp st(1)
fld qword [ebx + ecx*8]
fmul qword [edx + edi*8]
mov edi, dword [eax - 0xc]
mov ebx, dword [esi + edi*4]
faddp st(1)
fld qword [ebx + ecx*8]
mov ebx, dword [esp + 0x2c]
fmul qword [edx + edi*8]
mov edi, dword [esp + 0x5c]
add edi, 4
add ebx, 4
cmp edi, dword [esp + 0x20]
faddp st(1)
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x5c], edi
jl 0x42dc57
mov edx, dword [esp + 0x20]
cmp ebx, edx
jge 0x42dce7
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
lea edi, [eax + ebx*4]
sub edx, ebx
mov edi, edi
mov eax, dword [edi]
mov ebx, dword [esi + eax*4]
fld qword [ebx + ecx*8]
mov ebx, dword [esp + 0x60]
fmul qword [ebx + eax*8]
add edi, 4
dec edx
faddp st(1)
jne 0x42dcd0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov edx, dword [edx + eax*4]
mov edi, dword [esp + 0x48]
fld qword [edx + edi]
mov edx, dword [esp + 0x54]
fmul qword [edx + ecx*8]
mov edx, dword [esp + 0x14]
inc eax
cmp eax, edx
faddp st(1)
mov dword [esp + 0x1c], eax
fld st(0)
fmul st(1)
faddp st(2)
fstp st(0)
jl 0x42dc20
inc ecx
mov eax, edx
cmp ecx, eax
jl 0x42dc10
fmul qword [esp + 0x68]
mov ecx, dword [esp + 0x44]
cmp ecx, dword [esp + 0x50]
faddp st(1)
jne 0x42dd56
fstp qword [esp + 0x70]
mov dword [esp + 0x4c], ecx
jmp 0x42dd6f
mov eax, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x50], ecx
jl 0x42d9b0
jmp 0x42dffe
fld qword [esp + 0x70]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x42dd6d
fstp qword [esp + 0x70]
mov dword [esp + 0x4c], ecx
jmp 0x42dd6f
fstp st(0)
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
inc eax
add edx, 8
cmp eax, ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
jl 0x42d9f4
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x42ddb9
xor ecx, ecx
test eax, eax
jle 0x42ddb9
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
cmp dword [edx], eax
je 0x42dffe
mov eax, dword [esp + 0x20]
inc ecx
add edx, 4
cmp ecx, eax
jl 0x42dda1
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x20]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp + 8]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
xor eax, eax
test ebx, ebx
mov dword [esp + 0x2c], eax
jl 0x42dec3
fld qword [0x479a20]
xor ecx, ecx
cmp edi, 4
mov dword [esp + 0x1c], ecx
jl 0x42de77
mov ecx, dword [edx + 0x3c]
mov edi, dword [ecx + eax*4]
mov eax, dword [esp + 0x18]
shl edi, 3
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], 3
lea ecx, [esi + 0x10]
add eax, 8
jmp 0x42de1b
mov edi, dword [esp + 0x60]
mov ebx, dword [eax - 8]
fld qword [ebx + edi]
mov ebx, dword [eax - 4]
fmul qword [ecx - 0x10]
add eax, 0x10
add ecx, 0x20
faddp st(1)
fld qword [ebx + edi]
mov ebx, dword [eax - 0x10]
fmul qword [ecx - 0x28]
faddp st(1)
fld qword [edi + ebx]
mov ebx, dword [eax - 0xc]
fmul qword [ecx - 0x20]
faddp st(1)
fld qword [ebx + edi]
mov ebx, dword [esp + 0x1c]
fmul qword [ecx - 0x18]
mov edi, dword [esp + 0x14]
add ebx, 4
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x5c]
add ebx, 4
cmp ebx, edi
faddp st(1)
mov dword [esp + 0x5c], ebx
jl 0x42de17
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp ecx, edi
jge 0x42dea0
mov edi, dword [edx + 0x3c]
mov eax, dword [edi + eax*4]
shl eax, 3
mov edi, dword [esp + 0x18]
mov edi, dword [edi + ecx*4]
fld qword [edi + eax]
mov edi, dword [esp + 0x14]
fmul qword [esi + ecx*8]
inc ecx
cmp ecx, edi
faddp st(1)
jl 0x42de84
mov eax, dword [esp + 0x2c]
mov ecx, dword [edx + 0x3c]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x40]
fadd qword [ecx + eax*8]
lea eax, [ecx + eax*8]
fstp qword [eax]
mov eax, dword [esp + 0x2c]
inc eax
cmp eax, ebx
mov dword [esp + 0x2c], eax
jle 0x42dde1
test edi, edi
jle 0x42dfcb
xor eax, eax
mov dword [esp + 0x54], edi
mov ecx, dword [edx + 0x14]
mov edi, dword [eax + ecx]
mov dword [eax + esi], edi
mov ecx, dword [eax + ecx + 4]
mov dword [eax + esi + 4], ecx
lea edi, [ebx + 1]
xor ecx, ecx
cmp edi, 4
jl 0x42df84
mov dword [esp + 0x5c], 3
mov edi, dword [edx + 0x3c]
mov edi, dword [edi + ecx*4]
mov ebx, dword [edx + 0x2c]
mov ebx, dword [ebx + edi*4]
fld qword [ebx + eax]
mov ebx, dword [esp + 0x40]
fmul qword [ebx + edi*8]
add ecx, 4
fsubr qword [eax + esi]
fst qword [eax + esi]
mov edi, dword [edx + 0x3c]
mov edi, dword [edi + ecx*4 - 0xc]
mov ebx, dword [edx + 0x2c]
mov ebx, dword [ebx + edi*4]
fld qword [ebx + eax]
mov ebx, dword [esp + 0x40]
fmul qword [ebx + edi*8]
fsubp st(1)
fst qword [eax + esi]
mov edi, dword [edx + 0x3c]
mov edi, dword [edi + ecx*4 - 8]
mov ebx, dword [edx + 0x2c]
mov ebx, dword [ebx + edi*4]
fld qword [ebx + eax]
mov ebx, dword [esp + 0x40]
fmul qword [ebx + edi*8]
fsubp st(1)
fst qword [eax + esi]
mov edi, dword [edx + 0x3c]
mov edi, dword [edi + ecx*4 - 4]
mov ebx, dword [edx + 0x2c]
mov ebx, dword [ebx + edi*4]
fld qword [ebx + eax]
mov ebx, dword [esp + 0x40]
fmul qword [ebx + edi*8]
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x20]
add edi, 4
cmp edi, ebx
fsubr st(1)
mov dword [esp + 0x5c], edi
fstp qword [eax + esi]
fstp st(0)
jl 0x42def8
cmp ecx, ebx
mov edi, dword [esp + 0x14]
jg 0x42dfb9
lea esp, [esp]
mov edi, dword [edx + 0x3c]
mov edi, dword [edi + ecx*4]
mov ebx, dword [edx + 0x2c]
mov ebx, dword [ebx + edi*4]
fld qword [ebx + eax]
mov ebx, dword [esp + 0x40]
fmul qword [ebx + edi*8]
mov ebx, dword [esp + 0x20]
inc ecx
cmp ecx, ebx
fsubr qword [eax + esi]
fstp qword [eax + esi]
jle 0x42df90
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
add eax, 8
dec ecx
mov dword [esp + 0x54], ecx
jne 0x42ded1
fld qword [esp + 0x68]
xor ecx, ecx
test edi, edi
fsqrt
fmul qword [esp + 0x78]
fstp qword [esp + 0x60]
jle 0x42dff9
nop
fld qword [esi + ecx*8]
fabs
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 0x41
je 0x42e0c5
inc ecx
cmp ecx, edi
jl 0x42dfe0
inc ebx
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x20]
mov eax, dword [ebp + 8]
xor ecx, ecx
cmp edx, ecx
mov dword [eax + 0x40], edx
jle 0x42e0e4
mov edx, dword [esp + 0x40]
mov esi, dword [eax + 0x3c]
mov esi, dword [esi + ecx*4]
mov ebx, dword [edx + esi*8]
mov edi, dword [eax + 0x38]
mov dword [edi + ecx*8], ebx
mov esi, dword [edx + esi*8 + 4]
mov dword [edi + ecx*8 + 4], esi
mov esi, dword [eax + 0x40]
inc ecx
cmp ecx, esi
jl 0x42e016
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
xor edx, edx
cmp edi, 4
mov dword [eax + 0x48], edx
mov dword [eax + 0x4c], edx
jl 0x42e098
mov esi, 3
lea ecx, [ebx + 0x10]
fld qword [ecx - 0x10]
add esi, 4
fld st(0)
add edx, 4
fmulp st(1)
add ecx, 0x20
cmp esi, edi
fadd qword [eax + 0x48]
fst qword [eax + 0x48]
fld qword [ecx - 0x28]
fld st(0)
fmul st(1)
faddp st(2)
fstp st(0)
fst qword [eax + 0x48]
fld qword [ecx - 0x20]
fld st(0)
fmul st(1)
faddp st(2)
fstp st(0)
fst qword [eax + 0x48]
fld qword [ecx - 0x18]
fld st(0)
fmul st(1)
fadd st(2)
fstp qword [eax + 0x48]
fstp st(0)
fstp st(0)
jl 0x42e052
cmp edx, edi
jge 0x42e0b4
lea esp, [esp]
fld qword [ebx + edx*8]
inc edx
cmp edx, edi
fld st(0)
fmul st(1)
fadd qword [eax + 0x48]
fstp qword [eax + 0x48]
fstp st(0)
jl 0x42e0a0
fld qword [esp + 0x80]
fmul qword [eax + 0x48]
fsqrt
fstp qword [eax + 0x48]
jmp 0x42e0ec
mov eax, dword [esp + 0x10]
inc ebx
cmp ebx, eax
mov dword [esp + 0x20], ebx
jge 0x42dffe
mov ebx, dword [esp + 0x14]
mov esi, dword [ebp + 8]
mov edi, eax
jmp 0x42cac4
mov edi, dword [esp + 0x14]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x38]
test eax, eax
je 0x42e0fd
push eax
call fcn.0046f594
add esp, 4
mov eax, dword [esp + 0x3c]
test eax, eax
mov ebx, dword [esp + 0x10]
je 0x42e132
xor esi, esi
test ebx, ebx
jle 0x42e125
nop
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + esi*4]
push eax
call fcn.0046f594
add esp, 4
inc esi
cmp esi, ebx
jl 0x42e110
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0046f594
add esp, 4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x42e162
xor esi, esi
test ebx, ebx
jle 0x42e155
mov edx, dword [esp + 0x28]
mov eax, dword [edx + esi*4]
push eax
call fcn.0046f594
add esp, 4
inc esi
cmp esi, ebx
jl 0x42e140
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0046f594
add esp, 4
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x42e18a
xor esi, esi
test edi, edi
jle 0x42e181
mov edx, dword [ebx + esi*4]
push edx
call fcn.0046f594
add esp, 4
inc esi
cmp esi, edi
jl 0x42e170
push ebx
call fcn.0046f594
add esp, 4
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x42e1ba
xor esi, esi
test edi, edi
jle 0x42e1b1
jmp 0x42e1a0
mov eax, dword [ebx + esi*4]
push eax
call fcn.0046f594
add esp, 4
inc esi
cmp esi, edi
jl 0x42e1a0
push ebx
call fcn.0046f594
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x42e1cd
mov ecx, eax
push ecx
call fcn.0046f594
add esp, 4
mov eax, dword [esp + 0x24]
test eax, eax
je 0x42e1e0
mov edx, eax
push edx
call fcn.0046f594
add esp, 4
mov eax, dword [esp + 0x58]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret