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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4e460f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd4
push ebx
push esi
push edi
xor ebx, ebx
push 0x20
mov dword [esp + 0xec], 1
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x40], ebx
call fcn.004bb163
add esp, 4
mov dword [esp + 0x9c], eax
cmp eax, ebx
mov byte [esp + 0xe8], 2
je 0x48055c
push 0x1f4
push 0x1f4
mov ecx, eax
call fcn.004824c0
jmp 0x48055e
xor eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ebx
push 0x20
mov byte [esp + 0xec], 3
call fcn.004bb163
add esp, 4
mov dword [esp + 0x9c], eax
cmp eax, ebx
mov byte [esp + 0xe8], 4
je 0x4805a8
push 0x1f4
push 0x1f4
mov ecx, eax
call fcn.004824c0
jmp 0x4805aa
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
push 0x20
mov byte [esp + 0xec], 5
call fcn.004bb163
add esp, 4
mov dword [esp + 0x9c], eax
cmp eax, ebx
mov byte [esp + 0xe8], 6
je 0x4805ea
push 0x1f4
push 0x1f4
mov ecx, eax
call fcn.004824c0
jmp 0x4805ec
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
mov esi, dword [ebp + 0x24]
mov byte [esp + 0xe8], 7
mov ecx, esi
call fcn.00486610
mov ecx, esi
call fcn.00486180
mov eax, dword [0x5180a4]
mov edx, dword [esp + 0x10]
mov ecx, dword [0x51809c]
add eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0xc]
lea esi, [eax*8]
lea eax, [esi + edx - 1]
push eax
call fcn.0047f880
mov dword [eax], ebx
xor edi, edi
cmp esi, ebx
mov dword [eax + 4], ebx
jle 0x480660
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
add eax, edi
push eax
call fcn.0047f880
mov dword [eax], ebx
inc edi
cmp edi, esi
mov dword [eax + 4], ebx
jl 0x480646
mov dword [esp + 0x80], ebx
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x50]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0xc133446c
lea eax, [ecx + edi - 1]
mov ecx, dword [esp + 0x14]
push eax
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0x4133446c
call fcn.0047f880
xor ebx, ebx
xor esi, esi
mov dword [eax], ebx
cmp edi, ebx
mov dword [eax + 4], ebx
jle 0x4806d1
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea eax, [edx + esi]
push eax
call fcn.0047f880
mov dword [eax], ebx
inc esi
cmp esi, edi
mov dword [eax + 4], ebx
jl 0x4806b6
mov esi, dword [ebp + 0x1c]
mov eax, dword [0x518078]
lea ecx, [esp + 0xc8]
push ebx
or edi, 0xffffffff
push ecx
mov ecx, esi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x70], ebx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], eax
call fcn.004861e0
cmp dword [eax], ebx
je 0x48074e
mov ecx, esi
call fcn.00486300
mov edx, dword [ebp + 0x10]
mov esi, eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi]
mov dword [esp + 0x54], eax
add eax, edx
push eax
call fcn.0047f880
fld qword [eax]
fld st(0)
call fcn.004a3514
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fxch st(1)
fcompp
fnstsw ax
test ah, 0x40
je 0x481f5d
mov eax, dword [esi + 4]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 8]
mov ebx, edi
mov ecx, dword [eax + 8]
mov dword [eax + 0x10], ecx
xor ecx, ecx
mov dword [eax + 0x14], ecx
mov eax, dword [0x5180a8]
cmp eax, ecx
mov dword [esp + 0x58], ecx
jl 0x481802
mov ecx, dword [ebp + 8]
call fcn.00486300
mov ecx, dword [esp + 0x80]
sub ecx, 0
je 0x4807a1
dec ecx
je 0x480799
dec ecx
jne 0x4807ae
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
jmp 0x4807ae
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
jmp 0x4807a6
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x58]
add eax, ecx
mov ecx, dword [ebp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x1c]
mov edx, dword [eax]
fcomp qword [esp + 0xa4]
mov eax, dword [eax + 4]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
fnstsw ax
test ah, 1
je 0x4807fb
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
fld qword [esp + 0x1c]
fcomp qword [esp + 0xbc]
fnstsw ax
test ah, 0x41
jne 0x480823
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
fld qword [esp + 0x8c]
call fcn.004a3514
mov edi, eax
mov dword [esp + 0x40], edi
fild dword [esp + 0x40]
fsubr qword [esp + 0x8c]
fst qword [esp + 0x5c]
fcomp qword [0x4e7b30]
fnstsw ax
test ah, 0x40
je 0x4811cc
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
lea eax, [edx + edi]
push eax
mov dword [esp + 0x50], eax
call fcn.0047f880
mov ecx, dword [eax]
inc ebx
fld qword [0x4e7f50]
mov edx, dword [eax + 4]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
cmp edi, ebx
fsub qword [esp + 0x34]
lea esi, [edi + edi]
fstp qword [esp + 0x6c]
jle 0x480a3d
cmp esi, 2
jne 0x480938
mov eax, dword [0x51807c]
test eax, eax
je 0x4808b2
mov eax, dword [0x51809c]
mov dword [esp + 0x88], eax
jmp 0x480a3d
mov eax, dword [esp + 0x28]
test eax, eax
je 0x480a3d
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 4]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
mov dword [eax], 0
mov ebx, 0x3ff00000
mov dword [eax + 4], ebx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edx + 5]
push eax
call fcn.0047f880
mov dword [eax], 0
mov dword [eax + 4], 0xbff00000
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
add eax, 0xd
push eax
call fcn.0047f880
mov dword [eax], 0
mov dword [eax + 4], ebx
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0xe]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
mov dword [eax], 0
mov dword [eax + 4], 0xbff00000
jmp 0x480a3d
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4809e5
xor edi, edi
mov edx, dword [esp + 0x10]
lea eax, [edx + esi*8]
add eax, edi
push eax
lea ecx, [eax - 6]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
call fcn.0047f880
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x2c]
push edx
mov ebx, eax
call fcn.0047f880
mov ecx, dword [eax]
inc edi
mov dword [ebx], ecx
cmp edi, 4
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
jl 0x480946
xor ebx, ebx
xor edi, edi
mov eax, dword [esp + 0x10]
lea ecx, [eax + esi*8]
lea eax, [ecx + edi - 8]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
mov dword [eax], ebx
inc edi
cmp edi, 8
mov dword [eax + 4], ebx
jl 0x48098b
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edx + esi*8 - 3]
push eax
call fcn.0047f880
mov dword [eax], ebx
mov dword [eax + 4], 0x3ff00000
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [eax + esi*8 - 2]
push eax
call fcn.0047f880
mov edi, dword [esp + 0x40]
mov dword [eax], ebx
mov dword [eax + 4], 0xbff00000
mov ecx, dword [esp + 0x18]
lea eax, [ecx + esi]
mov ecx, dword [esp + 0x14]
push eax
mov dword [esp + 0x30], ecx
lea edx, [eax - 1]
mov dword [esp + 0x80], edx
call fcn.0047f880
mov ecx, dword [esp + 0x2c]
mov ebx, eax
mov eax, dword [esp + 0x7c]
push eax
call fcn.0047f880
mov ecx, dword [eax]
mov dword [ebx], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea eax, [eax + esi - 1]
push eax
call fcn.0047f880
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [0x5180a4]
lea ebx, [edi + 1]
cmp ebx, eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x7c], ebx
jl 0x480a62
mov eax, dword [0x51807c]
test eax, eax
je 0x480a62
mov dword [esp + 0x7c], 0
mov ecx, dword [esp + 0x4c]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.0047f880
fld qword [eax]
fcomp qword [0x4e7b30]
fnstsw ax
test ah, 1
je 0x480ae3
mov eax, dword [esp + 0x28]
test eax, eax
je 0x480ac5
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edx + esi*8 + 4]
push eax
call fcn.0047f880
mov dword [eax], 0
mov ebx, 0x3ff00000
mov dword [eax + 4], ebx
mov ecx, dword [esp + 0x10]
lea eax, [edi + edi + 1]
lea eax, [ecx + eax*8 + 5]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
mov dword [eax], 0
mov dword [eax + 4], ebx
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea eax, [edx + esi]
push eax
call fcn.0047f880
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
jmp 0x480d1d
mov edx, dword [esp + 0x48]
xor ecx, ecx
cmp edi, edx
mov dword [esp + 0x3c], 0
sete cl
test ecx, ecx
mov dword [esp + 0xa0], ecx
je 0x480b0b
mov eax, dword [esp + 0x68]
mov dword [esp + 0x3c], eax
jmp 0x480b48
cmp ebx, dword [0x5180a4]
jge 0x480b38
mov ecx, dword [ebp + 0x18]
lea eax, [ecx + ebx]
mov ecx, dword [ebp + 0x14]
push eax
call fcn.0047f880
fld qword [eax]
fcomp qword [0x4e7b30]
fnstsw ax
test ah, 1
je 0x480b38
mov eax, 1
jmp 0x480b3a
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0xa0], ecx
xor eax, eax
test ecx, ecx
sete al
test eax, eax
je 0x480ba5
lea eax, [edi - 1]
test eax, eax
jge 0x480b71
mov edx, dword [0x51807c]
test edx, edx
je 0x480b6d
mov edx, dword [0x5180a4]
lea eax, [edx - 1]
test eax, eax
jl 0x480ba5
mov ecx, dword [ebp + 0x18]
add eax, ecx
mov ecx, dword [ebp + 0x14]
push eax
call fcn.0047f880
fld qword [eax]
fcomp qword [0x4e7b30]
fnstsw ax
test ah, 1
je 0x480b95
mov eax, 1
jmp 0x480b97
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0xa0], ecx
test ecx, ecx
je 0x480d41
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x480c90
test edi, edi
jne 0x480d41
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0xb4]
lea eax, [esp + 0xac]
push edx
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x60]
push ecx
push edx
push eax
sub esp, 8
lea edx, [ebp + 0xc]
mov ecx, esp
mov dword [esp + 0x58], esp
push edx
call fcn.004824f0
mov eax, dword [ebp + 8]
push eax
call fcn.0047dda0
add esp, 0x20
test eax, eax
jne 0x482027
mov eax, dword [esp + 0x28]
test eax, eax
je 0x480c48
mov ecx, dword [esp + 0x10]
lea eax, [ecx + esi*8 + 4]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
mov dword [eax], edi
mov ebx, 0x3ff00000
mov dword [eax + 4], ebx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edi + edi + 1]
lea eax, [edx + eax*8 + 5]
push eax
call fcn.0047f880
mov dword [eax], edi
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add eax, esi
push eax
call fcn.0047f880
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea eax, [eax + edi*2 + 1]
push eax
call fcn.0047f880
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb8]
jmp 0x480d3c
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebp + 0x14]
push eax
call fcn.0047f880
fld qword [eax]
fcomp qword [0x4e7b30]
fnstsw ax
test ah, 0x40
mov eax, dword [esp + 0x28]
je 0x480cdc
test eax, eax
je 0x480cd3
mov ecx, dword [esp + 0x10]
lea eax, [ecx + esi*8 + 4]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
mov dword [eax], 0
mov dword [eax + 4], 0x3ff00000
mov edx, dword [esp + 0x18]
lea eax, [edx + esi]
jmp 0x480d2a
test eax, eax
je 0x480d22
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea ebx, [edi + edi + 1]
lea eax, [eax + ebx*8 + 4]
push eax
call fcn.0047f880
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea ebx, [eax + ebx*8 + 5]
push ebx
call fcn.0047f880
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esp + 0x18]
lea eax, [eax + edi*2 + 1]
mov ecx, dword [esp + 0x14]
push eax
call fcn.0047f880
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esp + 0x48]
cmp edi, eax
jne 0x480dd6
mov ecx, dword [esp + 0x68]
mov ebx, dword [ebp + 0x1c]
mov dword [esp + 0x9c], ecx
mov ecx, ebx
mov dword [esp + 0x84], eax
mov dword [esp + 0x48], 0xffffffff
call fcn.004861a0
test eax, eax
je 0x480f2b
mov ecx, ebx
call fcn.00486300
mov edx, dword [ebp + 0x10]
mov ebx, eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebx]
mov dword [esp + 0x54], eax
add eax, edx
push eax
call fcn.0047f880
mov ecx, dword [eax]
mov dword [esp + 0x8c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x90], edx
fld qword [esp + 0x8c]
call fcn.004a3514
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fcomp qword [esp + 0x8c]
fnstsw ax
test ah, 0x40
je 0x4820cc
mov eax, dword [ebx + 4]
mov dword [esp + 0x68], eax
mov ebx, dword [ebp + 0x1c]
mov edx, dword [esp + 0xa0]
xor eax, eax
test edx, edx
sete al
test eax, eax
je 0x480edc
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebp + 0x14]
push eax
call fcn.0047f880
fld qword [eax]
fcomp qword [0x4e7b30]
fnstsw ax
test ah, 1
jne 0x480edc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x480ea0
mov ecx, dword [esp + 0x10]
lea eax, [ecx + esi*8 + 4]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x6c]
fmul qword [esp + 0x6c]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edx + esi*8 + 5]
push eax
call fcn.0047f880
fld qword [esp + 0x6c]
fmul qword [esp + 0x34]
lea ebx, [edi + edi + 1]
fst qword [esp + 0x94]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ebx*8 + 4]
push eax
call fcn.0047f880
fld qword [esp + 0x94]
fadd qword [eax]
fstp qword [eax]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + ebx*8 + 5]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x34]
fmul qword [esp + 0x34]
mov ebx, dword [ebp + 0x1c]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add esi, edx
push esi
call fcn.0047f880
fld qword [esp + 0x6c]
fmul qword [esp + 0x1c]
lea edi, [edi + edi + 1]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add eax, edi
push eax
call fcn.0047f880
fld qword [esp + 0x34]
fmul qword [esp + 0x1c]
fadd qword [eax]
fstp qword [eax]
mov edi, dword [ebx + 0x10]
mov ecx, dword [0x518078]
xor eax, eax
mov dword [esp + 0x3c], ecx
test edi, edi
sete al
xor edx, edx
test eax, eax
setne dl
mov eax, edx
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
je 0x481001
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x5180a8]
mov esi, dword [esp + 0x58]
cmp eax, edx
jne 0x480f6a
cmp esi, ecx
jge 0x480f6a
mov eax, 1
jmp 0x480f6c
mov eax, dword [0x51807c]
test eax, eax
je 0x480dd9
mov ecx, dword [ebx + 8]
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], ecx
mov ecx, ebx
call fcn.00486300
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x54], ecx
jne 0x480dd9
mov edx, dword [eax + 4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x68], edx
jmp 0x480dd9
xor eax, eax
xor ebx, ebx
test eax, eax
setne bl
mov eax, ebx
xor ebx, ebx
test eax, eax
sete bl
mov dword [esp + 0x3c], eax
mov eax, ebx
test eax, eax
je 0x481001
cmp esi, ecx
jge 0x481001
mov ebx, dword [esp + 0x2c]
lea edi, [ebx + 1]
cmp edi, edx
jne 0x481005
inc esi
cmp esi, ecx
jg 0x480fe8
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
lea eax, [edx + esi]
push eax
call fcn.0047f880
mov ecx, dword [eax]
mov dword [esp + 0x8c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x90], edx
fld qword [esp + 0x8c]
call fcn.004a3514
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fcomp qword [esp + 0x8c]
fnstsw ax
test ah, 0x40
jne 0x480fe8
mov eax, dword [0x5180a8]
inc esi
cmp esi, eax
jle 0x480f9a
fld qword [esp + 0x8c]
call fcn.004a3514
xor ecx, ecx
cmp eax, edi
sete cl
mov dword [esp + 0x3c], ecx
jmp 0x481005
mov ebx, dword [esp + 0x2c]
cmp ebx, dword [0x5180a4]
jge 0x4817df
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
lea eax, [edx + ebx]
push eax
call fcn.0047f880
fld qword [eax]
fcomp qword [0x4e7b30]
fnstsw ax
test ah, 1
jne 0x4817df
mov ecx, dword [esp + 0x3c]
xor esi, esi
test ecx, ecx
je 0x481043
mov esi, dword [esp + 0x68]
jmp 0x481073
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebp + 0x14]
push eax
call fcn.0047f880
fld qword [eax]
fcomp qword [0x4e7b30]
fnstsw ax
test ah, 1
je 0x481066
mov eax, 1
jmp 0x481068
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x3c], ecx
xor eax, eax
test ecx, ecx
sete al
test eax, eax
je 0x4810cc
mov edx, dword [0x5180a4]
lea eax, [ebx + 1]
cmp eax, edx
jl 0x48109b
mov edi, dword [0x51807c]
test edi, edi
je 0x481097
xor eax, eax
cmp eax, edx
jge 0x4810cc
mov ecx, dword [ebp + 0x18]
add eax, ecx
mov ecx, dword [ebp + 0x14]
push eax
call fcn.0047f880
fld qword [eax]
fcomp qword [0x4e7b30]
fnstsw ax
test ah, 1
je 0x4810bf
mov eax, 1
jmp 0x4810c1
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x4817df
test esi, esi
je 0x4817df
mov eax, dword [esp + 0x7c]
mov edx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x14]
lea esi, [eax + eax + 1]
add eax, edx
push eax
mov ecx, edi
call fcn.0047f880
mov edx, dword [esp + 0x80]
lea eax, [esp + 0xb4]
lea ecx, [esp + 0xac]
push eax
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
push eax
push ecx
sub esp, 8
lea edx, [ebp + 0xc]
mov ecx, esp
mov dword [esp + 0x68], esp
push edx
call fcn.004824f0
mov eax, dword [ebp + 8]
push eax
call fcn.0047dda0
add esp, 0x20
test eax, eax
jne 0x4821b4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x48117f
mov ecx, dword [esp + 0x10]
lea eax, [ecx + esi*8 - 4]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
mov dword [eax], 0
mov edi, 0x3ff00000
mov dword [eax + 4], edi
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edx + esi*8 + 5]
push eax
call fcn.0047f880
mov dword [eax], 0
mov dword [eax + 4], edi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea eax, [eax + esi - 1]
push eax
call fcn.0047f880
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add eax, esi
push eax
call fcn.0047f880
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb8]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x4817df
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x40]
lea ebx, [eax + ecx]
mov ecx, dword [ebp + 0x14]
push ebx
call fcn.0047f880
fld qword [eax]
fcomp qword [0x4e7b30]
fnstsw ax
test ah, 1
jne 0x4817df
mov edx, dword [ebp + 0x18]
mov eax, dword [esp + 0x7c]
mov ecx, dword [ebp + 0x14]
add eax, edx
push eax
mov dword [esp + 0x50], eax
call fcn.0047f880
fld qword [eax]
fcomp qword [0x4e7b30]
fnstsw ax
test ah, 1
jne 0x4817df
fld qword [esp + 0x5c]
fmul qword [esp + 0x5c]
mov esi, dword [ebp + 0x14]
push ebx
mov ecx, esi
fstp qword [esp + 0x30]
fld qword [0x4e7f50]
fsub qword [esp + 0x60]
fst qword [esp + 0x78]
fmul qword [esp + 0x78]
fstp qword [esp + 0x98]
call fcn.0047f880
fld qword [0x4e7f50]
fsub qword [eax]
push ebx
mov ecx, esi
fmul qword [esp + 0x98]
fmul qword [esp + 0x78]
fstp qword [esp + 0x70]
call fcn.0047f880
fld qword [esp + 0x74]
fmul qword [eax]
fld qword [esp + 0x5c]
fmul qword [0x4ef438]
mov edi, dword [esp + 0x4c]
mov ecx, esi
push edi
faddp st(1)
fmul qword [esp + 0x98]
fstp qword [esp + 0x38]
call fcn.0047f880
fld qword [0x4e7f50]
fsub qword [eax]
push edi
mov ecx, esi
fmul qword [esp + 0x60]
fld qword [esp + 0x78]
fmul qword [0x4ef438]
faddp st(1)
fmul qword [esp + 0x30]
fstp qword [esp + 0x78]
call fcn.0047f880
fld qword [esp + 0x2c]
fmul qword [eax]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x84]
fmul qword [esp + 0x5c]
cmp ecx, eax
lea esi, [ecx + ecx + 1]
lea edi, [edx + edx + 1]
fstp qword [esp + 0x5c]
jne 0x481469
mov eax, dword [esp + 0x9c]
test eax, eax
jne 0x4815a5
mov ecx, dword [ebp + 0x14]
push ebx
call fcn.0047f880
fld qword [eax]
fcomp qword [0x4e7b30]
fnstsw ax
test ah, 0x40
je 0x48139e
mov eax, dword [esp + 0x28]
test eax, eax
je 0x481393
mov ecx, dword [esp + 0x10]
lea eax, [ecx + esi*8 + 4]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x6c]
fmul qword [esp + 0x34]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edx + esi*8 + 5]
push eax
call fcn.0047f880
fld qword [esp + 0x34]
fmul qword [esp + 0x34]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [eax + esi*8 + 6]
push eax
call fcn.0047f880
fld qword [esp + 0x74]
fmul qword [esp + 0x34]
fadd qword [eax]
fstp qword [eax]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + esi*8 + 7]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x5c]
fmul qword [esp + 0x34]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x18]
add esi, edx
jmp 0x48158f
mov ecx, dword [ebp + 0x14]
push ebx
call fcn.0047f880
mov ecx, dword [ebp + 0x14]
push ebx
mov dword [esp + 0x30], eax
call fcn.0047f880
fld qword [0x4e7f50]
fsub qword [eax]
mov eax, dword [esp + 0x2c]
fmul qword [esp + 0x34]
fdiv qword [eax]
mov eax, dword [esp + 0x28]
test eax, eax
fsubr qword [esp + 0x6c]
fstp qword [esp + 0x2c]
je 0x48144e
mov ecx, dword [esp + 0x10]
lea eax, [ecx + esi*8 - 4]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x2c]
fmul qword [esp + 0x6c]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edx + esi*8 - 3]
push eax
call fcn.0047f880
fld qword [esp + 0x2c]
fmul qword [esp + 0x34]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [eax + esi*8 - 2]
push eax
call fcn.0047f880
fld qword [esp + 0x2c]
fmul qword [esp + 0x74]
fadd qword [eax]
fstp qword [eax]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + esi*8 - 1]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x2c]
fmul qword [esp + 0x5c]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea esi, [edx + esi - 1]
push esi
call fcn.0047f880
fld qword [esp + 0x2c]
jmp 0x48159d
mov eax, dword [esp + 0x28]
test eax, eax
je 0x48156b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [eax + esi*8 - 4]
push eax
call fcn.0047f880
fld qword [esp + 0x6c]
fmul qword [esp + 0x6c]
fadd qword [eax]
fstp qword [eax]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + esi*8 - 3]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x6c]
fmul qword [esp + 0x34]
fst qword [esp + 0x94]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edx + esi*8 - 2]
push eax
call fcn.0047f880
fld qword [esp + 0x74]
fmul qword [esp + 0x6c]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [eax + esi*8 - 1]
push eax
call fcn.0047f880
fld qword [esp + 0x5c]
fmul qword [esp + 0x6c]
fadd qword [eax]
fstp qword [eax]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + esi*8 + 4]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x94]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edx + esi*8 + 5]
push eax
call fcn.0047f880
fld qword [esp + 0x34]
fmul qword [esp + 0x34]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [eax + esi*8 + 6]
push eax
call fcn.0047f880
fld qword [esp + 0x74]
fmul qword [esp + 0x34]
fadd qword [eax]
fstp qword [eax]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + esi*8 + 7]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x5c]
fmul qword [esp + 0x34]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea eax, [edx + esi - 1]
push eax
call fcn.0047f880
fld qword [esp + 0x6c]
fmul qword [esp + 0x1c]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x18]
add esi, eax
mov ecx, dword [esp + 0x14]
push esi
call fcn.0047f880
fld qword [esp + 0x34]
fmul qword [esp + 0x1c]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4816a3
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x4817df
mov ebx, dword [esp + 0x4c]
mov esi, dword [ebp + 0x14]
push ebx
mov ecx, esi
call fcn.0047f880
fld qword [eax]
fcomp qword [0x4e7b30]
fnstsw ax
test ah, 0x41
jne 0x4822a0
push ebx
mov ecx, esi
call fcn.0047f880
mov ecx, dword [ebp + 0x14]
push ebx
mov esi, eax
call fcn.0047f880
fld qword [0x4e7f50]
fsub qword [eax]
mov eax, dword [esp + 0x28]
test eax, eax
fmul qword [esp + 0x5c]
fdiv qword [esi]
fsubr qword [esp + 0x74]
fstp qword [esp + 0x2c]
je 0x481688
mov ecx, dword [esp + 0x10]
lea eax, [ecx + edi*8 - 6]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x2c]
fmul qword [esp + 0x6c]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edx + edi*8 - 5]
push eax
call fcn.0047f880
fld qword [esp + 0x2c]
fmul qword [esp + 0x34]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [eax + edi*8 - 4]
push eax
call fcn.0047f880
fld qword [esp + 0x2c]
fmul qword [esp + 0x74]
fadd qword [eax]
fstp qword [eax]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + edi*8 - 3]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x2c]
fmul qword [esp + 0x5c]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea edi, [edx + edi - 1]
push edi
call fcn.0047f880
fld qword [esp + 0x2c]
jmp 0x4817d7
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4817a5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [eax + edi*8 - 6]
push eax
call fcn.0047f880
fld qword [esp + 0x74]
fmul qword [esp + 0x6c]
fadd qword [eax]
fstp qword [eax]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + edi*8 - 5]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x74]
fmul qword [esp + 0x34]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edx + edi*8 - 4]
push eax
call fcn.0047f880
fld qword [esp + 0x74]
fmul qword [esp + 0x74]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [eax + edi*8 - 3]
push eax
call fcn.0047f880
fld qword [esp + 0x74]
fmul qword [esp + 0x5c]
fst qword [esp + 0x94]
fadd qword [eax]
fstp qword [eax]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + edi*8 + 2]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x5c]
fmul qword [esp + 0x6c]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edx + edi*8 + 3]
push eax
call fcn.0047f880
fld qword [esp + 0x5c]
fmul qword [esp + 0x34]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [eax + edi*8 + 4]
push eax
call fcn.0047f880
fld qword [esp + 0x94]
fadd qword [eax]
fstp qword [eax]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + edi*8 + 5]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
fld qword [esp + 0x5c]
fmul qword [esp + 0x5c]
fadd qword [eax]
fstp qword [eax]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea eax, [edx + edi - 1]
push eax
call fcn.0047f880
fld qword [esp + 0x74]
fmul qword [esp + 0x1c]
fadd qword [eax]
fstp qword [eax]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add edi, eax
push edi
call fcn.0047f880
fld qword [esp + 0x5c]
fmul qword [esp + 0x1c]
fadd qword [eax]
fstp qword [eax]
mov ecx, dword [ebp + 8]
mov ebx, dword [esp + 0x40]
call fcn.004861a0
mov eax, dword [esp + 0x58]
mov ecx, dword [0x5180a8]
inc eax
cmp eax, ecx
mov dword [esp + 0x58], eax
jle 0x48076f
mov eax, dword [esp + 0x88]
xor ebx, ebx
cmp eax, ebx
je 0x4818e4
cmp dword [esp + 0x28], ebx
je 0x4818a4
xor esi, esi
mov ecx, dword [esp + 0x10]
lea eax, [ecx + esi + 0x10]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edi, eax
lea eax, [edx + esi + 0xa]
push eax
call fcn.0047f880
fld qword [eax]
fadd qword [edi]
inc esi
cmp esi, 4
fstp qword [edi]
jl 0x48181f
xor esi, esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [eax + esi + 8]
push eax
call fcn.0047f880
mov dword [eax], ebx
inc esi
cmp esi, 8
mov dword [eax + 4], ebx
jl 0x481853
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0xd]
mov ecx, dword [esp + 0xc]
push eax
call fcn.0047f880
mov dword [eax], ebx
mov dword [eax + 4], 0x3ff00000
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [edx + 0xe]
push eax
call fcn.0047f880
mov dword [eax], ebx
mov dword [eax + 4], 0xbff00000
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add eax, 2
push eax
call fcn.0047f880
mov ecx, dword [esp + 0x18]
mov esi, eax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x14]
push eax
call fcn.0047f880
fld qword [eax]
fadd qword [esi]
fstp qword [esi]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea eax, [edx + 1]
push eax
call fcn.0047f880
mov dword [eax], ebx
mov dword [eax + 4], ebx
cmp dword [0x5180a0], ebx
je 0x481975
cmp dword [0x518098], ebx
je 0x481975
mov eax, dword [esp + 0x28]
test eax, eax
je 0x481975
mov esi, dword [esp + 0x50]
push esi
push str.spline_least_sqrs__Matrix_of_coefficients_for__d_equations_n
call fcn.0047c2b0
add esp, 8
xor ebx, ebx
test esi, esi
jle 0x481975
xor esi, esi
lea edi, [ebx*8]
cmp esi, 6
jne 0x481933
push str._n
call fcn.0047c2b0
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
add eax, esi
add eax, edi
push eax
call fcn.0047f880
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
push str._12.4f
call fcn.0047c2b0
add esp, 0xc
inc esi
cmp esi, 8
jl 0x481921
push 0x50a5a4
call fcn.0047c2b0
mov eax, dword [esp + 0x54]
add esp, 4
inc ebx
cmp ebx, eax
jl 0x481918
fld qword [0x4f1f98]
fadd qword [esp + 0xa4]
fcomp qword [esp + 0xbc]
fnstsw ax
test ah, 1
je 0x481b7f
mov eax, dword [0x5180a0]
test eax, eax
je 0x481a17
mov eax, dword [0x518098]
test eax, eax
je 0x481a17
mov eax, dword [esp + 0x80]
push eax
push str.__Right_hand_sides_for_coordinate__d
call fcn.0047c2b0
mov edi, dword [esp + 0x58]
add esp, 8
xor esi, esi
test edi, edi
jle 0x481a0a
mov eax, esi
mov ecx, 6
cdq
idiv ecx
test edx, edx
jne 0x4819e0
push 0x50a5a4
call fcn.0047c2b0
add esp, 4
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea eax, [edx + esi]
push eax
call fcn.0047f880
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
push str._12.4f
call fcn.0047c2b0
add esp, 0xc
inc esi
cmp esi, edi
jl 0x4819c5
push 0x50a5a4
call fcn.0047c2b0
add esp, 4
mov eax, dword [0x51807c]
test eax, eax
je 0x481a8d
mov edi, dword [esp + 0x44]
sub esp, 8
mov eax, esp
mov dword [esp + 0x90], esp
mov dword [eax], edi
mov ebx, dword [edi + 0x1c]
inc ebx
mov dword [edi + 0x1c], ebx
mov dword [eax + 4], 0
sub esp, 8
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x94], esp
push eax
mov byte [esp + 0xfc], 8
call fcn.004824f0
sub esp, 8
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x6c], esp
push edx
mov byte [esp + 0x104], 9
call fcn.004824f0
mov eax, dword [esp + 0x68]
mov byte [esp + 0x100], 7
push eax
call fcn.00498a30
jmp 0x481af8
mov edi, dword [esp + 0x44]
sub esp, 8
mov eax, esp
mov dword [esp + 0x90], esp
mov dword [eax], edi
mov edx, dword [edi + 0x1c]
inc edx
mov dword [edi + 0x1c], edx
mov dword [eax + 4], 0
sub esp, 8
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x94], esp
push edx
mov byte [esp + 0xfc], 0xa
call fcn.004824f0
sub esp, 8
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x6c], esp
push eax
mov byte [esp + 0x104], 0xb
call fcn.004824f0
mov ecx, dword [esp + 0x68]
mov byte [esp + 0x100], 7
push ecx
call fcn.00498180
add esp, 0x1c
test eax, eax
jne 0x4823b2
mov eax, dword [0x5180a0]
test eax, eax
je 0x481baf
mov eax, dword [0x518098]
test eax, eax
je 0x481baf
push str.__Solutions
call fcn.0047c2b0
mov ebx, dword [esp + 0x54]
add esp, 4
xor esi, esi
test ebx, ebx
jle 0x481b70
mov eax, esi
mov ecx, 6
cdq
idiv ecx
test edx, edx
jne 0x481b4f
push 0x50a5a4
call fcn.0047c2b0
add esp, 4
push esi
mov ecx, edi
call fcn.0047f880
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
push str._12.4f
call fcn.0047c2b0
add esp, 0xc
inc esi
cmp esi, ebx
jl 0x481b34
push 0x50a5a4
call fcn.0047c2b0
add esp, 4
jmp 0x481baf
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x44]
xor esi, esi
test eax, eax
jle 0x481baf
mov ebx, eax
push esi
mov ecx, edi
call fcn.0047f880
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
mov dword [eax], ecx
inc esi
cmp esi, ebx
mov dword [eax + 4], edx
jl 0x481b8f
mov edx, dword [esp + 0x28]
xor esi, esi
xor eax, eax
cmp edx, esi
sete al
cmp eax, esi
je 0x481bcc
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 8]
mov dword [eax + 0x14], esi
mov dword [eax + 0x10], ecx
mov eax, dword [ebp + 0x20]
xor ebx, ebx
cmp eax, esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x40], esi
mov dword [esp + 0x58], esi
jle 0x481e02
cmp ebx, 0xffffffff
je 0x481ce2
test ebx, ebx
je 0x481c4f
cmp ebx, 1
jne 0x481d53
mov eax, dword [edi + 4]
inc esi
cmp esi, eax
jl 0x481c3d
lea edx, [esi + 1]
lea eax, [esp + 0xd0]
push edx
push eax
mov ecx, edi
call fcn.00497f60
mov edx, dword [eax]
xor ecx, ecx
test edx, edx
sete cl
mov eax, ecx
xor edx, edx
test eax, eax
setne dl
mov eax, edx
test eax, eax
je 0x481c3d
mov eax, dword [edi + 0x14]
mov dword [edi + 0x18], 0xc
jmp 0x481d46
cmp esi, dword [edi]
jl 0x481d3b
lea eax, [esi + 1]
mov dword [edi], eax
jmp 0x481d3b
mov eax, dword [ebp + 0x20]
mov ecx, dword [esp + 0x58]
dec eax
cmp ecx, eax
jne 0x481c6c
mov eax, dword [0x51807c]
test eax, eax
je 0x481c6c
mov dword [esp + 0x40], 0
mov ecx, dword [ebp + 0x18]
mov edx, dword [esp + 0x40]
push esi
lea ebx, [ecx + edx]
mov ecx, edi
call fcn.0047f880
mov ecx, dword [ebp + 0x14]
push ebx
mov dword [esp + 0x8c], eax
call fcn.0047f880
mov dword [esp + 0x4c], eax
lea eax, [esi + 1]
push eax
mov ecx, edi
call fcn.0047f880
mov ecx, dword [ebp + 0x14]
push ebx
mov dword [esp + 0x88], eax
call fcn.0047f880
fld qword [0x4e7f50]
fsub qword [eax]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x54]
fmul qword [eax]
fld qword [ecx]
fmul qword [edx]
mov eax, dword [esp + 0x40]
inc eax
faddp st(1)
mov dword [esp + 0x40], eax
fstp qword [esp + 0x1c]
jmp 0x481d53
mov eax, dword [esp + 0x50]
inc esi
cmp esi, eax
jl 0x481cf6
mov eax, dword [0x51807c]
test eax, eax
je 0x481cf6
xor esi, esi
cmp esi, dword [edi + 4]
jl 0x481d32
lea eax, [esi + 1]
lea ecx, [esp + 0xd4]
push eax
push ecx
mov ecx, edi
call fcn.00497f60
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
sete dl
mov eax, edx
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
test eax, eax
je 0x481d32
mov eax, dword [edi + 0x14]
mov dword [edi + 0x18], 0xc
jmp 0x481d46
cmp esi, dword [edi]
jl 0x481d3b
lea edx, [esi + 1]
mov dword [edi], edx
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0x10]
imul eax, esi
add eax, ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x28]
test eax, eax
je 0x481d9b
push 0x18
call fcn.004bb163
add esp, 4
test eax, eax
je 0x481d86
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
jmp 0x481d88
xor eax, eax
mov ecx, dword [ebp + 0x24]
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.00486410
jmp 0x481ddd
mov ecx, dword [ebp + 0x24]
call fcn.00486300
cmp dword [esp + 0x80], 1
jne 0x481dbd
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp 0x481dd5
cmp dword [esp + 0x80], 2
jne 0x481dd5
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov ecx, dword [ebp + 0x24]
call fcn.004861a0
inc ebx
cmp ebx, 1
mov dword [esp + 0x54], ebx
jle 0x481dee
or ebx, 0xffffffff
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0x58]
mov ecx, dword [ebp + 0x20]
inc eax
cmp eax, ecx
mov dword [esp + 0x58], eax
jl 0x481be5
mov eax, dword [0x518078]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x80]
inc eax
cmp eax, 3
mov dword [esp + 0x80], eax
jl 0x480667
mov ecx, dword [esp + 0x14]
mov byte [esp + 0xe8], 5
mov edx, dword [ecx + 0x1c]
lea eax, [ecx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x481e61
mov esi, dword [esp + 0x14]
test esi, esi
je 0x481e61
mov eax, dword [esi + 0x14]
push eax
call fcn.004bb18c
mov eax, dword [esi + 0x10]
push eax
call fcn.004bb18c
push esi
call fcn.004bb18c
add esp, 0xc
mov edx, dword [esp + 0xc]
mov byte [esp + 0xe8], 3
lea eax, [edx + 0x1c]
mov edx, dword [edx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x481e9f
mov esi, dword [esp + 0xc]
test esi, esi
je 0x481e9f
mov eax, dword [esi + 0x14]
push eax
call fcn.004bb18c
mov eax, dword [esi + 0x10]
push eax
call fcn.004bb18c
push esi
call fcn.004bb18c
add esp, 0xc
mov ecx, dword [edi + 0x1c]
mov byte [esp + 0xe8], 1
dec ecx
mov eax, ecx
mov dword [edi + 0x1c], ecx
test eax, eax
jne 0x481ed3
test edi, edi
je 0x481ed3
mov eax, dword [edi + 0x14]
push eax
call fcn.004bb18c
mov eax, dword [edi + 0x10]
push eax
call fcn.004bb18c
push edi
call fcn.004bb18c
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov byte [esp + 0xe8], 0
add eax, 0x1c
mov edx, dword [eax]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x481f0e
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x481f0e
mov eax, dword [esi + 0x14]
push eax
call fcn.004bb18c
mov eax, dword [esi + 0x10]
push eax
call fcn.004bb18c
push esi
call fcn.004bb18c
add esp, 0xc
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xe8], 0xffffffff
mov ecx, dword [eax + 0x1c]
dec ecx
mov dword [eax + 0x1c], ecx
jne 0x481f46
test eax, eax
je 0x481f46
mov esi, eax
mov ecx, dword [esi + 0x14]
push ecx
call fcn.004bb18c
mov edx, dword [esi + 0x10]
push edx
call fcn.004bb18c
push esi
call fcn.004bb18c
add esp, 0xc
xor eax, eax
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.spline_least_sqrs__Unexpected_non_integral_parameter_at_held_point_n
call fcn.0047c2b0
mov ecx, dword [esp + 0x18]
add esp, 4
mov byte [esp + 0xe8], 5
mov edx, dword [ecx + 0x1c]
lea eax, [ecx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
cmp ecx, ebx
jne 0x481f94
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
je 0x481f94
push 1
call fcn.00482510
mov edx, dword [esp + 0xc]
mov byte [esp + 0xe8], 3
lea eax, [edx + 0x1c]
mov edx, dword [edx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
cmp ecx, ebx
jne 0x481fbe
mov ecx, dword [esp + 0xc]
cmp ecx, ebx
je 0x481fbe
push 1
call fcn.00482510
mov ecx, dword [esp + 0x44]
mov byte [esp + 0xe8], 1
mov edx, dword [ecx + 0x1c]
dec edx
mov eax, edx
mov dword [ecx + 0x1c], edx
cmp eax, ebx
jne 0x481fe2
cmp ecx, ebx
je 0x481fe2
push 1
call fcn.00482510
mov eax, dword [ebp + 0xc]
mov byte [esp + 0xe8], 0
add eax, 0x1c
mov edx, dword [eax]
dec edx
mov ecx, edx
mov dword [eax], edx
cmp ecx, ebx
jne 0x482009
mov ecx, dword [ebp + 0xc]
cmp ecx, ebx
je 0x482009
push 1
call fcn.00482510
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0xe8], edi
mov eax, dword [ecx + 0x1c]
dec eax
mov dword [ecx + 0x1c], eax
jne 0x48219a
cmp ecx, ebx
jmp 0x482191
mov ecx, dword [esp + 0x14]
mov byte [esp + 0xe8], 5
mov edx, dword [ecx + 0x1c]
lea eax, [ecx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x482051
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x482051
push 1
call fcn.00482510
mov edx, dword [esp + 0xc]
mov byte [esp + 0xe8], 3
lea eax, [edx + 0x1c]
mov edx, dword [edx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x48207b
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x48207b
push 1
call fcn.00482510
mov ecx, dword [esp + 0x44]
mov byte [esp + 0xe8], 1
mov edx, dword [ecx + 0x1c]
dec edx
mov eax, edx
mov dword [ecx + 0x1c], edx
test eax, eax
jne 0x48209f
test ecx, ecx
je 0x48209f
push 1
call fcn.00482510
mov eax, dword [ebp + 0xc]
mov byte [esp + 0xe8], 0
add eax, 0x1c
mov edx, dword [eax]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x482178
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x482178
jmp 0x482171
push str.spline_least_sqrs__Unexpected_non_integral_parameter_at_held_point_n
call fcn.0047c2b0
mov ecx, dword [esp + 0x18]
add esp, 4
mov byte [esp + 0xe8], 5
mov edx, dword [ecx + 0x1c]
lea eax, [ecx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x482103
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x482103
push 1
call fcn.00482510
mov edx, dword [esp + 0xc]
mov byte [esp + 0xe8], 3
lea eax, [edx + 0x1c]
mov edx, dword [edx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x48212d
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x48212d
push 1
call fcn.00482510
mov ecx, dword [esp + 0x44]
mov byte [esp + 0xe8], 1
mov edx, dword [ecx + 0x1c]
dec edx
mov eax, edx
mov dword [ecx + 0x1c], edx
test eax, eax
jne 0x482151
test ecx, ecx
je 0x482151
push 1
call fcn.00482510
mov eax, dword [ebp + 0xc]
mov byte [esp + 0xe8], 0
add eax, 0x1c
mov edx, dword [eax]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x482178
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x482178
push 1
call fcn.00482510
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0xe8], 0xffffffff
mov eax, dword [ecx + 0x1c]
dec eax
mov dword [ecx + 0x1c], eax
jne 0x48219a
test ecx, ecx
je 0x48219a
push 1
call fcn.00482510
mov eax, 1
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x14]
mov byte [esp + 0xe8], 5
mov edx, dword [ecx + 0x1c]
lea eax, [ecx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x4821e7
mov ecx, dword [esp + 0x14]
test ecx, ecx
mov esi, ecx
je 0x4821e7
call fcn.0047f860
push esi
call fcn.004bb18c
add esp, 4
mov edx, dword [esp + 0xc]
mov byte [esp + 0xe8], 3
lea eax, [edx + 0x1c]
mov edx, dword [edx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x48221a
mov ecx, dword [esp + 0xc]
test ecx, ecx
mov esi, ecx
je 0x48221a
call fcn.0047f860
push esi
call fcn.004bb18c
add esp, 4
mov ecx, dword [esp + 0x44]
mov byte [esp + 0xe8], 1
mov edx, dword [ecx + 0x1c]
dec edx
mov eax, edx
mov dword [ecx + 0x1c], edx
test eax, eax
jne 0x48223e
test ecx, ecx
je 0x48223e
push 1
call fcn.00482510
mov eax, dword [ebp + 0xc]
mov byte [esp + 0xe8], 0
add eax, 0x1c
mov edx, dword [eax]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x482265
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x482265
push 1
call fcn.00482510
mov eax, dword [edi + 0x1c]
mov dword [esp + 0xe8], 0xffffffff
dec eax
mov dword [edi + 0x1c], eax
jne 0x482286
test edi, edi
je 0x482286
push 1
mov ecx, edi
call fcn.00482510
mov eax, 1
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.spline_least_sqrs__Trying_to_divide_by_zero_dpir_n
call fcn.0047c2b0
mov ecx, dword [esp + 0x18]
add esp, 4
mov byte [esp + 0xe8], 5
mov edx, dword [ecx + 0x1c]
lea eax, [ecx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x4822e0
mov ecx, dword [esp + 0x14]
test ecx, ecx
mov edi, ecx
je 0x4822e0
call fcn.0047f860
push edi
call fcn.004bb18c
add esp, 4
mov edx, dword [esp + 0xc]
mov byte [esp + 0xe8], 3
lea eax, [edx + 0x1c]
mov edx, dword [edx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x482313
mov ecx, dword [esp + 0xc]
test ecx, ecx
mov edi, ecx
je 0x482313
call fcn.0047f860
push edi
call fcn.004bb18c
add esp, 4
mov edi, dword [esp + 0x44]
mov byte [esp + 0xe8], 1
mov ecx, dword [edi + 0x1c]
dec ecx
mov eax, ecx
mov dword [edi + 0x1c], ecx
test eax, eax
jne 0x482340
test edi, edi
je 0x482340
mov ecx, edi
call fcn.0047f860
push edi
call fcn.004bb18c
add esp, 4
mov eax, dword [ebp + 0xc]
mov byte [esp + 0xe8], 0
add eax, 0x1c
mov edx, dword [eax]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x482370
mov ecx, dword [ebp + 0xc]
test ecx, ecx
mov edi, ecx
je 0x482370
call fcn.0047f860
push edi
call fcn.004bb18c
add esp, 4
mov eax, dword [esi + 0x1c]
mov dword [esp + 0xe8], 0xffffffff
dec eax
mov dword [esi + 0x1c], eax
jne 0x482398
test esi, esi
je 0x482398
mov ecx, esi
call fcn.0047f860
push esi
call fcn.004bb18c
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x14]
mov byte [esp + 0xe8], 5
mov edx, dword [ecx + 0x1c]
lea eax, [ecx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x4823e5
mov ecx, dword [esp + 0x14]
test ecx, ecx
mov esi, ecx
je 0x4823e5
call fcn.0047f860
push esi
call fcn.004bb18c
add esp, 4
mov edx, dword [esp + 0xc]
mov byte [esp + 0xe8], 3
lea eax, [edx + 0x1c]
mov edx, dword [edx + 0x1c]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x482418
mov ecx, dword [esp + 0xc]
test ecx, ecx
mov esi, ecx
je 0x482418
call fcn.0047f860
push esi
call fcn.004bb18c
add esp, 4
mov ecx, dword [edi + 0x1c]
mov byte [esp + 0xe8], 1
dec ecx
mov eax, ecx
mov dword [edi + 0x1c], ecx
test eax, eax
jne 0x482441
test edi, edi
je 0x482441
mov ecx, edi
call fcn.0047f860
push edi
call fcn.004bb18c
add esp, 4
mov eax, dword [ebp + 0xc]
mov byte [esp + 0xe8], 0
add eax, 0x1c
mov edx, dword [eax]
dec edx
mov ecx, edx
mov dword [eax], edx
test ecx, ecx
jne 0x482471
mov ecx, dword [ebp + 0xc]
test ecx, ecx
mov esi, ecx
je 0x482471
call fcn.0047f860
push esi
call fcn.004bb18c
add esp, 4
mov esi, dword [ebp + 0x14]
mov dword [esp + 0xe8], 0xffffffff
mov eax, dword [esi + 0x1c]
dec eax
mov dword [esi + 0x1c], eax
jne 0x48249c
test esi, esi
je 0x48249c
mov ecx, esi
call fcn.0047f860
push esi
call fcn.004bb18c
add esp, 4
mov ecx, dword [esp + 0xe0]
pop edi
pop esi
mov eax, 2
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret