Function at 0x401150
Capabilities:
Enumerate pe sections
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x24a0
call fcn.00426540
mov esi, esp
mov dword [esi + 0x28], ebp
mov al, byte [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov ecx, esp
mov dword [esi + 0x248c], ecx
mov dword [esi + 0x2498], 0xffffffff
lea ecx, [esi + 0x2490]
mov dword [esi + 0x2494], 0x425b50
mov edx, dword fs:[0]
mov dword [esi + 0x2490], edx
mov dword fs:[0], ecx
and al, 1
mov byte [esi + 0x248b], al
lea ecx, [esi + 0x247c]
call fcn.00405fc0
mov dword [esi + 0x2478], 1
cmp dword [esi + 0x2478], 0xa
jg 0x40137b
mov dword [esi + 0x2474], 1
mov eax, dword [esi + 0x2474]
cmp eax, dword [esi + 0x2478]
jg 0x401367
mov dword [esi + 0x2470], 1
mov eax, dword [esi + 0x2470]
cmp eax, dword [esi + 0x2474]
jg 0x401353
mov dword [esi + 0x246c], 1
mov eax, dword [esi + 0x246c]
cmp eax, dword [esi + 0x2470]
jg 0x40133f
mov eax, dword [esi + 0x2478]
add eax, dword [esi + 0x2474]
add eax, dword [esi + 0x2470]
add eax, dword [esi + 0x246c]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x598]
movsd xmm0, qword [esi + 0x598]
movsd qword [esi + 0x3b0], xmm0
cvtsi2sd xmm0, dword [esi + 0x246c]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x3b0]
fstp qword [esi + 0x5a0]
movsd xmm1, qword [esi + 0x5a0]
subsd xmm0, xmm1
movsd qword [esi + 0x2460], xmm0
movsd xmm0, qword [esi + 0x2460]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x30
test al, 1
jne 0x40130e
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x2454]
mov dword [esi + 0x3ac], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x3ac]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
mov eax, esp
lea ecx, [esi + 0x2460]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x40132b
mov eax, dword [esi + 0x246c]
add eax, 1
mov dword [esi + 0x246c], eax
jmp 0x401210
mov eax, dword [esi + 0x2470]
add eax, 1
mov dword [esi + 0x2470], eax
jmp 0x4011f4
mov eax, dword [esi + 0x2474]
add eax, 1
mov dword [esi + 0x2474], eax
jmp 0x4011d8
mov eax, dword [esi + 0x2478]
add eax, 1
mov dword [esi + 0x2478], eax
jmp 0x4011c1
mov eax, esp
lea ecx, [esi + 0x2444]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x39c], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x39c]
mov eax, esp
lea edx, [esi + 0x2440]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x2440]
mov edx, dword [esi + 0x2444]
mov dword [esi + 0x2498], 0x30
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x5a8]
movsd xmm0, qword [esi + 0x5a8]
movsd qword [esi + 0x3a0], xmm0
jmp 0x4013fc
movsd xmm0, qword [esi + 0x3a0]
movsd qword [esi + 0x2448], xmm0
mov eax, esp
lea ecx, [esi + 0x2434]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x398], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x398]
mov eax, esp
lea edx, [esi + 0x2430]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x2430]
mov edx, dword [esi + 0x2434]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x2438]
mov dword [eax], ecx
call fcn.00406280
jmp 0x401625
lea ecx, [esi + 0x2420]
mov dword [esi + 0x390], ecx
call fcn.00406310
mov ecx, dword [esi + 0x390]
mov dword [esi + 0x2498], 1
call fcn.00406320
mov dword [esi + 0x394], eax
jmp 0x4014b1
mov ecx, dword [esi + 0x394]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0x1098]
call fcn.00406340
sub esp, 4
jmp 0x4014ce
mov dword [esi + 0x1094], 1
cmp dword [esi + 0x1094], 0xa
jg 0x4016bf
mov dword [esi + 0x1090], 1
mov eax, dword [esi + 0x1090]
cmp eax, dword [esi + 0x1094]
jg 0x4016ab
mov dword [esi + 0x108c], 1
mov eax, dword [esi + 0x108c]
cmp eax, dword [esi + 0x1090]
jg 0x401697
mov dword [esi + 0x1088], 1
mov eax, dword [esi + 0x1088]
cmp eax, dword [esi + 0x108c]
jg 0x401683
mov eax, dword [esi + 0x1094]
add eax, dword [esi + 0x1090]
add eax, dword [esi + 0x108c]
add eax, dword [esi + 0x1088]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x580]
movsd xmm0, qword [esi + 0x580]
movsd qword [esi + 0x388], xmm0
cvtsi2sd xmm0, dword [esi + 0x1088]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x388]
fstp qword [esi + 0x588]
movsd xmm1, qword [esi + 0x588]
subsd xmm0, xmm1
movsd qword [esi + 0x1080], xmm0
movsd xmm0, qword [esi + 0x1080]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x2e
test al, 1
jne 0x401652
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x1074]
mov dword [esi + 0x384], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x384]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0x2438]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0x242c], eax
lea eax, [esi + 0x2438]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0x2428], eax
jmp 0x401480
mov eax, esp
lea ecx, [esi + 0x1080]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x40166f
mov eax, dword [esi + 0x1088]
add eax, 1
mov dword [esi + 0x1088], eax
jmp 0x401527
mov eax, dword [esi + 0x108c]
add eax, 1
mov dword [esi + 0x108c], eax
jmp 0x40150b
mov eax, dword [esi + 0x1090]
add eax, 1
mov dword [esi + 0x1090], eax
jmp 0x4014ef
mov eax, dword [esi + 0x1094]
add eax, 1
mov dword [esi + 0x1094], eax
jmp 0x4014d8
mov eax, esp
lea ecx, [esi + 0x1064]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x374], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x374]
mov eax, esp
lea edx, [esi + 0x1060]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1060]
mov edx, dword [esi + 0x1064]
mov dword [esi + 0x2498], 0x2e
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x590]
movsd xmm0, qword [esi + 0x590]
movsd qword [esi + 0x378], xmm0
jmp 0x401740
movsd xmm0, qword [esi + 0x378]
movsd qword [esi + 0x1068], xmm0
mov eax, esp
lea ecx, [esi + 0x1054]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x370], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x370]
mov eax, esp
lea edx, [esi + 0x1050]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1050]
mov edx, dword [esi + 0x1054]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x1058]
mov dword [eax], ecx
call fcn.00406280
jmp 0x401b35
lea eax, [esi + 0xfd0]
mov dword [esi + 0x368], eax
mov dword [esi + 0xfcc], eax
mov dword [esi + 0x2498], 0x2d
lea ecx, [esi + 0xfc8]
call fcn.00406380
mov dword [esi + 0x36c], eax
jmp 0x4017f6
mov ecx, dword [esi + 0x36c]
call fcn.00406450
mov dword [esi + 0x364], eax
jmp 0x40180c
mov ecx, dword [esi + 0x368]
mov edx, dword [esi + 0x364]
mov eax, esp
mov dword [eax], edx
call fcn.00406470
sub esp, 4
jmp 0x401829
mov eax, dword [esi + 0x368]
add eax, 0x18
mov dword [esi + 0x35c], eax
mov dword [esi + 0xfcc], eax
lea ecx, [esi + 0xfc4]
call fcn.00406550
mov dword [esi + 0x360], eax
jmp 0x401854
mov ecx, dword [esi + 0x360]
call fcn.00406620
mov dword [esi + 0x358], eax
jmp 0x40186a
mov ecx, dword [esi + 0x35c]
mov edx, dword [esi + 0x358]
mov eax, esp
mov dword [eax], edx
call fcn.00406470
sub esp, 4
jmp 0x401887
mov eax, dword [esi + 0x35c]
add eax, 0x18
mov dword [esi + 0x350], eax
mov dword [esi + 0xfcc], eax
lea ecx, [esi + 0xfc0]
call fcn.00406640
mov dword [esi + 0x354], eax
jmp 0x4018b2
mov ecx, dword [esi + 0x354]
call fcn.00406710
mov dword [esi + 0x34c], eax
jmp 0x4018c8
mov ecx, dword [esi + 0x350]
mov edx, dword [esi + 0x34c]
mov eax, esp
mov dword [eax], edx
call fcn.00406470
sub esp, 4
jmp 0x4018e5
mov eax, dword [esi + 0x350]
add eax, 0x18
mov dword [esi + 0x344], eax
mov dword [esi + 0xfcc], eax
lea ecx, [esi + 0xfbc]
call fcn.00406730
mov dword [esi + 0x348], eax
jmp 0x401910
mov ecx, dword [esi + 0x348]
call fcn.00406800
mov dword [esi + 0x340], eax
jmp 0x401926
mov ecx, dword [esi + 0x344]
mov edx, dword [esi + 0x340]
mov eax, esp
mov dword [eax], edx
call fcn.00406470
sub esp, 4
jmp 0x401943
lea eax, [esi + 0xfd0]
mov dword [esi + 0x1030], eax
lea eax, [esi + 0x1030]
mov dword [esi + 0x1034], eax
lea edi, [esi + 0xfb8]
mov ecx, edi
call fcn.00406310
mov ecx, dword [esi + 0x1030]
mov edx, dword [esi + 0x1034]
mov dword [esi + 0x2498], 0x2c
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
lea ecx, [esi + 0x1038]
call fcn.00406850
sub esp, 0xc
jmp 0x40199b
lea eax, [esi + 0xfd0]
mov dword [esi + 0x338], eax
add eax, 0x60
mov dword [esi + 0x33c], eax
mov ecx, dword [esi + 0x33c]
add ecx, 0xffffffe8
mov dword [esi + 0x334], ecx
call fcn.00406820
mov ecx, dword [esi + 0x338]
mov eax, dword [esi + 0x334]
cmp eax, ecx
mov dword [esi + 0x33c], eax
jne 0x4019b0
mov dword [esi + 0xfb4], 1
cmp dword [esi + 0xfb4], 0xa
jg 0x401bcf
mov dword [esi + 0xfb0], 1
mov eax, dword [esi + 0xfb0]
cmp eax, dword [esi + 0xfb4]
jg 0x401bbb
mov dword [esi + 0xfac], 1
mov eax, dword [esi + 0xfac]
cmp eax, dword [esi + 0xfb0]
jg 0x401ba7
mov dword [esi + 0xfa8], 1
mov eax, dword [esi + 0xfa8]
cmp eax, dword [esi + 0xfac]
jg 0x401b93
mov eax, dword [esi + 0xfb4]
add eax, dword [esi + 0xfb0]
add eax, dword [esi + 0xfac]
add eax, dword [esi + 0xfa8]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x568]
movsd xmm0, qword [esi + 0x568]
movsd qword [esi + 0x328], xmm0
cvtsi2sd xmm0, dword [esi + 0xfa8]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x328]
fstp qword [esi + 0x570]
movsd xmm1, qword [esi + 0x570]
subsd xmm0, xmm1
movsd qword [esi + 0xfa0], xmm0
movsd xmm0, qword [esi + 0xfa0]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x2a
test al, 1
jne 0x401b62
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xf94]
mov dword [esi + 0x324], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x324]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0x1058]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0x104c], eax
lea eax, [esi + 0x1058]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0x1048], eax
jmp 0x4017c4
mov eax, esp
lea ecx, [esi + 0xfa0]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x401b7f
mov eax, dword [esi + 0xfa8]
add eax, 1
mov dword [esi + 0xfa8], eax
jmp 0x401a37
mov eax, dword [esi + 0xfac]
add eax, 1
mov dword [esi + 0xfac], eax
jmp 0x401a1b
mov eax, dword [esi + 0xfb0]
add eax, 1
mov dword [esi + 0xfb0], eax
jmp 0x4019ff
mov eax, dword [esi + 0xfb4]
add eax, 1
mov dword [esi + 0xfb4], eax
jmp 0x4019e8
mov eax, esp
lea ecx, [esi + 0xf84]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x304], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x304]
mov eax, esp
lea edx, [esi + 0xf80]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xf80]
mov edx, dword [esi + 0xf84]
mov dword [esi + 0x2498], 0x2a
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x578]
movsd xmm0, qword [esi + 0x578]
movsd qword [esi + 0x308], xmm0
jmp 0x401c50
movsd xmm0, qword [esi + 0x308]
movsd qword [esi + 0xf88], xmm0
mov eax, esp
lea ecx, [esi + 0xf74]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x300], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x300]
mov eax, esp
lea edx, [esi + 0xf70]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xf70]
mov edx, dword [esi + 0xf74]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xf78]
mov dword [eax], ecx
call fcn.00406280
jmp 0x401e63
lea ecx, [esi + 0x1038]
call fcn.004068f0
mov ecx, eax
add ecx, 0xffffffff
mov dword [esi + 0x2498], 2
mov eax, esp
mov dword [eax + 4], ecx
mov dword [eax], 0
lea ecx, [esi + 0xf5c]
call fcn.00406920
sub esp, 8
jmp 0x401d0c
mov dword [esi + 0xf58], 1
cmp dword [esi + 0xf58], 0xa
jg 0x401efd
mov dword [esi + 0xf54], 1
mov eax, dword [esi + 0xf54]
cmp eax, dword [esi + 0xf58]
jg 0x401ee9
mov dword [esi + 0xf50], 1
mov eax, dword [esi + 0xf50]
cmp eax, dword [esi + 0xf54]
jg 0x401ed5
mov dword [esi + 0xf4c], 1
mov eax, dword [esi + 0xf4c]
cmp eax, dword [esi + 0xf50]
jg 0x401ec1
mov eax, dword [esi + 0xf58]
add eax, dword [esi + 0xf54]
add eax, dword [esi + 0xf50]
add eax, dword [esi + 0xf4c]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x550]
movsd xmm0, qword [esi + 0x550]
movsd qword [esi + 0x2f8], xmm0
cvtsi2sd xmm0, dword [esi + 0xf4c]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x2f8]
fstp qword [esi + 0x558]
movsd xmm1, qword [esi + 0x558]
subsd xmm0, xmm1
movsd qword [esi + 0xf40], xmm0
movsd xmm0, qword [esi + 0xf40]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x28
test al, 1
jne 0x401e90
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xf34]
mov dword [esi + 0x2f4], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x2f4]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0xf78]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xf6c], eax
lea eax, [esi + 0xf78]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xf68], eax
jmp 0x401cd4
mov eax, esp
lea ecx, [esi + 0xf40]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x401ead
mov eax, dword [esi + 0xf4c]
add eax, 1
mov dword [esi + 0xf4c], eax
jmp 0x401d65
mov eax, dword [esi + 0xf50]
add eax, 1
mov dword [esi + 0xf50], eax
jmp 0x401d49
mov eax, dword [esi + 0xf54]
add eax, 1
mov dword [esi + 0xf54], eax
jmp 0x401d2d
mov eax, dword [esi + 0xf58]
add eax, 1
mov dword [esi + 0xf58], eax
jmp 0x401d16
mov eax, esp
lea ecx, [esi + 0xf24]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x2e4], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x2e4]
mov eax, esp
lea edx, [esi + 0xf20]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xf20]
mov edx, dword [esi + 0xf24]
mov dword [esi + 0x2498], 0x28
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x560]
movsd xmm0, qword [esi + 0x560]
movsd qword [esi + 0x2e8], xmm0
jmp 0x401f7e
movsd xmm0, qword [esi + 0x2e8]
movsd qword [esi + 0xf28], xmm0
mov eax, esp
lea ecx, [esi + 0xf14]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x2e0], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x2e0]
mov eax, esp
lea edx, [esi + 0xf10]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xf10]
mov edx, dword [esi + 0xf14]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xf18]
mov dword [eax], ecx
call fcn.00406280
jmp 0x402213
mov al, byte [esi + 0x248b]
mov dword [esi + 0x2498], 2
test al, 1
je 0x402063
lea ecx, [esi + 0xee8]
call fcn.00406960
mov dword [esi + 0x2dc], eax
jmp 0x40202b
mov ecx, dword [esi + 0x2dc]
call fcn.00406a20
mov dword [esi + 0x2d8], eax
jmp 0x402041
mov ecx, dword [esi + 0x2d8]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xeec]
call fcn.00406470
sub esp, 4
jmp 0x40205e
jmp 0x4020bc
mov eax, esp
lea ecx, [esi + 0x1098]
mov dword [eax], ecx
lea ecx, [esi + 0xf5c]
call fcn.00406a70
sub esp, 4
mov dword [esi + 0x2d4], eax
jmp 0x402086
mov ecx, dword [esi + 0x2d4]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0x1038]
call fcn.00406a40
sub esp, 4
mov ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xeec]
call fcn.00406aa0
sub esp, 4
jmp 0x4020b7
jmp 0x4020bc
mov dword [esi + 0xee4], 1
cmp dword [esi + 0xee4], 0xa
jg 0x4022ad
mov dword [esi + 0xee0], 1
mov eax, dword [esi + 0xee0]
cmp eax, dword [esi + 0xee4]
jg 0x402299
mov dword [esi + 0xedc], 1
mov eax, dword [esi + 0xedc]
cmp eax, dword [esi + 0xee0]
jg 0x402285
mov dword [esi + 0xed8], 1
mov eax, dword [esi + 0xed8]
cmp eax, dword [esi + 0xedc]
jg 0x402271
mov eax, dword [esi + 0xee4]
add eax, dword [esi + 0xee0]
add eax, dword [esi + 0xedc]
add eax, dword [esi + 0xed8]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x538]
movsd xmm0, qword [esi + 0x538]
movsd qword [esi + 0x2c8], xmm0
cvtsi2sd xmm0, dword [esi + 0xed8]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x2c8]
fstp qword [esi + 0x540]
movsd xmm1, qword [esi + 0x540]
subsd xmm0, xmm1
movsd qword [esi + 0xed0], xmm0
movsd xmm0, qword [esi + 0xed0]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x26
test al, 1
jne 0x402240
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xec4]
mov dword [esi + 0x2c4], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x2c4]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0xf18]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xf0c], eax
lea eax, [esi + 0xf18]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xf08], eax
jmp 0x401ffd
mov eax, esp
lea ecx, [esi + 0xed0]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x40225d
mov eax, dword [esi + 0xed8]
add eax, 1
mov dword [esi + 0xed8], eax
jmp 0x402115
mov eax, dword [esi + 0xedc]
add eax, 1
mov dword [esi + 0xedc], eax
jmp 0x4020f9
mov eax, dword [esi + 0xee0]
add eax, 1
mov dword [esi + 0xee0], eax
jmp 0x4020dd
mov eax, dword [esi + 0xee4]
add eax, 1
mov dword [esi + 0xee4], eax
jmp 0x4020c6
mov eax, esp
lea ecx, [esi + 0xeb4]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x2b4], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x2b4]
mov eax, esp
lea edx, [esi + 0xeb0]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xeb0]
mov edx, dword [esi + 0xeb4]
mov dword [esi + 0x2498], 0x26
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x548]
movsd xmm0, qword [esi + 0x548]
movsd qword [esi + 0x2b8], xmm0
jmp 0x40232e
movsd xmm0, qword [esi + 0x2b8]
movsd qword [esi + 0xeb8], xmm0
mov eax, esp
lea ecx, [esi + 0xea4]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x2b0], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x2b0]
mov eax, esp
lea edx, [esi + 0xea0]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xea0]
mov edx, dword [esi + 0xea4]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xea8]
mov dword [eax], ecx
call fcn.00406280
jmp 0x402515
lea ecx, [esi + 0xeec]
call fcn.00406b90
mov dword [esi + 0xe90], eax
mov dword [esi + 0xe8c], 1
cmp dword [esi + 0xe8c], 0xa
jg 0x4025af
mov dword [esi + 0xe88], 1
mov eax, dword [esi + 0xe88]
cmp eax, dword [esi + 0xe8c]
jg 0x40259b
mov dword [esi + 0xe84], 1
mov eax, dword [esi + 0xe84]
cmp eax, dword [esi + 0xe88]
jg 0x402587
mov dword [esi + 0xe80], 1
mov eax, dword [esi + 0xe80]
cmp eax, dword [esi + 0xe84]
jg 0x402573
mov eax, dword [esi + 0xe8c]
add eax, dword [esi + 0xe88]
add eax, dword [esi + 0xe84]
add eax, dword [esi + 0xe80]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x520]
movsd xmm0, qword [esi + 0x520]
movsd qword [esi + 0x2a8], xmm0
cvtsi2sd xmm0, dword [esi + 0xe80]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x2a8]
fstp qword [esi + 0x528]
movsd xmm1, qword [esi + 0x528]
subsd xmm0, xmm1
movsd qword [esi + 0xe78], xmm0
movsd xmm0, qword [esi + 0xe78]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x24
test al, 1
jne 0x402542
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xe6c]
mov dword [esi + 0x2a4], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x2a4]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0xea8]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xe9c], eax
lea eax, [esi + 0xea8]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xe98], eax
jmp 0x4023ad
mov eax, esp
lea ecx, [esi + 0xe78]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x40255f
mov eax, dword [esi + 0xe80]
add eax, 1
mov dword [esi + 0xe80], eax
jmp 0x402417
mov eax, dword [esi + 0xe84]
add eax, 1
mov dword [esi + 0xe84], eax
jmp 0x4023fb
mov eax, dword [esi + 0xe88]
add eax, 1
mov dword [esi + 0xe88], eax
jmp 0x4023df
mov eax, dword [esi + 0xe8c]
add eax, 1
mov dword [esi + 0xe8c], eax
jmp 0x4023c8
mov eax, esp
lea ecx, [esi + 0xe5c]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x294], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x294]
mov eax, esp
lea edx, [esi + 0xe58]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xe58]
mov edx, dword [esi + 0xe5c]
mov dword [esi + 0x2498], 0x24
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x530]
movsd xmm0, qword [esi + 0x530]
movsd qword [esi + 0x298], xmm0
jmp 0x402630
movsd xmm0, qword [esi + 0x298]
movsd qword [esi + 0xe60], xmm0
mov eax, esp
lea ecx, [esi + 0xe4c]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x290], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x290]
mov eax, esp
lea edx, [esi + 0xe48]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xe48]
mov edx, dword [esi + 0xe4c]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xe50]
mov dword [eax], ecx
call fcn.00406280
jmp 0x40280f
mov eax, dword [ebp + 8]
mov dword [esi + 0xe38], eax
mov dword [esi + 0xe34], 1
cmp dword [esi + 0xe34], 0xa
jg 0x4028a9
mov dword [esi + 0xe30], 1
mov eax, dword [esi + 0xe30]
cmp eax, dword [esi + 0xe34]
jg 0x402895
mov dword [esi + 0xe2c], 1
mov eax, dword [esi + 0xe2c]
cmp eax, dword [esi + 0xe30]
jg 0x402881
mov dword [esi + 0xe28], 1
mov eax, dword [esi + 0xe28]
cmp eax, dword [esi + 0xe2c]
jg 0x40286d
mov eax, dword [esi + 0xe34]
add eax, dword [esi + 0xe30]
add eax, dword [esi + 0xe2c]
add eax, dword [esi + 0xe28]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x508]
movsd xmm0, qword [esi + 0x508]
movsd qword [esi + 0x288], xmm0
cvtsi2sd xmm0, dword [esi + 0xe28]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x288]
fstp qword [esi + 0x510]
movsd xmm1, qword [esi + 0x510]
subsd xmm0, xmm1
movsd qword [esi + 0xe20], xmm0
movsd xmm0, qword [esi + 0xe20]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x22
test al, 1
jne 0x40283c
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xe14]
mov dword [esi + 0x284], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x284]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0xe50]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xe44], eax
lea eax, [esi + 0xe50]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xe40], eax
jmp 0x4026af
mov eax, esp
lea ecx, [esi + 0xe20]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x402859
mov eax, dword [esi + 0xe28]
add eax, 1
mov dword [esi + 0xe28], eax
jmp 0x402711
mov eax, dword [esi + 0xe2c]
add eax, 1
mov dword [esi + 0xe2c], eax
jmp 0x4026f5
mov eax, dword [esi + 0xe30]
add eax, 1
mov dword [esi + 0xe30], eax
jmp 0x4026d9
mov eax, dword [esi + 0xe34]
add eax, 1
mov dword [esi + 0xe34], eax
jmp 0x4026c2
mov eax, esp
lea ecx, [esi + 0xe04]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x274], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x274]
mov eax, esp
lea edx, [esi + 0xe00]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xe00]
mov edx, dword [esi + 0xe04]
mov dword [esi + 0x2498], 0x22
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x518]
movsd xmm0, qword [esi + 0x518]
movsd qword [esi + 0x278], xmm0
jmp 0x40292a
movsd xmm0, qword [esi + 0x278]
movsd qword [esi + 0xe08], xmm0
mov eax, esp
lea ecx, [esi + 0xdf4]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x270], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x270]
mov eax, esp
lea edx, [esi + 0xdf0]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xdf0]
mov edx, dword [esi + 0xdf4]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xdf8]
mov dword [eax], ecx
call fcn.00406280
jmp 0x402b00
mov dword [esi + 0xde0], 1
cmp dword [esi + 0xde0], 0xa
jg 0x402b9a
mov dword [esi + 0xddc], 1
mov eax, dword [esi + 0xddc]
cmp eax, dword [esi + 0xde0]
jg 0x402b86
mov dword [esi + 0xdd8], 1
mov eax, dword [esi + 0xdd8]
cmp eax, dword [esi + 0xddc]
jg 0x402b72
mov dword [esi + 0xdd4], 1
mov eax, dword [esi + 0xdd4]
cmp eax, dword [esi + 0xdd8]
jg 0x402b5e
mov eax, dword [esi + 0xde0]
add eax, dword [esi + 0xddc]
add eax, dword [esi + 0xdd8]
add eax, dword [esi + 0xdd4]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x4f0]
movsd xmm0, qword [esi + 0x4f0]
movsd qword [esi + 0x268], xmm0
cvtsi2sd xmm0, dword [esi + 0xdd4]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x268]
fstp qword [esi + 0x4f8]
movsd xmm1, qword [esi + 0x4f8]
subsd xmm0, xmm1
movsd qword [esi + 0xdc8], xmm0
movsd xmm0, qword [esi + 0xdc8]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x20
test al, 1
jne 0x402b2d
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xdbc]
mov dword [esi + 0x264], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x264]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0xdf8]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xdec], eax
lea eax, [esi + 0xdf8]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xde8], eax
jmp 0x4029a9
mov eax, esp
lea ecx, [esi + 0xdc8]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x402b4a
mov eax, dword [esi + 0xdd4]
add eax, 1
mov dword [esi + 0xdd4], eax
jmp 0x402a02
mov eax, dword [esi + 0xdd8]
add eax, 1
mov dword [esi + 0xdd8], eax
jmp 0x4029e6
mov eax, dword [esi + 0xddc]
add eax, 1
mov dword [esi + 0xddc], eax
jmp 0x4029ca
mov eax, dword [esi + 0xde0]
add eax, 1
mov dword [esi + 0xde0], eax
jmp 0x4029b3
mov eax, esp
lea ecx, [esi + 0xdac]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x254], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x254]
mov eax, esp
lea edx, [esi + 0xda8]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xda8]
mov edx, dword [esi + 0xdac]
mov dword [esi + 0x2498], 0x20
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x500]
movsd xmm0, qword [esi + 0x500]
movsd qword [esi + 0x258], xmm0
jmp 0x402c1b
movsd xmm0, qword [esi + 0x258]
movsd qword [esi + 0xdb0], xmm0
mov eax, esp
lea ecx, [esi + 0xd9c]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x250], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x250]
mov eax, esp
lea edx, [esi + 0xd98]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xd98]
mov edx, dword [esi + 0xd9c]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xda0]
mov dword [eax], ecx
call fcn.00406280
jmp 0x402e11
mov eax, dword [esi + 0xe38]
mov dword [esi + 0xd88], eax
mov eax, dword [esi + 0xd88]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x402fdd
mov dword [esi + 0xd84], 1
cmp dword [esi + 0xd84], 0xa
jg 0x402eab
mov dword [esi + 0xd80], 1
mov eax, dword [esi + 0xd80]
cmp eax, dword [esi + 0xd84]
jg 0x402e97
mov dword [esi + 0xd7c], 1
mov eax, dword [esi + 0xd7c]
cmp eax, dword [esi + 0xd80]
jg 0x402e83
mov dword [esi + 0xd78], 1
mov eax, dword [esi + 0xd78]
cmp eax, dword [esi + 0xd7c]
jg 0x402e6f
mov eax, dword [esi + 0xd84]
add eax, dword [esi + 0xd80]
add eax, dword [esi + 0xd7c]
add eax, dword [esi + 0xd78]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x4d8]
movsd xmm0, qword [esi + 0x4d8]
movsd qword [esi + 0x248], xmm0
cvtsi2sd xmm0, dword [esi + 0xd78]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x248]
fstp qword [esi + 0x4e0]
movsd xmm1, qword [esi + 0x4e0]
subsd xmm0, xmm1
movsd qword [esi + 0xd70], xmm0
movsd xmm0, qword [esi + 0xd70]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x1e
test al, 1
jne 0x402e3e
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xd64]
mov dword [esi + 0x244], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x244]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0xda0]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xd94], eax
lea eax, [esi + 0xda0]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xd90], eax
jmp 0x402c9a
mov eax, esp
lea ecx, [esi + 0xd70]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x402e5b
mov eax, dword [esi + 0xd78]
add eax, 1
mov dword [esi + 0xd78], eax
jmp 0x402d13
mov eax, dword [esi + 0xd7c]
add eax, 1
mov dword [esi + 0xd7c], eax
jmp 0x402cf7
mov eax, dword [esi + 0xd80]
add eax, 1
mov dword [esi + 0xd80], eax
jmp 0x402cdb
mov eax, dword [esi + 0xd84]
add eax, 1
mov dword [esi + 0xd84], eax
jmp 0x402cc4
mov eax, esp
lea ecx, [esi + 0xd54]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x234], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x234]
mov eax, esp
lea edx, [esi + 0xd50]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xd50]
mov edx, dword [esi + 0xd54]
mov dword [esi + 0x2498], 0x1e
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x4e8]
movsd xmm0, qword [esi + 0x4e8]
movsd qword [esi + 0x238], xmm0
jmp 0x402f2c
movsd xmm0, qword [esi + 0x238]
movsd qword [esi + 0xd58], xmm0
mov eax, esp
lea ecx, [esi + 0xd44]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x230], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x230]
mov eax, esp
lea edx, [esi + 0xd40]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xd40]
mov edx, dword [esi + 0xd44]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xd48]
mov dword [eax], ecx
call fcn.00406280
jmp 0x402fb0
jmp 0x402fdd
lea eax, [esi + 0xd48]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xd3c], eax
lea eax, [esi + 0xd48]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xd38], eax
jmp 0x402fab
mov dword [esi + 0xd30], 1
cmp dword [esi + 0xd30], 0xa
jg 0x4031a1
mov dword [esi + 0xd2c], 1
mov eax, dword [esi + 0xd2c]
cmp eax, dword [esi + 0xd30]
jg 0x40318d
mov dword [esi + 0xd28], 1
mov eax, dword [esi + 0xd28]
cmp eax, dword [esi + 0xd2c]
jg 0x403179
mov dword [esi + 0xd24], 1
mov eax, dword [esi + 0xd24]
cmp eax, dword [esi + 0xd28]
jg 0x403165
mov eax, dword [esi + 0xd30]
add eax, dword [esi + 0xd2c]
add eax, dword [esi + 0xd28]
add eax, dword [esi + 0xd24]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x4c0]
movsd xmm0, qword [esi + 0x4c0]
movsd qword [esi + 0x228], xmm0
cvtsi2sd xmm0, dword [esi + 0xd24]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x228]
fstp qword [esi + 0x4c8]
movsd xmm1, qword [esi + 0x4c8]
subsd xmm0, xmm1
movsd qword [esi + 0xd18], xmm0
movsd xmm0, qword [esi + 0xd18]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x1c
test al, 1
jne 0x403134
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xd0c]
mov dword [esi + 0x224], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x224]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
mov eax, esp
lea ecx, [esi + 0xd18]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x403151
mov eax, dword [esi + 0xd24]
add eax, 1
mov dword [esi + 0xd24], eax
jmp 0x403036
mov eax, dword [esi + 0xd28]
add eax, 1
mov dword [esi + 0xd28], eax
jmp 0x40301a
mov eax, dword [esi + 0xd2c]
add eax, 1
mov dword [esi + 0xd2c], eax
jmp 0x402ffe
mov eax, dword [esi + 0xd30]
add eax, 1
mov dword [esi + 0xd30], eax
jmp 0x402fe7
mov eax, esp
lea ecx, [esi + 0xcfc]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x214], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x214]
mov eax, esp
lea edx, [esi + 0xcf8]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xcf8]
mov edx, dword [esi + 0xcfc]
mov dword [esi + 0x2498], 0x1c
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x4d0]
movsd xmm0, qword [esi + 0x4d0]
movsd qword [esi + 0x218], xmm0
jmp 0x403222
movsd xmm0, qword [esi + 0x218]
movsd qword [esi + 0xd00], xmm0
mov eax, esp
lea ecx, [esi + 0xcec]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x210], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x210]
mov eax, esp
lea edx, [esi + 0xce8]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xce8]
mov edx, dword [esi + 0xcec]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xcf0]
mov dword [eax], ecx
call fcn.00406280
jmp 0x40340d
mov eax, dword [esi + 0xe38]
mov ecx, dword [esi + 0xd88]
add eax, dword [ecx + 0x3c]
mov dword [esi + 0xcd8], eax
mov dword [esi + 0xcd4], 1
cmp dword [esi + 0xcd4], 0xa
jg 0x4034a7
mov dword [esi + 0xcd0], 1
mov eax, dword [esi + 0xcd0]
cmp eax, dword [esi + 0xcd4]
jg 0x403493
mov dword [esi + 0xccc], 1
mov eax, dword [esi + 0xccc]
cmp eax, dword [esi + 0xcd0]
jg 0x40347f
mov dword [esi + 0xcc8], 1
mov eax, dword [esi + 0xcc8]
cmp eax, dword [esi + 0xccc]
jg 0x40346b
mov eax, dword [esi + 0xcd4]
add eax, dword [esi + 0xcd0]
add eax, dword [esi + 0xccc]
add eax, dword [esi + 0xcc8]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x4a8]
movsd xmm0, qword [esi + 0x4a8]
movsd qword [esi + 0x208], xmm0
cvtsi2sd xmm0, dword [esi + 0xcc8]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x208]
fstp qword [esi + 0x4b0]
movsd xmm1, qword [esi + 0x4b0]
subsd xmm0, xmm1
movsd qword [esi + 0xcc0], xmm0
movsd xmm0, qword [esi + 0xcc0]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x1a
test al, 1
jne 0x40343a
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xcb4]
mov dword [esi + 0x204], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x204]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0xcf0]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xce4], eax
lea eax, [esi + 0xcf0]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xce0], eax
jmp 0x4032a1
mov eax, esp
lea ecx, [esi + 0xcc0]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x403457
mov eax, dword [esi + 0xcc8]
add eax, 1
mov dword [esi + 0xcc8], eax
jmp 0x40330f
mov eax, dword [esi + 0xccc]
add eax, 1
mov dword [esi + 0xccc], eax
jmp 0x4032f3
mov eax, dword [esi + 0xcd0]
add eax, 1
mov dword [esi + 0xcd0], eax
jmp 0x4032d7
mov eax, dword [esi + 0xcd4]
add eax, 1
mov dword [esi + 0xcd4], eax
jmp 0x4032c0
mov eax, esp
lea ecx, [esi + 0xca4]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x1f4], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x1f4]
mov eax, esp
lea edx, [esi + 0xca0]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xca0]
mov edx, dword [esi + 0xca4]
mov dword [esi + 0x2498], 0x1a
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x4b8]
movsd xmm0, qword [esi + 0x4b8]
movsd qword [esi + 0x1f8], xmm0
jmp 0x403528
movsd xmm0, qword [esi + 0x1f8]
movsd qword [esi + 0xca8], xmm0
mov eax, esp
lea ecx, [esi + 0xc94]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x1f0], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x1f0]
mov eax, esp
lea edx, [esi + 0xc90]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xc90]
mov edx, dword [esi + 0xc94]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xc98]
mov dword [eax], ecx
call fcn.00406280
jmp 0x4035be
mov eax, dword [esi + 0xcd8]
cmp dword [eax], 0x4550
je 0x4035eb
jmp 0x4035eb
lea eax, [esi + 0xc98]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xc8c], eax
lea eax, [esi + 0xc98]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xc88], eax
jmp 0x4035a7
mov dword [esi + 0xc80], 1
cmp dword [esi + 0xc80], 0xa
jg 0x4037af
mov dword [esi + 0xc7c], 1
mov eax, dword [esi + 0xc7c]
cmp eax, dword [esi + 0xc80]
jg 0x40379b
mov dword [esi + 0xc78], 1
mov eax, dword [esi + 0xc78]
cmp eax, dword [esi + 0xc7c]
jg 0x403787
mov dword [esi + 0xc74], 1
mov eax, dword [esi + 0xc74]
cmp eax, dword [esi + 0xc78]
jg 0x403773
mov eax, dword [esi + 0xc80]
add eax, dword [esi + 0xc7c]
add eax, dword [esi + 0xc78]
add eax, dword [esi + 0xc74]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x490]
movsd xmm0, qword [esi + 0x490]
movsd qword [esi + 0x1e8], xmm0
cvtsi2sd xmm0, dword [esi + 0xc74]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x1e8]
fstp qword [esi + 0x498]
movsd xmm1, qword [esi + 0x498]
subsd xmm0, xmm1
movsd qword [esi + 0xc68], xmm0
movsd xmm0, qword [esi + 0xc68]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x18
test al, 1
jne 0x403742
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xc5c]
mov dword [esi + 0x1e4], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x1e4]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
mov eax, esp
lea ecx, [esi + 0xc68]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x40375f
mov eax, dword [esi + 0xc74]
add eax, 1
mov dword [esi + 0xc74], eax
jmp 0x403644
mov eax, dword [esi + 0xc78]
add eax, 1
mov dword [esi + 0xc78], eax
jmp 0x403628
mov eax, dword [esi + 0xc7c]
add eax, 1
mov dword [esi + 0xc7c], eax
jmp 0x40360c
mov eax, dword [esi + 0xc80]
add eax, 1
mov dword [esi + 0xc80], eax
jmp 0x4035f5
mov eax, esp
lea ecx, [esi + 0xc4c]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x1d4], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x1d4]
mov eax, esp
lea edx, [esi + 0xc48]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xc48]
mov edx, dword [esi + 0xc4c]
mov dword [esi + 0x2498], 0x18
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x4a0]
movsd xmm0, qword [esi + 0x4a0]
movsd qword [esi + 0x1d8], xmm0
jmp 0x403830
movsd xmm0, qword [esi + 0x1d8]
movsd qword [esi + 0xc50], xmm0
mov eax, esp
lea ecx, [esi + 0xc3c]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x1d0], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x1d0]
mov eax, esp
lea edx, [esi + 0xc38]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xc38]
mov edx, dword [esi + 0xc3c]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xc40]
mov dword [eax], ecx
call fcn.00406280
jmp 0x403a11
lea ecx, [esi + 0xbf8]
call fcn.00406bb0
mov dword [esi + 0xbf4], 1
cmp dword [esi + 0xbf4], 0xa
jg 0x403aab
mov dword [esi + 0xbf0], 1
mov eax, dword [esi + 0xbf0]
cmp eax, dword [esi + 0xbf4]
jg 0x403a97
mov dword [esi + 0xbec], 1
mov eax, dword [esi + 0xbec]
cmp eax, dword [esi + 0xbf0]
jg 0x403a83
mov dword [esi + 0xbe8], 1
mov eax, dword [esi + 0xbe8]
cmp eax, dword [esi + 0xbec]
jg 0x403a6f
mov eax, dword [esi + 0xbf4]
add eax, dword [esi + 0xbf0]
add eax, dword [esi + 0xbec]
add eax, dword [esi + 0xbe8]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x478]
movsd xmm0, qword [esi + 0x478]
movsd qword [esi + 0x1c8], xmm0
cvtsi2sd xmm0, dword [esi + 0xbe8]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x1c8]
fstp qword [esi + 0x480]
movsd xmm1, qword [esi + 0x480]
subsd xmm0, xmm1
movsd qword [esi + 0xbe0], xmm0
movsd xmm0, qword [esi + 0xbe0]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x16
test al, 1
jne 0x403a3e
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xbd4]
mov dword [esi + 0x1c4], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x1c4]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0xc40]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xc34], eax
lea eax, [esi + 0xc40]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xc30], eax
jmp 0x4038af
mov eax, esp
lea ecx, [esi + 0xbe0]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x403a5b
mov eax, dword [esi + 0xbe8]
add eax, 1
mov dword [esi + 0xbe8], eax
jmp 0x403913
mov eax, dword [esi + 0xbec]
add eax, 1
mov dword [esi + 0xbec], eax
jmp 0x4038f7
mov eax, dword [esi + 0xbf0]
add eax, 1
mov dword [esi + 0xbf0], eax
jmp 0x4038db
mov eax, dword [esi + 0xbf4]
add eax, 1
mov dword [esi + 0xbf4], eax
jmp 0x4038c4
mov eax, esp
lea ecx, [esi + 0xbc4]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x1b4], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x1b4]
mov eax, esp
lea edx, [esi + 0xbc0]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xbc0]
mov edx, dword [esi + 0xbc4]
mov dword [esi + 0x2498], 0x16
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x488]
movsd xmm0, qword [esi + 0x488]
movsd qword [esi + 0x1b8], xmm0
jmp 0x403b2c
movsd xmm0, qword [esi + 0x1b8]
movsd qword [esi + 0xbc8], xmm0
mov eax, esp
lea ecx, [esi + 0xbb4]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x1b0], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x1b0]
mov eax, esp
lea edx, [esi + 0xbb0]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xbb0]
mov edx, dword [esi + 0xbb4]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xbb8]
mov dword [eax], ecx
call fcn.00406280
jmp 0x403d21
mov dword [esi + 0x2498], 3
lea ecx, [esi + 0xbf8]
call fcn.00406c20
jmp 0x403bca
mov dword [esi + 0xba0], 1
cmp dword [esi + 0xba0], 0xa
jg 0x403dbb
mov dword [esi + 0xb9c], 1
mov eax, dword [esi + 0xb9c]
cmp eax, dword [esi + 0xba0]
jg 0x403da7
mov dword [esi + 0xb98], 1
mov eax, dword [esi + 0xb98]
cmp eax, dword [esi + 0xb9c]
jg 0x403d93
mov dword [esi + 0xb94], 1
mov eax, dword [esi + 0xb94]
cmp eax, dword [esi + 0xb98]
jg 0x403d7f
mov eax, dword [esi + 0xba0]
add eax, dword [esi + 0xb9c]
add eax, dword [esi + 0xb98]
add eax, dword [esi + 0xb94]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x460]
movsd xmm0, qword [esi + 0x460]
movsd qword [esi + 0x1a8], xmm0
cvtsi2sd xmm0, dword [esi + 0xb94]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x1a8]
fstp qword [esi + 0x468]
movsd xmm1, qword [esi + 0x468]
subsd xmm0, xmm1
movsd qword [esi + 0xb88], xmm0
movsd xmm0, qword [esi + 0xb88]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x14
test al, 1
jne 0x403d4e
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xb7c]
mov dword [esi + 0x1a4], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x1a4]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0xbb8]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xbac], eax
lea eax, [esi + 0xbb8]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xba8], eax
jmp 0x403bb0
mov eax, esp
lea ecx, [esi + 0xb88]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x403d6b
mov eax, dword [esi + 0xb94]
add eax, 1
mov dword [esi + 0xb94], eax
jmp 0x403c23
mov eax, dword [esi + 0xb98]
add eax, 1
mov dword [esi + 0xb98], eax
jmp 0x403c07
mov eax, dword [esi + 0xb9c]
add eax, 1
mov dword [esi + 0xb9c], eax
jmp 0x403beb
mov eax, dword [esi + 0xba0]
add eax, 1
mov dword [esi + 0xba0], eax
jmp 0x403bd4
mov eax, esp
lea ecx, [esi + 0xb6c]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x194], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x194]
mov eax, esp
lea edx, [esi + 0xb68]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xb68]
mov edx, dword [esi + 0xb6c]
mov dword [esi + 0x2498], 0x14
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x470]
movsd xmm0, qword [esi + 0x470]
movsd qword [esi + 0x198], xmm0
jmp 0x403e3c
movsd xmm0, qword [esi + 0x198]
movsd qword [esi + 0xb70], xmm0
mov eax, esp
lea ecx, [esi + 0xb5c]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x190], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x190]
mov eax, esp
lea edx, [esi + 0xb58]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xb58]
mov edx, dword [esi + 0xb5c]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xb60]
mov dword [eax], ecx
call fcn.00406280
jmp 0x404032
lea eax, [esi + 0xb08]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.0042aa60
mov dword [esi + 0xb04], 1
cmp dword [esi + 0xb04], 0xa
jg 0x4040cc
mov dword [esi + 0xb00], 1
mov eax, dword [esi + 0xb00]
cmp eax, dword [esi + 0xb04]
jg 0x4040b8
mov dword [esi + 0xafc], 1
mov eax, dword [esi + 0xafc]
cmp eax, dword [esi + 0xb00]
jg 0x4040a4
mov dword [esi + 0xaf8], 1
mov eax, dword [esi + 0xaf8]
cmp eax, dword [esi + 0xafc]
jg 0x404090
mov eax, dword [esi + 0xb04]
add eax, dword [esi + 0xb00]
add eax, dword [esi + 0xafc]
add eax, dword [esi + 0xaf8]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x448]
movsd xmm0, qword [esi + 0x448]
movsd qword [esi + 0x188], xmm0
cvtsi2sd xmm0, dword [esi + 0xaf8]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x188]
fstp qword [esi + 0x450]
movsd xmm1, qword [esi + 0x450]
subsd xmm0, xmm1
movsd qword [esi + 0xaf0], xmm0
movsd xmm0, qword [esi + 0xaf0]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x12
test al, 1
jne 0x40405f
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xae4]
mov dword [esi + 0x184], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x184]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0xb60]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xb54], eax
lea eax, [esi + 0xb60]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xb50], eax
jmp 0x403ebb
mov eax, esp
lea ecx, [esi + 0xaf0]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x40407c
mov eax, dword [esi + 0xaf8]
add eax, 1
mov dword [esi + 0xaf8], eax
jmp 0x403f34
mov eax, dword [esi + 0xafc]
add eax, 1
mov dword [esi + 0xafc], eax
jmp 0x403f18
mov eax, dword [esi + 0xb00]
add eax, 1
mov dword [esi + 0xb00], eax
jmp 0x403efc
mov eax, dword [esi + 0xb04]
add eax, 1
mov dword [esi + 0xb04], eax
jmp 0x403ee5
mov eax, esp
lea ecx, [esi + 0xad4]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x174], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x174]
mov eax, esp
lea edx, [esi + 0xad0]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xad0]
mov edx, dword [esi + 0xad4]
mov dword [esi + 0x2498], 0x12
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x458]
movsd xmm0, qword [esi + 0x458]
movsd qword [esi + 0x178], xmm0
jmp 0x40414d
movsd xmm0, qword [esi + 0x178]
movsd qword [esi + 0xad8], xmm0
mov eax, esp
lea ecx, [esi + 0xac4]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x170], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x170]
mov eax, esp
lea edx, [esi + 0xac0]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xac0]
mov edx, dword [esi + 0xac4]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xac8]
mov dword [eax], ecx
call fcn.00406280
jmp 0x40432d
mov dword [esi + 0xb08], 0x44
mov dword [esi + 0xab0], 1
cmp dword [esi + 0xab0], 0xa
jg 0x4043c7
mov dword [esi + 0xaac], 1
mov eax, dword [esi + 0xaac]
cmp eax, dword [esi + 0xab0]
jg 0x4043b3
mov dword [esi + 0xaa8], 1
mov eax, dword [esi + 0xaa8]
cmp eax, dword [esi + 0xaac]
jg 0x40439f
mov dword [esi + 0xaa4], 1
mov eax, dword [esi + 0xaa4]
cmp eax, dword [esi + 0xaa8]
jg 0x40438b
mov eax, dword [esi + 0xab0]
add eax, dword [esi + 0xaac]
add eax, dword [esi + 0xaa8]
add eax, dword [esi + 0xaa4]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x430]
movsd xmm0, qword [esi + 0x430]
movsd qword [esi + 0x168], xmm0
cvtsi2sd xmm0, dword [esi + 0xaa4]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x168]
fstp qword [esi + 0x438]
movsd xmm1, qword [esi + 0x438]
subsd xmm0, xmm1
movsd qword [esi + 0xa98], xmm0
movsd xmm0, qword [esi + 0xa98]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0x10
test al, 1
jne 0x40435a
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xa8c]
mov dword [esi + 0x164], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x164]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0xac8]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xabc], eax
lea eax, [esi + 0xac8]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xab8], eax
jmp 0x4041cc
mov eax, esp
lea ecx, [esi + 0xa98]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x404377
mov eax, dword [esi + 0xaa4]
add eax, 1
mov dword [esi + 0xaa4], eax
jmp 0x40422f
mov eax, dword [esi + 0xaa8]
add eax, 1
mov dword [esi + 0xaa8], eax
jmp 0x404213
mov eax, dword [esi + 0xaac]
add eax, 1
mov dword [esi + 0xaac], eax
jmp 0x4041f7
mov eax, dword [esi + 0xab0]
add eax, 1
mov dword [esi + 0xab0], eax
jmp 0x4041e0
mov eax, esp
lea ecx, [esi + 0xa7c]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x154], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x154]
mov eax, esp
lea edx, [esi + 0xa78]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xa78]
mov edx, dword [esi + 0xa7c]
mov dword [esi + 0x2498], 0x10
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x440]
movsd xmm0, qword [esi + 0x440]
movsd qword [esi + 0x158], xmm0
jmp 0x404448
movsd xmm0, qword [esi + 0x158]
movsd qword [esi + 0xa80], xmm0
mov eax, esp
lea ecx, [esi + 0xa6c]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x150], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x150]
mov eax, esp
lea edx, [esi + 0xa68]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xa68]
mov edx, dword [esi + 0xa6c]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xa70]
mov dword [eax], ecx
call fcn.00406280
jmp 0x40463e
lea eax, [esi + 0xa4c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x10
call fcn.0042aa60
mov dword [esi + 0xa48], 1
cmp dword [esi + 0xa48], 0xa
jg 0x4046d8
mov dword [esi + 0xa44], 1
mov eax, dword [esi + 0xa44]
cmp eax, dword [esi + 0xa48]
jg 0x4046c4
mov dword [esi + 0xa40], 1
mov eax, dword [esi + 0xa40]
cmp eax, dword [esi + 0xa44]
jg 0x4046b0
mov dword [esi + 0xa3c], 1
mov eax, dword [esi + 0xa3c]
cmp eax, dword [esi + 0xa40]
jg 0x40469c
mov eax, dword [esi + 0xa48]
add eax, dword [esi + 0xa44]
add eax, dword [esi + 0xa40]
add eax, dword [esi + 0xa3c]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x418]
movsd xmm0, qword [esi + 0x418]
movsd qword [esi + 0x148], xmm0
cvtsi2sd xmm0, dword [esi + 0xa3c]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x148]
fstp qword [esi + 0x420]
movsd xmm1, qword [esi + 0x420]
subsd xmm0, xmm1
movsd qword [esi + 0xa30], xmm0
movsd xmm0, qword [esi + 0xa30]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0xe
test al, 1
jne 0x40466b
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0xa24]
mov dword [esi + 0x144], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x144]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0xa70]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0xa64], eax
lea eax, [esi + 0xa70]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0xa60], eax
jmp 0x4044c7
mov eax, esp
lea ecx, [esi + 0xa30]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x404688
mov eax, dword [esi + 0xa3c]
add eax, 1
mov dword [esi + 0xa3c], eax
jmp 0x404540
mov eax, dword [esi + 0xa40]
add eax, 1
mov dword [esi + 0xa40], eax
jmp 0x404524
mov eax, dword [esi + 0xa44]
add eax, 1
mov dword [esi + 0xa44], eax
jmp 0x404508
mov eax, dword [esi + 0xa48]
add eax, 1
mov dword [esi + 0xa48], eax
jmp 0x4044f1
mov eax, esp
lea ecx, [esi + 0xa14]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x134], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x134]
mov eax, esp
lea edx, [esi + 0xa10]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xa10]
mov edx, dword [esi + 0xa14]
mov dword [esi + 0x2498], 0xe
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x428]
movsd xmm0, qword [esi + 0x428]
movsd qword [esi + 0x138], xmm0
jmp 0x404759
movsd xmm0, qword [esi + 0x138]
movsd qword [esi + 0xa18], xmm0
mov eax, esp
lea ecx, [esi + 0xa04]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x130], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x130]
mov eax, esp
lea edx, [esi + 0xa00]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0xa00]
mov edx, dword [esi + 0xa04]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xa08]
mov dword [eax], ecx
call fcn.00406280
jmp 0x404864
mov eax, dword [esi + 0xc00]
mov edx, dword [esi + 0xe90]
mov dword [esi + 0x2498], 3
mov ecx, esp
mov dword [esi + 0x128], ecx
lea edi, [esi + 0xa4c]
mov dword [ecx + 0x24], edi
lea edi, [esi + 0xb08]
mov dword [ecx + 0x20], edi
mov dword [ecx], edx
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x14], 0x8000004
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
call eax
sub esp, 0x28
mov dword [esi + 0x12c], eax
jmp 0x404850
mov eax, dword [esi + 0x12c]
cmp eax, 0
jne 0x404891
jmp 0x404891
lea eax, [esi + 0xa08]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0x9fc], eax
lea eax, [esi + 0xa08]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0x9f8], eax
jmp 0x4047dd
mov dword [esi + 0x9f0], 1
cmp dword [esi + 0x9f0], 0xa
jg 0x404a55
mov dword [esi + 0x9ec], 1
mov eax, dword [esi + 0x9ec]
cmp eax, dword [esi + 0x9f0]
jg 0x404a41
mov dword [esi + 0x9e8], 1
mov eax, dword [esi + 0x9e8]
cmp eax, dword [esi + 0x9ec]
jg 0x404a2d
mov dword [esi + 0x9e4], 1
mov eax, dword [esi + 0x9e4]
cmp eax, dword [esi + 0x9e8]
jg 0x404a19
mov eax, dword [esi + 0x9f0]
add eax, dword [esi + 0x9ec]
add eax, dword [esi + 0x9e8]
add eax, dword [esi + 0x9e4]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x400]
movsd xmm0, qword [esi + 0x400]
movsd qword [esi + 0x120], xmm0
cvtsi2sd xmm0, dword [esi + 0x9e4]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x120]
fstp qword [esi + 0x408]
movsd xmm1, qword [esi + 0x408]
subsd xmm0, xmm1
movsd qword [esi + 0x9d8], xmm0
movsd xmm0, qword [esi + 0x9d8]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0xc
test al, 1
jne 0x4049e8
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x9cc]
mov dword [esi + 0x11c], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x11c]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
mov eax, esp
lea ecx, [esi + 0x9d8]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x404a05
mov eax, dword [esi + 0x9e4]
add eax, 1
mov dword [esi + 0x9e4], eax
jmp 0x4048ea
mov eax, dword [esi + 0x9e8]
add eax, 1
mov dword [esi + 0x9e8], eax
jmp 0x4048ce
mov eax, dword [esi + 0x9ec]
add eax, 1
mov dword [esi + 0x9ec], eax
jmp 0x4048b2
mov eax, dword [esi + 0x9f0]
add eax, 1
mov dword [esi + 0x9f0], eax
jmp 0x40489b
mov eax, esp
lea ecx, [esi + 0x9bc]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x10c], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x10c]
mov eax, esp
lea edx, [esi + 0x9b8]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x9b8]
mov edx, dword [esi + 0x9bc]
mov dword [esi + 0x2498], 0xc
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x410]
movsd xmm0, qword [esi + 0x410]
movsd qword [esi + 0x110], xmm0
jmp 0x404ad6
movsd xmm0, qword [esi + 0x110]
movsd qword [esi + 0x9c0], xmm0
mov eax, esp
lea ecx, [esi + 0x9ac]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0x108], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x108]
mov eax, esp
lea edx, [esi + 0x9a8]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x9a8]
mov edx, dword [esi + 0x9ac]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x9b0]
mov dword [eax], ecx
call fcn.00406280
jmp 0x404cc3
mov eax, dword [esi + 0xa4c]
lea ecx, [esi + 0x998]
mov dword [esp], eax
call fcn.00406f10
sub esp, 4
mov dword [esi + 0x994], 1
cmp dword [esi + 0x994], 0xa
jg 0x404d5d
mov dword [esi + 0x990], 1
mov eax, dword [esi + 0x990]
cmp eax, dword [esi + 0x994]
jg 0x404d49
mov dword [esi + 0x98c], 1
mov eax, dword [esi + 0x98c]
cmp eax, dword [esi + 0x990]
jg 0x404d35
mov dword [esi + 0x988], 1
mov eax, dword [esi + 0x988]
cmp eax, dword [esi + 0x98c]
jg 0x404d21
mov eax, dword [esi + 0x994]
add eax, dword [esi + 0x990]
add eax, dword [esi + 0x98c]
add eax, dword [esi + 0x988]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x3e8]
movsd xmm0, qword [esi + 0x3e8]
movsd qword [esi + 0x100], xmm0
cvtsi2sd xmm0, dword [esi + 0x988]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0x100]
fstp qword [esi + 0x3f0]
movsd xmm1, qword [esi + 0x3f0]
subsd xmm0, xmm1
movsd qword [esi + 0x980], xmm0
movsd xmm0, qword [esi + 0x980]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 0xa
test al, 1
jne 0x404cf0
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x974]
mov dword [esi + 0xfc], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0xfc]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0x9b0]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0x9a4], eax
lea eax, [esi + 0x9b0]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0x9a0], eax
jmp 0x404b55
mov eax, esp
lea ecx, [esi + 0x980]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x404d0d
mov eax, dword [esi + 0x988]
add eax, 1
mov dword [esi + 0x988], eax
jmp 0x404bc5
mov eax, dword [esi + 0x98c]
add eax, 1
mov dword [esi + 0x98c], eax
jmp 0x404ba9
mov eax, dword [esi + 0x990]
add eax, 1
mov dword [esi + 0x990], eax
jmp 0x404b8d
mov eax, dword [esi + 0x994]
add eax, 1
mov dword [esi + 0x994], eax
jmp 0x404b76
mov eax, esp
lea ecx, [esi + 0x964]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0xec], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0xec]
mov eax, esp
lea edx, [esi + 0x960]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x960]
mov edx, dword [esi + 0x964]
mov dword [esi + 0x2498], 0xa
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x3f8]
movsd xmm0, qword [esi + 0x3f8]
movsd qword [esi + 0xf0], xmm0
jmp 0x404dde
movsd xmm0, qword [esi + 0xf0]
movsd qword [esi + 0x968], xmm0
mov eax, esp
lea ecx, [esi + 0x954]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0xe8], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0xe8]
mov eax, esp
lea edx, [esi + 0x950]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x950]
mov edx, dword [esi + 0x954]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x958]
mov dword [eax], ecx
call fcn.00406280
jmp 0x404fcb
mov eax, dword [esi + 0xa50]
lea ecx, [esi + 0x940]
mov dword [esp], eax
call fcn.00406f10
sub esp, 4
mov dword [esi + 0x93c], 1
cmp dword [esi + 0x93c], 0xa
jg 0x405065
mov dword [esi + 0x938], 1
mov eax, dword [esi + 0x938]
cmp eax, dword [esi + 0x93c]
jg 0x405051
mov dword [esi + 0x934], 1
mov eax, dword [esi + 0x934]
cmp eax, dword [esi + 0x938]
jg 0x40503d
mov dword [esi + 0x930], 1
mov eax, dword [esi + 0x930]
cmp eax, dword [esi + 0x934]
jg 0x405029
mov eax, dword [esi + 0x93c]
add eax, dword [esi + 0x938]
add eax, dword [esi + 0x934]
add eax, dword [esi + 0x930]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x3d0]
movsd xmm0, qword [esi + 0x3d0]
movsd qword [esi + 0xe0], xmm0
cvtsi2sd xmm0, dword [esi + 0x930]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0xe0]
fstp qword [esi + 0x3d8]
movsd xmm1, qword [esi + 0x3d8]
subsd xmm0, xmm1
movsd qword [esi + 0x928], xmm0
movsd xmm0, qword [esi + 0x928]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x2498], 8
test al, 1
jne 0x404ff8
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x91c]
mov dword [esi + 0xdc], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0xdc]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x405b92
lea eax, [esi + 0x958]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0x94c], eax
lea eax, [esi + 0x958]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0x948], eax
jmp 0x404e5d
mov eax, esp
lea ecx, [esi + 0x928]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x405015
mov eax, dword [esi + 0x930]
add eax, 1
mov dword [esi + 0x930], eax
jmp 0x404ecd
mov eax, dword [esi + 0x934]
add eax, 1
mov dword [esi + 0x934], eax
jmp 0x404eb1
mov eax, dword [esi + 0x938]
add eax, 1
mov dword [esi + 0x938], eax
jmp 0x404e95
mov eax, dword [esi + 0x93c]
add eax, 1
mov dword [esi + 0x93c], eax
jmp 0x404e7e
mov eax, esp
lea ecx, [esi + 0x90c]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0xcc], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0xcc]
mov eax, esp
lea edx, [esi + 0x908]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x908]
mov edx, dword [esi + 0x90c]
mov dword [esi + 0x2498], 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x3e0]
movsd xmm0, qword [esi + 0x3e0]
movsd qword [esi + 0xd0], xmm0
jmp 0x4050e6
movsd xmm0, qword [esi + 0xd0]
movsd qword [esi + 0x910], xmm0
mov eax, esp
lea ecx, [esi + 0x8fc]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0xc8], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0xc8]
mov eax, esp
lea edx, [esi + 0x8f8]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x8f8]
mov edx, dword [esi + 0x8fc]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x900]
mov dword [eax], ecx
call fcn.00406280
jmp 0x4052aa
lea eax, [esi + 0x620]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x2cc
call fcn.0042aa60
mov dword [esi + 0x61c], 1
cmp dword [esi + 0x61c], 0xa
jg 0x40534e
mov dword [esi + 0x618], 1
mov eax, dword [esi + 0x618]
cmp eax, dword [esi + 0x61c]
jg 0x40533a
mov dword [esi + 0x614], 1
mov eax, dword [esi + 0x614]
cmp eax, dword [esi + 0x618]
jg 0x405326
mov dword [esi + 0x610], 1
mov eax, dword [esi + 0x610]
cmp eax, dword [esi + 0x614]
jg 0x405312
mov eax, dword [esi + 0x61c]
add eax, dword [esi + 0x618]
add eax, dword [esi + 0x614]
add eax, dword [esi + 0x610]
movsd xmm0, qword [0x446210]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004010e0
fstp qword [esi + 0x3b8]
movsd xmm0, qword [esi + 0x3b8]
movsd qword [esi + 0xc0], xmm0
cvtsi2sd xmm0, dword [esi + 0x610]
movsd xmm1, qword [0x446200]
mulsd xmm0, xmm1
movsd xmm1, qword [0x446208]
divsd xmm0, xmm1
mov eax, esp
movsd qword [eax], xmm0
call fcn.00432270
movsd xmm0, qword [esi + 0xc0]
fstp qword [esi + 0x3c0]
movsd xmm1, qword [esi + 0x3c0]
subsd xmm0, xmm1
movsd qword [esi + 0x608], xmm0
movsd xmm0, qword [esi + 0x608]
movsd qword [esp], xmm0
call fcn.00406000
test al, 1
jne 0x4052d7
mov dword [esi + 0x2498], 6
jmp 0x4052d7
lea eax, [esi + 0x900]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0x8f4], eax
lea eax, [esi + 0x900]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0x8f0], eax
jmp 0x405165
mov dword [esi + 0x2498], 6
mov eax, esp
lea ecx, [esi + 0x608]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
call fcn.00406140
sub esp, 4
jmp 0x4052fe
mov eax, dword [esi + 0x610]
add eax, 1
mov dword [esi + 0x610], eax
jmp 0x4051de
mov eax, dword [esi + 0x614]
add eax, 1
mov dword [esi + 0x614], eax
jmp 0x4051c2
mov eax, dword [esi + 0x618]
add eax, 1
mov dword [esi + 0x618], eax
jmp 0x4051a6
mov eax, dword [esi + 0x61c]
add eax, 1
mov dword [esi + 0x61c], eax
jmp 0x40518f
mov eax, esp
lea ecx, [esi + 0x5fc]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0xb4], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0xb4]
mov eax, esp
lea edx, [esi + 0x5f8]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x5f8]
mov edx, dword [esi + 0x5fc]
mov dword [esi + 0x2498], 6
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
call fcn.00406170
fstp qword [esi + 0x3c8]
movsd xmm0, qword [esi + 0x3c8]
movsd qword [esi + 0xb8], xmm0
jmp 0x4053cf
movsd xmm0, qword [esi + 0xb8]
movsd qword [esi + 0x600], xmm0
mov eax, esp
lea ecx, [esi + 0x5ec]
mov dword [eax], ecx
lea ecx, [esi + 0x247c]
mov dword [esi + 0xb0], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0xb0]
mov eax, esp
lea edx, [esi + 0x5e8]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x5e8]
mov edx, dword [esi + 0x5ec]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x5f0]
mov dword [eax], ecx
call fcn.00406280
jmp 0x4054eb
mov dword [esi + 0x620], 0x10007
mov eax, dword [esi + 0xc10]
mov dword [esi + 0xa8], eax
lea ecx, [esi + 0x940]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x2498], 5
mov ecx, esp
lea edi, [esi + 0x620]
mov dword [ecx + 4], edi
mov dword [ecx], edx
call eax
sub esp, 8
mov dword [esi + 0xac], eax
jmp 0x4054a3
mov eax, dword [esi + 0xac]
cmp eax, 0
jne 0x405518
mov eax, dword [esi + 0xc24]
mov dword [esi + 0xa4], eax
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0xa4]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
jmp 0x4054e6
jmp 0x405518
lea eax, [esi + 0x5f0]
mov dword [esp], eax
call fcn.004062d0
mov dword [esi + 0x5e4], eax
lea eax, [esi + 0x5f0]
mov dword [esp], eax
call fcn.004062f0
mov dword [esi + 0x5e0], eax
jmp 0x405453
mov dword [esi + 0x5d8], 0
mov dword [esi + 0x5d4], 0
mov eax, dword [esi + 0xc0c]
mov dword [esi + 0x9c], eax
mov edi, dword [esi + 0x6c4]
add edi, 8
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x9c]
mov ecx, esp
lea ebx, [esi + 0x5d4]
mov dword [ecx + 0x10], ebx
lea ebx, [esi + 0x5d8]
mov dword [ecx + 8], ebx
mov dword [ecx + 4], edi
mov dword [ecx], edx
mov dword [ecx + 0xc], 4
call eax
sub esp, 0x14
mov dword [esi + 0xa0], eax
jmp 0x405584
mov eax, dword [esi + 0xa0]
cmp eax, 0
je 0x4055a0
cmp dword [esi + 0x5d4], 4
je 0x4055d9
mov eax, dword [esi + 0xc24]
mov dword [esi + 0x98], eax
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x98]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
jmp 0x4055d4
jmp 0x4055d9
cmp dword [esi + 0x5d8], 0
jne 0x40566d
mov eax, dword [esi + 0xc28]
mov dword [esi + 0x90], eax
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x90]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov dword [esi + 0x94], eax
jmp 0x405620
mov eax, dword [esi + 0x94]
cmp eax, 0
je 0x405668
mov eax, dword [esi + 0xc24]
mov dword [esi + 0x8c], eax
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x8c]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
jmp 0x405663
jmp 0x405668
jmp 0x40566d
mov eax, dword [esi + 0xc04]
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0xcd8]
mov edi, dword [eax + 0x34]
mov ebx, dword [eax + 0x50]
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x84]
mov ecx, esp
mov dword [ecx + 8], ebx
mov dword [ecx + 4], edi
mov dword [ecx], edx
mov dword [ecx + 0x10], 0x40
mov dword [ecx + 0xc], 0x3000
call eax
sub esp, 0x14
mov dword [esi + 0x88], eax
jmp 0x4056c0
mov eax, dword [esi + 0x88]
mov dword [esi + 0x5d0], eax
cmp dword [esi + 0x5d0], 0
jne 0x405712
mov eax, dword [esi + 0xc24]
mov dword [esi + 0x80], eax
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x80]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
jmp 0x40570d
jmp 0x405712
mov eax, dword [esi + 0xc08]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0xcd8]
mov eax, dword [eax + 0x54]
mov dword [esi + 0x74], eax
mov ebx, dword [esi + 0xe38]
mov edi, dword [esi + 0x5d0]
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x74]
mov ecx, esp
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x78]
mov dword [ecx + 8], ebx
mov dword [ecx + 4], edi
mov dword [ecx], edx
mov dword [ecx + 0x10], 0
call eax
sub esp, 0x14
mov dword [esi + 0x7c], eax
jmp 0x405767
mov eax, dword [esi + 0x7c]
cmp eax, 0
jne 0x4057a6
mov eax, dword [esi + 0xc24]
mov dword [esi + 0x70], eax
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x70]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
jmp 0x4057a1
jmp 0x4057a6
mov eax, dword [esi + 0xcd8]
add eax, 0x18
mov ecx, dword [esi + 0xcd8]
movzx ecx, word [ecx + 0x14]
add eax, ecx
mov dword [esi + 0x5cc], eax
mov word [esi + 0x5ca], 0
movzx eax, word [esi + 0x5ca]
mov ecx, dword [esi + 0xcd8]
movzx ecx, word [ecx + 6]
cmp eax, ecx
jge 0x405908
mov eax, dword [esi + 0x5cc]
movzx ecx, word [esi + 0x5ca]
imul ecx, ecx, 0x28
add eax, ecx
cmp dword [eax + 0x10], 0
jbe 0x4058f1
mov eax, dword [esi + 0x5d0]
mov ecx, dword [esi + 0x5cc]
movzx edx, word [esi + 0x5ca]
lea edx, [edx + edx*4]
mov ecx, dword [ecx + edx*8 + 0xc]
add eax, ecx
mov dword [esi + 0x5c4], eax
mov eax, dword [esi + 0xe38]
mov ecx, dword [esi + 0x5cc]
movzx edx, word [esi + 0x5ca]
lea edx, [edx + edx*4]
mov ecx, dword [ecx + edx*8 + 0x14]
add eax, ecx
mov dword [esi + 0x5c0], eax
mov eax, dword [esi + 0xc08]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x5cc]
movzx ecx, word [esi + 0x5ca]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + ecx*8 + 0x10]
mov dword [esi + 0x64], eax
mov ebx, dword [esi + 0x5c0]
mov edi, dword [esi + 0x5c4]
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x64]
mov dword [esi + 0x2498], 5
mov ecx, esp
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x68]
mov dword [ecx + 8], ebx
mov dword [ecx + 4], edi
mov dword [ecx], edx
mov dword [ecx + 0x10], 0
call eax
sub esp, 0x14
mov dword [esi + 0x6c], eax
jmp 0x4058ad
mov eax, dword [esi + 0x6c]
cmp eax, 0
jne 0x4058ec
mov eax, dword [esi + 0xc24]
mov dword [esi + 0x60], eax
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x60]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
jmp 0x4058e7
jmp 0x4058ec
jmp 0x4058f1
mov ax, word [esi + 0x5ca]
add ax, 1
mov word [esi + 0x5ca], ax
jmp 0x4057ca
mov eax, dword [esi + 0xcd8]
mov eax, dword [eax + 0x34]
mov dword [esi + 0x5bc], eax
mov eax, dword [esi + 0xc08]
mov dword [esi + 0x58], eax
mov edi, dword [esi + 0x6c4]
add edi, 8
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x58]
mov dword [esi + 0x2498], 5
mov ecx, esp
lea ebx, [esi + 0x5bc]
mov dword [ecx + 8], ebx
mov dword [ecx + 4], edi
mov dword [ecx], edx
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], 4
call eax
sub esp, 0x14
mov dword [esi + 0x5c], eax
jmp 0x40596e
mov eax, dword [esi + 0x5c]
cmp eax, 0
jne 0x4059ad
mov eax, dword [esi + 0xc24]
mov dword [esi + 0x54], eax
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x54]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
jmp 0x4059a8
jmp 0x4059ad
mov eax, dword [esi + 0x5d0]
mov ecx, dword [esi + 0xcd8]
mov ecx, dword [ecx + 0x28]
add eax, ecx
mov dword [esi + 0x6d0], eax
mov eax, dword [esi + 0xc14]
mov dword [esi + 0x4c], eax
lea ecx, [esi + 0x940]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x4c]
mov ecx, esp
lea edi, [esi + 0x620]
mov dword [ecx + 4], edi
mov dword [ecx], edx
call eax
sub esp, 8
mov dword [esi + 0x50], eax
jmp 0x4059f7
mov eax, dword [esi + 0x50]
cmp eax, 0
jne 0x405a36
mov eax, dword [esi + 0xc24]
mov dword [esi + 0x48], eax
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x48]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
jmp 0x405a31
jmp 0x405a36
mov eax, dword [esi + 0xc18]
mov dword [esi + 0x40], eax
lea ecx, [esi + 0x940]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x40]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
mov dword [esi + 0x44], eax
jmp 0x405a60
mov eax, dword [esi + 0x44]
cmp eax, 0xffffffff
jne 0x405a9f
mov eax, dword [esi + 0xc24]
mov dword [esi + 0x3c], eax
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x3c]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
jmp 0x405a9a
jmp 0x405a9f
mov eax, dword [esi + 0xc1c]
mov dword [esi + 0x34], eax
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], 0xffffffff
call eax
sub esp, 8
mov dword [esi + 0x38], eax
jmp 0x405ad0
mov eax, dword [esi + 0x38]
cmp eax, 0xffffffff
jne 0x405ae1
jmp 0x405ae1
mov dword [esi + 0x5b8], 0
mov eax, dword [esi + 0xc20]
mov dword [esi + 0x2c], eax
lea ecx, [esi + 0x998]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0x2c]
mov ecx, esp
lea edi, [esi + 0x5b8]
mov dword [ecx + 4], edi
mov dword [ecx], edx
call eax
sub esp, 8
mov dword [esi + 0x30], eax
jmp 0x405b1e
mov eax, dword [esi + 0x30]
cmp eax, 0
je 0x405b2f
jmp 0x405b2f
lea ecx, [esi + 0x940]
call fcn.00406f70
lea ecx, [esi + 0x998]
call fcn.00406f70
lea ecx, [esi + 0xeec]
call fcn.00406820
lea ecx, [esi + 0x1038]
call fcn.00407000
lea ecx, [esi + 0x247c]
call fcn.00407020
jmp 0x405b7e
nop word cs:[eax + eax]
nop dword [eax]
push ebp
sub esp, 0x28
lea esi, [ebp - 0x249c]
mov ebp, dword [esi + 0x28]
mov dword [esi + 0x248c], esp
mov eax, 0x401468
add esp, 0x28
pop ebp
ret