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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x1c80
call fcn.00426540
mov esi, esp
mov dword [esi + 0x1c], ebp
mov eax, dword [ebp + 8]
mov dword [esi + 0x258], eax
mov dword [esi + 0x25c], eax
mov eax, dword [ebp + 0xc]
mov eax, esp
mov dword [esi + 0x1c6c], eax
mov dword [esi + 0x1c78], 0xffffffff
lea eax, [esi + 0x1c70]
mov dword [esi + 0x1c74], 0x425bb0
mov ecx, dword fs:[0]
mov dword [esi + 0x1c70], ecx
mov dword fs:[0], eax
lea ecx, [esi + 0x1c60]
call fcn.00405fc0
mov dword [esi + 0x1c78], 0
lea ecx, [esi + 0x1c58]
call fcn.0040ce60
jmp 0x407fc4
mov dword [esi + 0x1c54], 1
cmp dword [esi + 0x1c54], 5
jg 0x4081bc
mov dword [esi + 0x1c50], 1
mov eax, dword [esi + 0x1c50]
cmp eax, dword [esi + 0x1c54]
jg 0x4081a8
mov dword [esi + 0x1c4c], 1
mov eax, dword [esi + 0x1c4c]
cmp eax, dword [esi + 0x1c50]
jg 0x408194
mov dword [esi + 0x1c48], 1
mov eax, dword [esi + 0x1c48]
cmp eax, dword [esi + 0x1c4c]
jg 0x408180
mov dword [esi + 0x1c44], 1
mov eax, dword [esi + 0x1c44]
cmp eax, dword [esi + 0x1c48]
jg 0x40816c
mov eax, dword [esi + 0x1c44]
mov ecx, dword [esi + 0x1c48]
mov edx, dword [esi + 0x1c4c]
mov edi, dword [esi + 0x1c50]
mov ebx, dword [esi + 0x1c54]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x3b0]
movsd xmm0, qword [esi + 0x3b0]
movsd qword [esi + 0x1c38], xmm0
movsd xmm0, qword [esi + 0x1c38]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x36
test al, 1
jne 0x4080f2
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x1c2c]
mov dword [esi + 0x254], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x254]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
mov eax, esp
lea ecx, [esi + 0x1c38]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x40810f
mov eax, esp
lea ecx, [esi + 0x1c54]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x250], eax
jmp 0x408132
mov ecx, dword [esi + 0x250]
mov eax, esp
lea edx, [esi + 0x1c38]
mov dword [eax + 4], edx
lea edx, [esi + 0x1c24]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x408158
mov eax, dword [esi + 0x1c44]
add eax, 1
mov dword [esi + 0x1c44], eax
jmp 0x408039
mov eax, dword [esi + 0x1c48]
add eax, 1
mov dword [esi + 0x1c48], eax
jmp 0x40801d
mov eax, dword [esi + 0x1c4c]
add eax, 1
mov dword [esi + 0x1c4c], eax
jmp 0x408001
mov eax, dword [esi + 0x1c50]
add eax, 1
mov dword [esi + 0x1c50], eax
jmp 0x407fe5
mov eax, dword [esi + 0x1c54]
add eax, 1
mov dword [esi + 0x1c54], eax
jmp 0x407fce
mov eax, esp
lea ecx, [esi + 0x1c14]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x244], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x244]
mov eax, esp
lea edx, [esi + 0x1c10]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1c10]
mov edx, dword [esi + 0x1c14]
mov dword [esi + 0x1c78], 0x36
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 + 0x3b8]
movsd xmm0, qword [esi + 0x3b8]
movsd qword [esi + 0x248], xmm0
jmp 0x4083a5
mov eax, esp
lea ecx, [esi + 0x1be4]
mov dword [eax], ecx
mov dword [eax + 8], 0x77
mov dword [eax + 4], 0x45d014
call fcn.00407380
jmp 0x408277
mov dword [esi + 0x1be0], 1
cmp dword [esi + 0x1be0], 5
jg 0x40850f
mov dword [esi + 0x1bdc], 1
mov eax, dword [esi + 0x1bdc]
cmp eax, dword [esi + 0x1be0]
jg 0x4084fb
mov dword [esi + 0x1bd8], 1
mov eax, dword [esi + 0x1bd8]
cmp eax, dword [esi + 0x1bdc]
jg 0x4084e7
mov dword [esi + 0x1bd4], 1
mov eax, dword [esi + 0x1bd4]
cmp eax, dword [esi + 0x1bd8]
jg 0x4084d3
mov dword [esi + 0x1bd0], 1
mov eax, dword [esi + 0x1bd0]
cmp eax, dword [esi + 0x1bd4]
jg 0x4084bf
mov eax, dword [esi + 0x1bd0]
mov ecx, dword [esi + 0x1bd4]
mov edx, dword [esi + 0x1bd8]
mov edi, dword [esi + 0x1bdc]
mov ebx, dword [esi + 0x1be0]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x3a0]
movsd xmm0, qword [esi + 0x3a0]
movsd qword [esi + 0x1bc8], xmm0
movsd xmm0, qword [esi + 0x1bc8]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x34
test al, 1
jne 0x408445
mov eax, esp
mov dword [eax], str.sadfhhasdhfhasdfhhasdcvhashvdhjssadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhas
lea ecx, [esi + 0x1bbc]
mov dword [esi + 0x240], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x240]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x248]
movsd qword [esi + 0x1c18], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x1c0c], eax
mov ecx, dword [esi + 0x1c0c]
lea eax, [esi + 0x1c08]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x1c0c]
lea eax, [esi + 0x1c04]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1c08]
lea eax, [esi + 0x1c04]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x408415
jmp 0x408436
lea ecx, [esi + 0x1c08]
call fcn.0040d020
mov dword [esi + 0x1c00], eax
lea ecx, [esi + 0x1c08]
call fcn.0040d040
jmp 0x4083ef
mov dword [esi + 0x1c78], 1
jmp 0x408255
mov eax, esp
lea ecx, [esi + 0x1bc8]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x408462
mov eax, esp
lea ecx, [esi + 0x1be0]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x23c], eax
jmp 0x408485
mov ecx, dword [esi + 0x23c]
mov eax, esp
lea edx, [esi + 0x1bc8]
mov dword [eax + 4], edx
lea edx, [esi + 0x1bb4]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x4084ab
mov eax, dword [esi + 0x1bd0]
add eax, 1
mov dword [esi + 0x1bd0], eax
jmp 0x4082ec
mov eax, dword [esi + 0x1bd4]
add eax, 1
mov dword [esi + 0x1bd4], eax
jmp 0x4082d0
mov eax, dword [esi + 0x1bd8]
add eax, 1
mov dword [esi + 0x1bd8], eax
jmp 0x4082b4
mov eax, dword [esi + 0x1bdc]
add eax, 1
mov dword [esi + 0x1bdc], eax
jmp 0x408298
mov eax, dword [esi + 0x1be0]
add eax, 1
mov dword [esi + 0x1be0], eax
jmp 0x408281
mov eax, esp
lea ecx, [esi + 0x1ba4]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x22c], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x22c]
mov eax, esp
lea edx, [esi + 0x1ba0]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1ba0]
mov edx, dword [esi + 0x1ba4]
mov dword [esi + 0x1c78], 0x34
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 + 0x3a8]
movsd xmm0, qword [esi + 0x3a8]
movsd qword [esi + 0x230], xmm0
jmp 0x4086f3
mov eax, esp
lea ecx, [esi + 0x1be4]
mov dword [eax], ecx
lea ecx, [esi + 0x1b88]
call fcn.0040d060
sub esp, 4
jmp 0x4085c5
mov dword [esi + 0x1b84], 1
cmp dword [esi + 0x1b84], 5
jg 0x40885d
mov dword [esi + 0x1b80], 1
mov eax, dword [esi + 0x1b80]
cmp eax, dword [esi + 0x1b84]
jg 0x408849
mov dword [esi + 0x1b7c], 1
mov eax, dword [esi + 0x1b7c]
cmp eax, dword [esi + 0x1b80]
jg 0x408835
mov dword [esi + 0x1b78], 1
mov eax, dword [esi + 0x1b78]
cmp eax, dword [esi + 0x1b7c]
jg 0x408821
mov dword [esi + 0x1b74], 1
mov eax, dword [esi + 0x1b74]
cmp eax, dword [esi + 0x1b78]
jg 0x40880d
mov eax, dword [esi + 0x1b74]
mov ecx, dword [esi + 0x1b78]
mov edx, dword [esi + 0x1b7c]
mov edi, dword [esi + 0x1b80]
mov ebx, dword [esi + 0x1b84]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x390]
movsd xmm0, qword [esi + 0x390]
movsd qword [esi + 0x1b68], xmm0
movsd xmm0, qword [esi + 0x1b68]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x32
test al, 1
jne 0x408793
mov eax, esp
mov dword [eax], str.sadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjashjdcsadfhhasdhfhasdfhhasdcvhashvdhjsdcavhjasdchjas
lea ecx, [esi + 0x1b5c]
mov dword [esi + 0x228], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x228]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x230]
movsd qword [esi + 0x1ba8], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x1b9c], eax
mov ecx, dword [esi + 0x1b9c]
lea eax, [esi + 0x1b98]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x1b9c]
lea eax, [esi + 0x1b94]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1b98]
lea eax, [esi + 0x1b94]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x408763
jmp 0x408784
lea ecx, [esi + 0x1b98]
call fcn.0040d020
mov dword [esi + 0x1b90], eax
lea ecx, [esi + 0x1b98]
call fcn.0040d040
jmp 0x40873d
mov dword [esi + 0x1c78], 2
jmp 0x4085a8
mov eax, esp
lea ecx, [esi + 0x1b68]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x4087b0
mov eax, esp
lea ecx, [esi + 0x1b84]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x224], eax
jmp 0x4087d3
mov ecx, dword [esi + 0x224]
mov eax, esp
lea edx, [esi + 0x1b68]
mov dword [eax + 4], edx
lea edx, [esi + 0x1b54]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x4087f9
mov eax, dword [esi + 0x1b74]
add eax, 1
mov dword [esi + 0x1b74], eax
jmp 0x40863a
mov eax, dword [esi + 0x1b78]
add eax, 1
mov dword [esi + 0x1b78], eax
jmp 0x40861e
mov eax, dword [esi + 0x1b7c]
add eax, 1
mov dword [esi + 0x1b7c], eax
jmp 0x408602
mov eax, dword [esi + 0x1b80]
add eax, 1
mov dword [esi + 0x1b80], eax
jmp 0x4085e6
mov eax, dword [esi + 0x1b84]
add eax, 1
mov dword [esi + 0x1b84], eax
jmp 0x4085cf
mov eax, esp
lea ecx, [esi + 0x1b44]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x214], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x214]
mov eax, esp
lea edx, [esi + 0x1b40]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1b40]
mov edx, dword [esi + 0x1b44]
mov dword [esi + 0x1c78], 0x32
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 + 0x398]
movsd xmm0, qword [esi + 0x398]
movsd qword [esi + 0x218], xmm0
jmp 0x40891e
lea ecx, [esi + 0x1b88]
call fcn.0040d180
test al, 1
jne 0x4089b4
mov ecx, dword [esi + 0x258]
call fcn.004074c0
mov dword [esi + 0x1b28], 1
jmp 0x40c9ce
movsd xmm0, qword [esi + 0x218]
movsd qword [esi + 0x1b48], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x1b3c], eax
mov ecx, dword [esi + 0x1b3c]
lea eax, [esi + 0x1b38]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x1b3c]
lea eax, [esi + 0x1b34]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1b38]
lea eax, [esi + 0x1b34]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40898e
jmp 0x4089af
lea ecx, [esi + 0x1b38]
call fcn.0040d020
mov dword [esi + 0x1b30], eax
lea ecx, [esi + 0x1b38]
call fcn.0040d040
jmp 0x408968
jmp 0x4088f1
mov dword [esi + 0x1b24], 1
cmp dword [esi + 0x1b24], 5
jg 0x408bac
mov dword [esi + 0x1b20], 1
mov eax, dword [esi + 0x1b20]
cmp eax, dword [esi + 0x1b24]
jg 0x408b98
mov dword [esi + 0x1b1c], 1
mov eax, dword [esi + 0x1b1c]
cmp eax, dword [esi + 0x1b20]
jg 0x408b84
mov dword [esi + 0x1b18], 1
mov eax, dword [esi + 0x1b18]
cmp eax, dword [esi + 0x1b1c]
jg 0x408b70
mov dword [esi + 0x1b14], 1
mov eax, dword [esi + 0x1b14]
cmp eax, dword [esi + 0x1b18]
jg 0x408b5c
mov eax, dword [esi + 0x1b14]
mov ecx, dword [esi + 0x1b18]
mov edx, dword [esi + 0x1b1c]
mov edi, dword [esi + 0x1b20]
mov ebx, dword [esi + 0x1b24]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x380]
movsd xmm0, qword [esi + 0x380]
movsd qword [esi + 0x1b08], xmm0
movsd xmm0, qword [esi + 0x1b08]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x30
test al, 1
jne 0x408ae2
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x1afc]
mov dword [esi + 0x210], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x210]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
mov eax, esp
lea ecx, [esi + 0x1b08]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x408aff
mov eax, esp
lea ecx, [esi + 0x1b24]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x20c], eax
jmp 0x408b22
mov ecx, dword [esi + 0x20c]
mov eax, esp
lea edx, [esi + 0x1b08]
mov dword [eax + 4], edx
lea edx, [esi + 0x1af4]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x408b48
mov eax, dword [esi + 0x1b14]
add eax, 1
mov dword [esi + 0x1b14], eax
jmp 0x408a29
mov eax, dword [esi + 0x1b18]
add eax, 1
mov dword [esi + 0x1b18], eax
jmp 0x408a0d
mov eax, dword [esi + 0x1b1c]
add eax, 1
mov dword [esi + 0x1b1c], eax
jmp 0x4089f1
mov eax, dword [esi + 0x1b20]
add eax, 1
mov dword [esi + 0x1b20], eax
jmp 0x4089d5
mov eax, dword [esi + 0x1b24]
add eax, 1
mov dword [esi + 0x1b24], eax
jmp 0x4089be
mov eax, esp
lea ecx, [esi + 0x1ae4]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x1fc], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x1fc]
mov eax, esp
lea edx, [esi + 0x1ae0]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1ae0]
mov edx, dword [esi + 0x1ae4]
mov dword [esi + 0x1c78], 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 + 0x388]
movsd xmm0, qword [esi + 0x388]
movsd qword [esi + 0x200], xmm0
jmp 0x408d95
mov eax, esp
lea ecx, [esi + 0x1ab4]
mov dword [eax], ecx
mov dword [eax + 8], 0x77
mov dword [eax + 4], 0x45d020
call fcn.00407380
jmp 0x408c67
mov dword [esi + 0x1ab0], 1
cmp dword [esi + 0x1ab0], 5
jg 0x408eff
mov dword [esi + 0x1aac], 1
mov eax, dword [esi + 0x1aac]
cmp eax, dword [esi + 0x1ab0]
jg 0x408eeb
mov dword [esi + 0x1aa8], 1
mov eax, dword [esi + 0x1aa8]
cmp eax, dword [esi + 0x1aac]
jg 0x408ed7
mov dword [esi + 0x1aa4], 1
mov eax, dword [esi + 0x1aa4]
cmp eax, dword [esi + 0x1aa8]
jg 0x408ec3
mov dword [esi + 0x1aa0], 1
mov eax, dword [esi + 0x1aa0]
cmp eax, dword [esi + 0x1aa4]
jg 0x408eaf
mov eax, dword [esi + 0x1aa0]
mov ecx, dword [esi + 0x1aa4]
mov edx, dword [esi + 0x1aa8]
mov edi, dword [esi + 0x1aac]
mov ebx, dword [esi + 0x1ab0]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x370]
movsd xmm0, qword [esi + 0x370]
movsd qword [esi + 0x1a98], xmm0
movsd xmm0, qword [esi + 0x1a98]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x2e
test al, 1
jne 0x408e35
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x1a8c]
mov dword [esi + 0x1f8], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x1f8]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x200]
movsd qword [esi + 0x1ae8], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x1adc], eax
mov ecx, dword [esi + 0x1adc]
lea eax, [esi + 0x1ad8]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x1adc]
lea eax, [esi + 0x1ad4]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1ad8]
lea eax, [esi + 0x1ad4]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x408e05
jmp 0x408e26
lea ecx, [esi + 0x1ad8]
call fcn.0040d020
mov dword [esi + 0x1ad0], eax
lea ecx, [esi + 0x1ad8]
call fcn.0040d040
jmp 0x408ddf
mov dword [esi + 0x1c78], 3
jmp 0x408c45
mov eax, esp
lea ecx, [esi + 0x1a98]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x408e52
mov eax, esp
lea ecx, [esi + 0x1ab0]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x1f4], eax
jmp 0x408e75
mov ecx, dword [esi + 0x1f4]
mov eax, esp
lea edx, [esi + 0x1a98]
mov dword [eax + 4], edx
lea edx, [esi + 0x1a84]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x408e9b
mov eax, dword [esi + 0x1aa0]
add eax, 1
mov dword [esi + 0x1aa0], eax
jmp 0x408cdc
mov eax, dword [esi + 0x1aa4]
add eax, 1
mov dword [esi + 0x1aa4], eax
jmp 0x408cc0
mov eax, dword [esi + 0x1aa8]
add eax, 1
mov dword [esi + 0x1aa8], eax
jmp 0x408ca4
mov eax, dword [esi + 0x1aac]
add eax, 1
mov dword [esi + 0x1aac], eax
jmp 0x408c88
mov eax, dword [esi + 0x1ab0]
add eax, 1
mov dword [esi + 0x1ab0], eax
jmp 0x408c71
mov eax, esp
lea ecx, [esi + 0x1a74]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x1e4], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x1e4]
mov eax, esp
lea edx, [esi + 0x1a70]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1a70]
mov edx, dword [esi + 0x1a74]
mov dword [esi + 0x1c78], 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 + 0x378]
movsd xmm0, qword [esi + 0x378]
movsd qword [esi + 0x1e8], xmm0
jmp 0x4090e8
mov eax, esp
lea ecx, [esi + 0x1a44]
mov dword [eax], ecx
mov dword [eax + 8], 0x77
mov dword [eax + 4], 0x45d02c
call fcn.00407380
jmp 0x408fba
mov dword [esi + 0x1a40], 1
cmp dword [esi + 0x1a40], 5
jg 0x409252
mov dword [esi + 0x1a3c], 1
mov eax, dword [esi + 0x1a3c]
cmp eax, dword [esi + 0x1a40]
jg 0x40923e
mov dword [esi + 0x1a38], 1
mov eax, dword [esi + 0x1a38]
cmp eax, dword [esi + 0x1a3c]
jg 0x40922a
mov dword [esi + 0x1a34], 1
mov eax, dword [esi + 0x1a34]
cmp eax, dword [esi + 0x1a38]
jg 0x409216
mov dword [esi + 0x1a30], 1
mov eax, dword [esi + 0x1a30]
cmp eax, dword [esi + 0x1a34]
jg 0x409202
mov eax, dword [esi + 0x1a30]
mov ecx, dword [esi + 0x1a34]
mov edx, dword [esi + 0x1a38]
mov edi, dword [esi + 0x1a3c]
mov ebx, dword [esi + 0x1a40]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x360]
movsd xmm0, qword [esi + 0x360]
movsd qword [esi + 0x1a28], xmm0
movsd xmm0, qword [esi + 0x1a28]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x2c
test al, 1
jne 0x409188
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x1a1c]
mov dword [esi + 0x1e0], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x1e0]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x1e8]
movsd qword [esi + 0x1a78], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x1a6c], eax
mov ecx, dword [esi + 0x1a6c]
lea eax, [esi + 0x1a68]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x1a6c]
lea eax, [esi + 0x1a64]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1a68]
lea eax, [esi + 0x1a64]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x409158
jmp 0x409179
lea ecx, [esi + 0x1a68]
call fcn.0040d020
mov dword [esi + 0x1a60], eax
lea ecx, [esi + 0x1a68]
call fcn.0040d040
jmp 0x409132
mov dword [esi + 0x1c78], 4
jmp 0x408f98
mov eax, esp
lea ecx, [esi + 0x1a28]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x4091a5
mov eax, esp
lea ecx, [esi + 0x1a40]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x1dc], eax
jmp 0x4091c8
mov ecx, dword [esi + 0x1dc]
mov eax, esp
lea edx, [esi + 0x1a28]
mov dword [eax + 4], edx
lea edx, [esi + 0x1a14]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x4091ee
mov eax, dword [esi + 0x1a30]
add eax, 1
mov dword [esi + 0x1a30], eax
jmp 0x40902f
mov eax, dword [esi + 0x1a34]
add eax, 1
mov dword [esi + 0x1a34], eax
jmp 0x409013
mov eax, dword [esi + 0x1a38]
add eax, 1
mov dword [esi + 0x1a38], eax
jmp 0x408ff7
mov eax, dword [esi + 0x1a3c]
add eax, 1
mov dword [esi + 0x1a3c], eax
jmp 0x408fdb
mov eax, dword [esi + 0x1a40]
add eax, 1
mov dword [esi + 0x1a40], eax
jmp 0x408fc4
mov eax, esp
lea ecx, [esi + 0x1a04]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x1cc], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x1cc]
mov eax, esp
lea edx, [esi + 0x1a00]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1a00]
mov edx, dword [esi + 0x1a04]
mov dword [esi + 0x1c78], 0x2c
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 + 0x368]
movsd xmm0, qword [esi + 0x368]
movsd qword [esi + 0x1d0], xmm0
jmp 0x40943b
mov eax, esp
lea ecx, [esi + 0x19d4]
mov dword [eax], ecx
mov dword [eax + 8], 0x77
mov dword [eax + 4], 0x45d038
call fcn.00407380
jmp 0x40930d
mov dword [esi + 0x19d0], 1
cmp dword [esi + 0x19d0], 5
jg 0x4095a5
mov dword [esi + 0x19cc], 1
mov eax, dword [esi + 0x19cc]
cmp eax, dword [esi + 0x19d0]
jg 0x409591
mov dword [esi + 0x19c8], 1
mov eax, dword [esi + 0x19c8]
cmp eax, dword [esi + 0x19cc]
jg 0x40957d
mov dword [esi + 0x19c4], 1
mov eax, dword [esi + 0x19c4]
cmp eax, dword [esi + 0x19c8]
jg 0x409569
mov dword [esi + 0x19c0], 1
mov eax, dword [esi + 0x19c0]
cmp eax, dword [esi + 0x19c4]
jg 0x409555
mov eax, dword [esi + 0x19c0]
mov ecx, dword [esi + 0x19c4]
mov edx, dword [esi + 0x19c8]
mov edi, dword [esi + 0x19cc]
mov ebx, dword [esi + 0x19d0]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x350]
movsd xmm0, qword [esi + 0x350]
movsd qword [esi + 0x19b8], xmm0
movsd xmm0, qword [esi + 0x19b8]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x2a
test al, 1
jne 0x4094db
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x19ac]
mov dword [esi + 0x1c8], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x1c8]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x1d0]
movsd qword [esi + 0x1a08], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x19fc], eax
mov ecx, dword [esi + 0x19fc]
lea eax, [esi + 0x19f8]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x19fc]
lea eax, [esi + 0x19f4]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x19f8]
lea eax, [esi + 0x19f4]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x4094ab
jmp 0x4094cc
lea ecx, [esi + 0x19f8]
call fcn.0040d020
mov dword [esi + 0x19f0], eax
lea ecx, [esi + 0x19f8]
call fcn.0040d040
jmp 0x409485
mov dword [esi + 0x1c78], 5
jmp 0x4092eb
mov eax, esp
lea ecx, [esi + 0x19b8]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x4094f8
mov eax, esp
lea ecx, [esi + 0x19d0]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x1c4], eax
jmp 0x40951b
mov ecx, dword [esi + 0x1c4]
mov eax, esp
lea edx, [esi + 0x19b8]
mov dword [eax + 4], edx
lea edx, [esi + 0x19a4]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x409541
mov eax, dword [esi + 0x19c0]
add eax, 1
mov dword [esi + 0x19c0], eax
jmp 0x409382
mov eax, dword [esi + 0x19c4]
add eax, 1
mov dword [esi + 0x19c4], eax
jmp 0x409366
mov eax, dword [esi + 0x19c8]
add eax, 1
mov dword [esi + 0x19c8], eax
jmp 0x40934a
mov eax, dword [esi + 0x19cc]
add eax, 1
mov dword [esi + 0x19cc], eax
jmp 0x40932e
mov eax, dword [esi + 0x19d0]
add eax, 1
mov dword [esi + 0x19d0], eax
jmp 0x409317
mov eax, esp
lea ecx, [esi + 0x1994]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x1b4], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x1b4]
mov eax, esp
lea edx, [esi + 0x1990]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1990]
mov edx, dword [esi + 0x1994]
mov dword [esi + 0x1c78], 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 + 0x358]
movsd xmm0, qword [esi + 0x358]
movsd qword [esi + 0x1b8], xmm0
jmp 0x40978e
mov eax, esp
lea ecx, [esi + 0x1964]
mov dword [eax], ecx
mov dword [eax + 8], 0x77
mov dword [eax + 4], 0x45d044
call fcn.00407380
jmp 0x409660
mov dword [esi + 0x1960], 1
cmp dword [esi + 0x1960], 5
jg 0x4098f8
mov dword [esi + 0x195c], 1
mov eax, dword [esi + 0x195c]
cmp eax, dword [esi + 0x1960]
jg 0x4098e4
mov dword [esi + 0x1958], 1
mov eax, dword [esi + 0x1958]
cmp eax, dword [esi + 0x195c]
jg 0x4098d0
mov dword [esi + 0x1954], 1
mov eax, dword [esi + 0x1954]
cmp eax, dword [esi + 0x1958]
jg 0x4098bc
mov dword [esi + 0x1950], 1
mov eax, dword [esi + 0x1950]
cmp eax, dword [esi + 0x1954]
jg 0x4098a8
mov eax, dword [esi + 0x1950]
mov ecx, dword [esi + 0x1954]
mov edx, dword [esi + 0x1958]
mov edi, dword [esi + 0x195c]
mov ebx, dword [esi + 0x1960]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x340]
movsd xmm0, qword [esi + 0x340]
movsd qword [esi + 0x1948], xmm0
movsd xmm0, qword [esi + 0x1948]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x28
test al, 1
jne 0x40982e
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x193c]
mov dword [esi + 0x1b0], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x1b0]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x1b8]
movsd qword [esi + 0x1998], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x198c], eax
mov ecx, dword [esi + 0x198c]
lea eax, [esi + 0x1988]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x198c]
lea eax, [esi + 0x1984]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1988]
lea eax, [esi + 0x1984]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x4097fe
jmp 0x40981f
lea ecx, [esi + 0x1988]
call fcn.0040d020
mov dword [esi + 0x1980], eax
lea ecx, [esi + 0x1988]
call fcn.0040d040
jmp 0x4097d8
mov dword [esi + 0x1c78], 6
jmp 0x40963e
mov eax, esp
lea ecx, [esi + 0x1948]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x40984b
mov eax, esp
lea ecx, [esi + 0x1960]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x1ac], eax
jmp 0x40986e
mov ecx, dword [esi + 0x1ac]
mov eax, esp
lea edx, [esi + 0x1948]
mov dword [eax + 4], edx
lea edx, [esi + 0x1934]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x409894
mov eax, dword [esi + 0x1950]
add eax, 1
mov dword [esi + 0x1950], eax
jmp 0x4096d5
mov eax, dword [esi + 0x1954]
add eax, 1
mov dword [esi + 0x1954], eax
jmp 0x4096b9
mov eax, dword [esi + 0x1958]
add eax, 1
mov dword [esi + 0x1958], eax
jmp 0x40969d
mov eax, dword [esi + 0x195c]
add eax, 1
mov dword [esi + 0x195c], eax
jmp 0x409681
mov eax, dword [esi + 0x1960]
add eax, 1
mov dword [esi + 0x1960], eax
jmp 0x40966a
mov eax, esp
lea ecx, [esi + 0x1924]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x19c], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x19c]
mov eax, esp
lea edx, [esi + 0x1920]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1920]
mov edx, dword [esi + 0x1924]
mov dword [esi + 0x1c78], 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 + 0x348]
movsd xmm0, qword [esi + 0x348]
movsd qword [esi + 0x1a0], xmm0
jmp 0x409ae1
mov eax, esp
lea ecx, [esi + 0x18f4]
mov dword [eax], ecx
mov dword [eax + 8], 0x77
mov dword [eax + 4], 0x45d050
call fcn.00407380
jmp 0x4099b3
mov dword [esi + 0x18f0], 1
cmp dword [esi + 0x18f0], 5
jg 0x409c4b
mov dword [esi + 0x18ec], 1
mov eax, dword [esi + 0x18ec]
cmp eax, dword [esi + 0x18f0]
jg 0x409c37
mov dword [esi + 0x18e8], 1
mov eax, dword [esi + 0x18e8]
cmp eax, dword [esi + 0x18ec]
jg 0x409c23
mov dword [esi + 0x18e4], 1
mov eax, dword [esi + 0x18e4]
cmp eax, dword [esi + 0x18e8]
jg 0x409c0f
mov dword [esi + 0x18e0], 1
mov eax, dword [esi + 0x18e0]
cmp eax, dword [esi + 0x18e4]
jg 0x409bfb
mov eax, dword [esi + 0x18e0]
mov ecx, dword [esi + 0x18e4]
mov edx, dword [esi + 0x18e8]
mov edi, dword [esi + 0x18ec]
mov ebx, dword [esi + 0x18f0]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x330]
movsd xmm0, qword [esi + 0x330]
movsd qword [esi + 0x18d8], xmm0
movsd xmm0, qword [esi + 0x18d8]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x26
test al, 1
jne 0x409b81
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x18cc]
mov dword [esi + 0x198], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x198]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x1a0]
movsd qword [esi + 0x1928], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x191c], eax
mov ecx, dword [esi + 0x191c]
lea eax, [esi + 0x1918]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x191c]
lea eax, [esi + 0x1914]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1918]
lea eax, [esi + 0x1914]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x409b51
jmp 0x409b72
lea ecx, [esi + 0x1918]
call fcn.0040d020
mov dword [esi + 0x1910], eax
lea ecx, [esi + 0x1918]
call fcn.0040d040
jmp 0x409b2b
mov dword [esi + 0x1c78], 7
jmp 0x409991
mov eax, esp
lea ecx, [esi + 0x18d8]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x409b9e
mov eax, esp
lea ecx, [esi + 0x18f0]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x194], eax
jmp 0x409bc1
mov ecx, dword [esi + 0x194]
mov eax, esp
lea edx, [esi + 0x18d8]
mov dword [eax + 4], edx
lea edx, [esi + 0x18c4]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x409be7
mov eax, dword [esi + 0x18e0]
add eax, 1
mov dword [esi + 0x18e0], eax
jmp 0x409a28
mov eax, dword [esi + 0x18e4]
add eax, 1
mov dword [esi + 0x18e4], eax
jmp 0x409a0c
mov eax, dword [esi + 0x18e8]
add eax, 1
mov dword [esi + 0x18e8], eax
jmp 0x4099f0
mov eax, dword [esi + 0x18ec]
add eax, 1
mov dword [esi + 0x18ec], eax
jmp 0x4099d4
mov eax, dword [esi + 0x18f0]
add eax, 1
mov dword [esi + 0x18f0], eax
jmp 0x4099bd
mov eax, esp
lea ecx, [esi + 0x18b4]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x184], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x184]
mov eax, esp
lea edx, [esi + 0x18b0]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x18b0]
mov edx, dword [esi + 0x18b4]
mov dword [esi + 0x1c78], 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 + 0x338]
movsd xmm0, qword [esi + 0x338]
movsd qword [esi + 0x188], xmm0
jmp 0x409e32
lea ecx, [esi + 0x1b88]
call fcn.00406f50
mov ecx, eax
lea eax, [esi + 0x1ab4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407ef0
mov dword [esi + 0x1898], eax
mov dword [esi + 0x1894], 1
cmp dword [esi + 0x1894], 5
jg 0x409f92
mov dword [esi + 0x1890], 1
mov eax, dword [esi + 0x1890]
cmp eax, dword [esi + 0x1894]
jg 0x409f7e
mov dword [esi + 0x188c], 1
mov eax, dword [esi + 0x188c]
cmp eax, dword [esi + 0x1890]
jg 0x409f6a
mov dword [esi + 0x1888], 1
mov eax, dword [esi + 0x1888]
cmp eax, dword [esi + 0x188c]
jg 0x409f56
mov dword [esi + 0x1884], 1
mov eax, dword [esi + 0x1884]
cmp eax, dword [esi + 0x1888]
jg 0x409f42
mov eax, dword [esi + 0x1884]
mov ecx, dword [esi + 0x1888]
mov edx, dword [esi + 0x188c]
mov edi, dword [esi + 0x1890]
mov ebx, dword [esi + 0x1894]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x320]
movsd xmm0, qword [esi + 0x320]
movsd qword [esi + 0x1878], xmm0
movsd xmm0, qword [esi + 0x1878]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x24
test al, 1
jne 0x409ec8
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x186c]
mov dword [esi + 0x180], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x180]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x188]
movsd qword [esi + 0x18b8], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x18ac], eax
mov ecx, dword [esi + 0x18ac]
lea eax, [esi + 0x18a8]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x18ac]
lea eax, [esi + 0x18a4]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x18a8]
lea eax, [esi + 0x18a4]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x409ea2
jmp 0x409ec3
lea ecx, [esi + 0x18a8]
call fcn.0040d020
mov dword [esi + 0x18a0], eax
lea ecx, [esi + 0x18a8]
call fcn.0040d040
jmp 0x409e7c
jmp 0x409cdf
mov eax, esp
lea ecx, [esi + 0x1878]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x409ee5
mov eax, esp
lea ecx, [esi + 0x1894]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x17c], eax
jmp 0x409f08
mov ecx, dword [esi + 0x17c]
mov eax, esp
lea edx, [esi + 0x1878]
mov dword [eax + 4], edx
lea edx, [esi + 0x1864]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x409f2e
mov eax, dword [esi + 0x1884]
add eax, 1
mov dword [esi + 0x1884], eax
jmp 0x409d79
mov eax, dword [esi + 0x1888]
add eax, 1
mov dword [esi + 0x1888], eax
jmp 0x409d5d
mov eax, dword [esi + 0x188c]
add eax, 1
mov dword [esi + 0x188c], eax
jmp 0x409d41
mov eax, dword [esi + 0x1890]
add eax, 1
mov dword [esi + 0x1890], eax
jmp 0x409d25
mov eax, dword [esi + 0x1894]
add eax, 1
mov dword [esi + 0x1894], eax
jmp 0x409d0e
mov eax, esp
lea ecx, [esi + 0x1854]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x16c], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x16c]
mov eax, esp
lea edx, [esi + 0x1850]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1850]
mov edx, dword [esi + 0x1854]
mov dword [esi + 0x1c78], 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 + 0x328]
movsd xmm0, qword [esi + 0x328]
movsd qword [esi + 0x170], xmm0
jmp 0x40a179
lea ecx, [esi + 0x1b88]
call fcn.00406f50
mov ecx, eax
lea eax, [esi + 0x1a44]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407ef0
mov dword [esi + 0x1838], eax
mov dword [esi + 0x1834], 1
cmp dword [esi + 0x1834], 5
jg 0x40a2d9
mov dword [esi + 0x1830], 1
mov eax, dword [esi + 0x1830]
cmp eax, dword [esi + 0x1834]
jg 0x40a2c5
mov dword [esi + 0x182c], 1
mov eax, dword [esi + 0x182c]
cmp eax, dword [esi + 0x1830]
jg 0x40a2b1
mov dword [esi + 0x1828], 1
mov eax, dword [esi + 0x1828]
cmp eax, dword [esi + 0x182c]
jg 0x40a29d
mov dword [esi + 0x1824], 1
mov eax, dword [esi + 0x1824]
cmp eax, dword [esi + 0x1828]
jg 0x40a289
mov eax, dword [esi + 0x1824]
mov ecx, dword [esi + 0x1828]
mov edx, dword [esi + 0x182c]
mov edi, dword [esi + 0x1830]
mov ebx, dword [esi + 0x1834]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x310]
movsd xmm0, qword [esi + 0x310]
movsd qword [esi + 0x1818], xmm0
movsd xmm0, qword [esi + 0x1818]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x22
test al, 1
jne 0x40a20f
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x180c]
mov dword [esi + 0x168], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x168]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x170]
movsd qword [esi + 0x1858], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x184c], eax
mov ecx, dword [esi + 0x184c]
lea eax, [esi + 0x1848]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x184c]
lea eax, [esi + 0x1844]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1848]
lea eax, [esi + 0x1844]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40a1e9
jmp 0x40a20a
lea ecx, [esi + 0x1848]
call fcn.0040d020
mov dword [esi + 0x1840], eax
lea ecx, [esi + 0x1848]
call fcn.0040d040
jmp 0x40a1c3
jmp 0x40a026
mov eax, esp
lea ecx, [esi + 0x1818]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x40a22c
mov eax, esp
lea ecx, [esi + 0x1834]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x164], eax
jmp 0x40a24f
mov ecx, dword [esi + 0x164]
mov eax, esp
lea edx, [esi + 0x1818]
mov dword [eax + 4], edx
lea edx, [esi + 0x1804]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x40a275
mov eax, dword [esi + 0x1824]
add eax, 1
mov dword [esi + 0x1824], eax
jmp 0x40a0c0
mov eax, dword [esi + 0x1828]
add eax, 1
mov dword [esi + 0x1828], eax
jmp 0x40a0a4
mov eax, dword [esi + 0x182c]
add eax, 1
mov dword [esi + 0x182c], eax
jmp 0x40a088
mov eax, dword [esi + 0x1830]
add eax, 1
mov dword [esi + 0x1830], eax
jmp 0x40a06c
mov eax, dword [esi + 0x1834]
add eax, 1
mov dword [esi + 0x1834], eax
jmp 0x40a055
mov eax, esp
lea ecx, [esi + 0x17f4]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x154], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x154]
mov eax, esp
lea edx, [esi + 0x17f0]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x17f0]
mov edx, dword [esi + 0x17f4]
mov dword [esi + 0x1c78], 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 + 0x318]
movsd xmm0, qword [esi + 0x318]
movsd qword [esi + 0x158], xmm0
jmp 0x40a4c0
lea ecx, [esi + 0x1b88]
call fcn.00406f50
mov ecx, eax
lea eax, [esi + 0x19d4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407ef0
mov dword [esi + 0x17d8], eax
mov dword [esi + 0x17d4], 1
cmp dword [esi + 0x17d4], 5
jg 0x40a620
mov dword [esi + 0x17d0], 1
mov eax, dword [esi + 0x17d0]
cmp eax, dword [esi + 0x17d4]
jg 0x40a60c
mov dword [esi + 0x17cc], 1
mov eax, dword [esi + 0x17cc]
cmp eax, dword [esi + 0x17d0]
jg 0x40a5f8
mov dword [esi + 0x17c8], 1
mov eax, dword [esi + 0x17c8]
cmp eax, dword [esi + 0x17cc]
jg 0x40a5e4
mov dword [esi + 0x17c4], 1
mov eax, dword [esi + 0x17c4]
cmp eax, dword [esi + 0x17c8]
jg 0x40a5d0
mov eax, dword [esi + 0x17c4]
mov ecx, dword [esi + 0x17c8]
mov edx, dword [esi + 0x17cc]
mov edi, dword [esi + 0x17d0]
mov ebx, dword [esi + 0x17d4]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x300]
movsd xmm0, qword [esi + 0x300]
movsd qword [esi + 0x17b8], xmm0
movsd xmm0, qword [esi + 0x17b8]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x20
test al, 1
jne 0x40a556
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x17ac]
mov dword [esi + 0x150], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x150]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x158]
movsd qword [esi + 0x17f8], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x17ec], eax
mov ecx, dword [esi + 0x17ec]
lea eax, [esi + 0x17e8]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x17ec]
lea eax, [esi + 0x17e4]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x17e8]
lea eax, [esi + 0x17e4]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40a530
jmp 0x40a551
lea ecx, [esi + 0x17e8]
call fcn.0040d020
mov dword [esi + 0x17e0], eax
lea ecx, [esi + 0x17e8]
call fcn.0040d040
jmp 0x40a50a
jmp 0x40a36d
mov eax, esp
lea ecx, [esi + 0x17b8]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x40a573
mov eax, esp
lea ecx, [esi + 0x17d4]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x14c], eax
jmp 0x40a596
mov ecx, dword [esi + 0x14c]
mov eax, esp
lea edx, [esi + 0x17b8]
mov dword [eax + 4], edx
lea edx, [esi + 0x17a4]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x40a5bc
mov eax, dword [esi + 0x17c4]
add eax, 1
mov dword [esi + 0x17c4], eax
jmp 0x40a407
mov eax, dword [esi + 0x17c8]
add eax, 1
mov dword [esi + 0x17c8], eax
jmp 0x40a3eb
mov eax, dword [esi + 0x17cc]
add eax, 1
mov dword [esi + 0x17cc], eax
jmp 0x40a3cf
mov eax, dword [esi + 0x17d0]
add eax, 1
mov dword [esi + 0x17d0], eax
jmp 0x40a3b3
mov eax, dword [esi + 0x17d4]
add eax, 1
mov dword [esi + 0x17d4], eax
jmp 0x40a39c
mov eax, esp
lea ecx, [esi + 0x1794]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x13c], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x13c]
mov eax, esp
lea edx, [esi + 0x1790]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1790]
mov edx, dword [esi + 0x1794]
mov dword [esi + 0x1c78], 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 + 0x308]
movsd xmm0, qword [esi + 0x308]
movsd qword [esi + 0x140], xmm0
jmp 0x40a807
lea ecx, [esi + 0x1b88]
call fcn.00406f50
mov ecx, eax
lea eax, [esi + 0x1964]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407ef0
mov dword [esi + 0x1778], eax
mov dword [esi + 0x1774], 1
cmp dword [esi + 0x1774], 5
jg 0x40a967
mov dword [esi + 0x1770], 1
mov eax, dword [esi + 0x1770]
cmp eax, dword [esi + 0x1774]
jg 0x40a953
mov dword [esi + 0x176c], 1
mov eax, dword [esi + 0x176c]
cmp eax, dword [esi + 0x1770]
jg 0x40a93f
mov dword [esi + 0x1768], 1
mov eax, dword [esi + 0x1768]
cmp eax, dword [esi + 0x176c]
jg 0x40a92b
mov dword [esi + 0x1764], 1
mov eax, dword [esi + 0x1764]
cmp eax, dword [esi + 0x1768]
jg 0x40a917
mov eax, dword [esi + 0x1764]
mov ecx, dword [esi + 0x1768]
mov edx, dword [esi + 0x176c]
mov edi, dword [esi + 0x1770]
mov ebx, dword [esi + 0x1774]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x2f0]
movsd xmm0, qword [esi + 0x2f0]
movsd qword [esi + 0x1758], xmm0
movsd xmm0, qword [esi + 0x1758]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x1e
test al, 1
jne 0x40a89d
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x174c]
mov dword [esi + 0x138], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x138]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x140]
movsd qword [esi + 0x1798], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x178c], eax
mov ecx, dword [esi + 0x178c]
lea eax, [esi + 0x1788]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x178c]
lea eax, [esi + 0x1784]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1788]
lea eax, [esi + 0x1784]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40a877
jmp 0x40a898
lea ecx, [esi + 0x1788]
call fcn.0040d020
mov dword [esi + 0x1780], eax
lea ecx, [esi + 0x1788]
call fcn.0040d040
jmp 0x40a851
jmp 0x40a6b4
mov eax, esp
lea ecx, [esi + 0x1758]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x40a8ba
mov eax, esp
lea ecx, [esi + 0x1774]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x134], eax
jmp 0x40a8dd
mov ecx, dword [esi + 0x134]
mov eax, esp
lea edx, [esi + 0x1758]
mov dword [eax + 4], edx
lea edx, [esi + 0x1744]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x40a903
mov eax, dword [esi + 0x1764]
add eax, 1
mov dword [esi + 0x1764], eax
jmp 0x40a74e
mov eax, dword [esi + 0x1768]
add eax, 1
mov dword [esi + 0x1768], eax
jmp 0x40a732
mov eax, dword [esi + 0x176c]
add eax, 1
mov dword [esi + 0x176c], eax
jmp 0x40a716
mov eax, dword [esi + 0x1770]
add eax, 1
mov dword [esi + 0x1770], eax
jmp 0x40a6fa
mov eax, dword [esi + 0x1774]
add eax, 1
mov dword [esi + 0x1774], eax
jmp 0x40a6e3
mov eax, esp
lea ecx, [esi + 0x1734]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x124], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x124]
mov eax, esp
lea edx, [esi + 0x1730]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1730]
mov edx, dword [esi + 0x1734]
mov dword [esi + 0x1c78], 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 + 0x2f8]
movsd xmm0, qword [esi + 0x2f8]
movsd qword [esi + 0x128], xmm0
jmp 0x40aa49
cmp dword [esi + 0x1898], 0
je 0x40aa2f
cmp dword [esi + 0x1838], 0
je 0x40aa2f
cmp dword [esi + 0x17d8], 0
je 0x40aa2f
cmp dword [esi + 0x1778], 0
jne 0x40aadf
mov ecx, dword [esi + 0x258]
call fcn.004074c0
mov dword [esi + 0x1b28], 1
jmp 0x40c992
movsd xmm0, qword [esi + 0x128]
movsd qword [esi + 0x1738], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x172c], eax
mov ecx, dword [esi + 0x172c]
lea eax, [esi + 0x1728]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x172c]
lea eax, [esi + 0x1724]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1728]
lea eax, [esi + 0x1724]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40aab9
jmp 0x40aada
lea ecx, [esi + 0x1728]
call fcn.0040d020
mov dword [esi + 0x1720], eax
lea ecx, [esi + 0x1728]
call fcn.0040d040
jmp 0x40aa93
jmp 0x40a9fb
mov dword [esi + 0x1718], 1
cmp dword [esi + 0x1718], 5
jg 0x40acd7
mov dword [esi + 0x1714], 1
mov eax, dword [esi + 0x1714]
cmp eax, dword [esi + 0x1718]
jg 0x40acc3
mov dword [esi + 0x1710], 1
mov eax, dword [esi + 0x1710]
cmp eax, dword [esi + 0x1714]
jg 0x40acaf
mov dword [esi + 0x170c], 1
mov eax, dword [esi + 0x170c]
cmp eax, dword [esi + 0x1710]
jg 0x40ac9b
mov dword [esi + 0x1708], 1
mov eax, dword [esi + 0x1708]
cmp eax, dword [esi + 0x170c]
jg 0x40ac87
mov eax, dword [esi + 0x1708]
mov ecx, dword [esi + 0x170c]
mov edx, dword [esi + 0x1710]
mov edi, dword [esi + 0x1714]
mov ebx, dword [esi + 0x1718]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x2e0]
movsd xmm0, qword [esi + 0x2e0]
movsd qword [esi + 0x1700], xmm0
movsd xmm0, qword [esi + 0x1700]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x1c
test al, 1
jne 0x40ac0d
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x16f4]
mov dword [esi + 0x120], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x120]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
mov eax, esp
lea ecx, [esi + 0x1700]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x40ac2a
mov eax, esp
lea ecx, [esi + 0x1718]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x11c], eax
jmp 0x40ac4d
mov ecx, dword [esi + 0x11c]
mov eax, esp
lea edx, [esi + 0x1700]
mov dword [eax + 4], edx
lea edx, [esi + 0x16ec]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x40ac73
mov eax, dword [esi + 0x1708]
add eax, 1
mov dword [esi + 0x1708], eax
jmp 0x40ab54
mov eax, dword [esi + 0x170c]
add eax, 1
mov dword [esi + 0x170c], eax
jmp 0x40ab38
mov eax, dword [esi + 0x1710]
add eax, 1
mov dword [esi + 0x1710], eax
jmp 0x40ab1c
mov eax, dword [esi + 0x1714]
add eax, 1
mov dword [esi + 0x1714], eax
jmp 0x40ab00
mov eax, dword [esi + 0x1718]
add eax, 1
mov dword [esi + 0x1718], eax
jmp 0x40aae9
mov eax, esp
lea ecx, [esi + 0x16dc]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x10c], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x10c]
mov eax, esp
lea edx, [esi + 0x16d8]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x16d8]
mov edx, dword [esi + 0x16dc]
mov dword [esi + 0x1c78], 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 + 0x2e8]
movsd xmm0, qword [esi + 0x2e8]
movsd qword [esi + 0x110], xmm0
jmp 0x40af1e
mov eax, dword [esi + 0x1898]
mov dword [esi + 0x104], eax
lea ecx, [esi + 0x16bc]
call fcn.0040d1a0
mov dword [esi + 0x108], eax
jmp 0x40ad92
mov ecx, dword [esi + 0x108]
call fcn.0040d250
mov dword [esi + 0x100], eax
jmp 0x40ada8
mov eax, dword [esi + 0x104]
mov edx, dword [esi + 0x100]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 1
call eax
sub esp, 0x14
mov dword [esi + 0xfc], eax
jmp 0x40ade4
mov eax, dword [esi + 0xfc]
mov dword [esi + 0x16c0], eax
mov dword [esi + 0x16b8], 1
cmp dword [esi + 0x16b8], 5
jg 0x40b088
mov dword [esi + 0x16b4], 1
mov eax, dword [esi + 0x16b4]
cmp eax, dword [esi + 0x16b8]
jg 0x40b074
mov dword [esi + 0x16b0], 1
mov eax, dword [esi + 0x16b0]
cmp eax, dword [esi + 0x16b4]
jg 0x40b060
mov dword [esi + 0x16ac], 1
mov eax, dword [esi + 0x16ac]
cmp eax, dword [esi + 0x16b0]
jg 0x40b04c
mov dword [esi + 0x16a8], 1
mov eax, dword [esi + 0x16a8]
cmp eax, dword [esi + 0x16ac]
jg 0x40b038
mov eax, dword [esi + 0x16a8]
mov ecx, dword [esi + 0x16ac]
mov edx, dword [esi + 0x16b0]
mov edi, dword [esi + 0x16b4]
mov ebx, dword [esi + 0x16b8]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x2d0]
movsd xmm0, qword [esi + 0x2d0]
movsd qword [esi + 0x16a0], xmm0
movsd xmm0, qword [esi + 0x16a0]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x1a
test al, 1
jne 0x40afbe
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x1694]
mov dword [esi + 0xf8], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0xf8]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x110]
movsd qword [esi + 0x16e0], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x16d4], eax
mov ecx, dword [esi + 0x16d4]
lea eax, [esi + 0x16d0]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x16d4]
lea eax, [esi + 0x16cc]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x16d0]
lea eax, [esi + 0x16cc]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40af8e
jmp 0x40afaf
lea ecx, [esi + 0x16d0]
call fcn.0040d020
mov dword [esi + 0x16c8], eax
lea ecx, [esi + 0x16d0]
call fcn.0040d040
jmp 0x40af68
mov dword [esi + 0x1c78], 8
jmp 0x40ad70
mov eax, esp
lea ecx, [esi + 0x16a0]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x40afdb
mov eax, esp
lea ecx, [esi + 0x16b8]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0xf4], eax
jmp 0x40affe
mov ecx, dword [esi + 0xf4]
mov eax, esp
lea edx, [esi + 0x16a0]
mov dword [eax + 4], edx
lea edx, [esi + 0x168c]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x40b024
mov eax, dword [esi + 0x16a8]
add eax, 1
mov dword [esi + 0x16a8], eax
jmp 0x40ae65
mov eax, dword [esi + 0x16ac]
add eax, 1
mov dword [esi + 0x16ac], eax
jmp 0x40ae49
mov eax, dword [esi + 0x16b0]
add eax, 1
mov dword [esi + 0x16b0], eax
jmp 0x40ae2d
mov eax, dword [esi + 0x16b4]
add eax, 1
mov dword [esi + 0x16b4], eax
jmp 0x40ae11
mov eax, dword [esi + 0x16b8]
add eax, 1
mov dword [esi + 0x16b8], eax
jmp 0x40adfa
mov eax, esp
lea ecx, [esi + 0x167c]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0xe4], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0xe4]
mov eax, esp
lea edx, [esi + 0x1678]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1678]
mov edx, dword [esi + 0x167c]
mov dword [esi + 0x1c78], 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 + 0x2d8]
movsd xmm0, qword [esi + 0x2d8]
movsd qword [esi + 0xe8], xmm0
jmp 0x40b143
cmp dword [esi + 0x16c0], 0
jne 0x40b1d9
mov ecx, dword [esi + 0x258]
call fcn.004074c0
mov dword [esi + 0x1b28], 1
jmp 0x40c992
movsd xmm0, qword [esi + 0xe8]
movsd qword [esi + 0x1680], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x1674], eax
mov ecx, dword [esi + 0x1674]
lea eax, [esi + 0x1670]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x1674]
lea eax, [esi + 0x166c]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1670]
lea eax, [esi + 0x166c]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40b1b3
jmp 0x40b1d4
lea ecx, [esi + 0x1670]
call fcn.0040d020
mov dword [esi + 0x1668], eax
lea ecx, [esi + 0x1670]
call fcn.0040d040
jmp 0x40b18d
jmp 0x40b11c
mov dword [esi + 0x1660], 1
cmp dword [esi + 0x1660], 5
jg 0x40b3d1
mov dword [esi + 0x165c], 1
mov eax, dword [esi + 0x165c]
cmp eax, dword [esi + 0x1660]
jg 0x40b3bd
mov dword [esi + 0x1658], 1
mov eax, dword [esi + 0x1658]
cmp eax, dword [esi + 0x165c]
jg 0x40b3a9
mov dword [esi + 0x1654], 1
mov eax, dword [esi + 0x1654]
cmp eax, dword [esi + 0x1658]
jg 0x40b395
mov dword [esi + 0x1650], 1
mov eax, dword [esi + 0x1650]
cmp eax, dword [esi + 0x1654]
jg 0x40b381
mov eax, dword [esi + 0x1650]
mov ecx, dword [esi + 0x1654]
mov edx, dword [esi + 0x1658]
mov edi, dword [esi + 0x165c]
mov ebx, dword [esi + 0x1660]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x2c0]
movsd xmm0, qword [esi + 0x2c0]
movsd qword [esi + 0x1648], xmm0
movsd xmm0, qword [esi + 0x1648]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x18
test al, 1
jne 0x40b307
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x163c]
mov dword [esi + 0xe0], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0xe0]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
mov eax, esp
lea ecx, [esi + 0x1648]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x40b324
mov eax, esp
lea ecx, [esi + 0x1660]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0xdc], eax
jmp 0x40b347
mov ecx, dword [esi + 0xdc]
mov eax, esp
lea edx, [esi + 0x1648]
mov dword [eax + 4], edx
lea edx, [esi + 0x1634]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x40b36d
mov eax, dword [esi + 0x1650]
add eax, 1
mov dword [esi + 0x1650], eax
jmp 0x40b24e
mov eax, dword [esi + 0x1654]
add eax, 1
mov dword [esi + 0x1654], eax
jmp 0x40b232
mov eax, dword [esi + 0x1658]
add eax, 1
mov dword [esi + 0x1658], eax
jmp 0x40b216
mov eax, dword [esi + 0x165c]
add eax, 1
mov dword [esi + 0x165c], eax
jmp 0x40b1fa
mov eax, dword [esi + 0x1660]
add eax, 1
mov dword [esi + 0x1660], eax
jmp 0x40b1e3
mov eax, esp
lea ecx, [esi + 0x1624]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0xcc], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0xcc]
mov eax, esp
lea edx, [esi + 0x1620]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1620]
mov edx, dword [esi + 0x1624]
mov dword [esi + 0x1c78], 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 + 0x2c8]
movsd xmm0, qword [esi + 0x2c8]
movsd qword [esi + 0xd0], xmm0
jmp 0x40b5aa
mov eax, dword [esi + 0x16c0]
lea ecx, [esi + 0x1608]
mov dword [esp], eax
call fcn.0040d270
sub esp, 4
mov dword [esi + 0x1604], 1
cmp dword [esi + 0x1604], 5
jg 0x40b70a
mov dword [esi + 0x1600], 1
mov eax, dword [esi + 0x1600]
cmp eax, dword [esi + 0x1604]
jg 0x40b6f6
mov dword [esi + 0x15fc], 1
mov eax, dword [esi + 0x15fc]
cmp eax, dword [esi + 0x1600]
jg 0x40b6e2
mov dword [esi + 0x15f8], 1
mov eax, dword [esi + 0x15f8]
cmp eax, dword [esi + 0x15fc]
jg 0x40b6ce
mov dword [esi + 0x15f4], 1
mov eax, dword [esi + 0x15f4]
cmp eax, dword [esi + 0x15f8]
jg 0x40b6ba
mov eax, dword [esi + 0x15f4]
mov ecx, dword [esi + 0x15f8]
mov edx, dword [esi + 0x15fc]
mov edi, dword [esi + 0x1600]
mov ebx, dword [esi + 0x1604]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x2b0]
movsd xmm0, qword [esi + 0x2b0]
movsd qword [esi + 0x15e8], xmm0
movsd xmm0, qword [esi + 0x15e8]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x16
test al, 1
jne 0x40b640
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x15dc]
mov dword [esi + 0xc8], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0xc8]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0xd0]
movsd qword [esi + 0x1628], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x161c], eax
mov ecx, dword [esi + 0x161c]
lea eax, [esi + 0x1618]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x161c]
lea eax, [esi + 0x1614]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1618]
lea eax, [esi + 0x1614]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40b61a
jmp 0x40b63b
lea ecx, [esi + 0x1618]
call fcn.0040d020
mov dword [esi + 0x1610], eax
lea ecx, [esi + 0x1618]
call fcn.0040d040
jmp 0x40b5f4
jmp 0x40b465
mov eax, esp
lea ecx, [esi + 0x15e8]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x40b65d
mov eax, esp
lea ecx, [esi + 0x1604]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0xc4], eax
jmp 0x40b680
mov ecx, dword [esi + 0xc4]
mov eax, esp
lea edx, [esi + 0x15e8]
mov dword [eax + 4], edx
lea edx, [esi + 0x15d4]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x40b6a6
mov eax, dword [esi + 0x15f4]
add eax, 1
mov dword [esi + 0x15f4], eax
jmp 0x40b4f1
mov eax, dword [esi + 0x15f8]
add eax, 1
mov dword [esi + 0x15f8], eax
jmp 0x40b4d5
mov eax, dword [esi + 0x15fc]
add eax, 1
mov dword [esi + 0x15fc], eax
jmp 0x40b4b9
mov eax, dword [esi + 0x1600]
add eax, 1
mov dword [esi + 0x1600], eax
jmp 0x40b49d
mov eax, dword [esi + 0x1604]
add eax, 1
mov dword [esi + 0x1604], eax
jmp 0x40b486
mov eax, esp
lea ecx, [esi + 0x15c4]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0xb4], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0xb4]
mov eax, esp
lea edx, [esi + 0x15c0]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x15c0]
mov edx, dword [esi + 0x15c4]
mov dword [esi + 0x1c78], 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 + 0x2b8]
movsd xmm0, qword [esi + 0x2b8]
movsd qword [esi + 0xb8], xmm0
jmp 0x40b854
mov eax, dword [esi + 0x1838]
mov dword [esi + 0xac], eax
lea ecx, [esi + 0x18f4]
mov dword [esi + 0xa4], ecx
call fcn.004071f0
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0xa8], eax
call fcn.00406b90
mov ebx, eax
mov ecx, dword [ebp + 0xc]
call fcn.00406b90
mov edi, eax
lea ecx, [esi + 0x1608]
call fcn.00406f50
mov edx, eax
mov eax, dword [esi + 0xa8]
mov ecx, esp
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0xac]
mov dword [ecx + 8], ebx
mov dword [ecx + 4], edi
mov dword [ecx], edx
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0x4000000
call eax
sub esp, 0x18
mov dword [esi + 0xb0], eax
jmp 0x40b821
mov eax, dword [esi + 0xb0]
mov dword [esi + 0x15a8], eax
cmp dword [esi + 0x15a8], 0
jne 0x40b8f4
mov ecx, dword [esi + 0x258]
call fcn.004074c0
mov dword [esi + 0x1b28], 1
jmp 0x40c982
movsd xmm0, qword [esi + 0xb8]
movsd qword [esi + 0x15c8], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x15bc], eax
mov ecx, dword [esi + 0x15bc]
lea eax, [esi + 0x15b8]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x15bc]
lea eax, [esi + 0x15b4]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x15b8]
lea eax, [esi + 0x15b4]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40b8c4
jmp 0x40b8e5
lea ecx, [esi + 0x15b8]
call fcn.0040d020
mov dword [esi + 0x15b0], eax
lea ecx, [esi + 0x15b8]
call fcn.0040d040
jmp 0x40b89e
mov dword [esi + 0x1c78], 9
jmp 0x40b7a3
mov dword [esi + 0x15a4], 1
cmp dword [esi + 0x15a4], 5
jg 0x40baec
mov dword [esi + 0x15a0], 1
mov eax, dword [esi + 0x15a0]
cmp eax, dword [esi + 0x15a4]
jg 0x40bad8
mov dword [esi + 0x159c], 1
mov eax, dword [esi + 0x159c]
cmp eax, dword [esi + 0x15a0]
jg 0x40bac4
mov dword [esi + 0x1598], 1
mov eax, dword [esi + 0x1598]
cmp eax, dword [esi + 0x159c]
jg 0x40bab0
mov dword [esi + 0x1594], 1
mov eax, dword [esi + 0x1594]
cmp eax, dword [esi + 0x1598]
jg 0x40ba9c
mov eax, dword [esi + 0x1594]
mov ecx, dword [esi + 0x1598]
mov edx, dword [esi + 0x159c]
mov edi, dword [esi + 0x15a0]
mov ebx, dword [esi + 0x15a4]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x2a0]
movsd xmm0, qword [esi + 0x2a0]
movsd qword [esi + 0x1588], xmm0
movsd xmm0, qword [esi + 0x1588]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x14
test al, 1
jne 0x40ba22
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x157c]
mov dword [esi + 0xa0], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0xa0]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
mov eax, esp
lea ecx, [esi + 0x1588]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x40ba3f
mov eax, esp
lea ecx, [esi + 0x15a4]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x9c], eax
jmp 0x40ba62
mov ecx, dword [esi + 0x9c]
mov eax, esp
lea edx, [esi + 0x1588]
mov dword [eax + 4], edx
lea edx, [esi + 0x1574]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x40ba88
mov eax, dword [esi + 0x1594]
add eax, 1
mov dword [esi + 0x1594], eax
jmp 0x40b969
mov eax, dword [esi + 0x1598]
add eax, 1
mov dword [esi + 0x1598], eax
jmp 0x40b94d
mov eax, dword [esi + 0x159c]
add eax, 1
mov dword [esi + 0x159c], eax
jmp 0x40b931
mov eax, dword [esi + 0x15a0]
add eax, 1
mov dword [esi + 0x15a0], eax
jmp 0x40b915
mov eax, dword [esi + 0x15a4]
add eax, 1
mov dword [esi + 0x15a4], eax
jmp 0x40b8fe
mov eax, esp
lea ecx, [esi + 0x1564]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x8c], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x8c]
mov eax, esp
lea edx, [esi + 0x1560]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1560]
mov edx, dword [esi + 0x1564]
mov dword [esi + 0x1c78], 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 + 0x2a8]
movsd xmm0, qword [esi + 0x2a8]
movsd qword [esi + 0x90], xmm0
jmp 0x40bcc5
mov eax, dword [esi + 0x15a8]
lea ecx, [esi + 0x1548]
mov dword [esp], eax
call fcn.0040d270
sub esp, 4
mov dword [esi + 0x1544], 1
cmp dword [esi + 0x1544], 5
jg 0x40be25
mov dword [esi + 0x1540], 1
mov eax, dword [esi + 0x1540]
cmp eax, dword [esi + 0x1544]
jg 0x40be11
mov dword [esi + 0x153c], 1
mov eax, dword [esi + 0x153c]
cmp eax, dword [esi + 0x1540]
jg 0x40bdfd
mov dword [esi + 0x1538], 1
mov eax, dword [esi + 0x1538]
cmp eax, dword [esi + 0x153c]
jg 0x40bde9
mov dword [esi + 0x1534], 1
mov eax, dword [esi + 0x1534]
cmp eax, dword [esi + 0x1538]
jg 0x40bdd5
mov eax, dword [esi + 0x1534]
mov ecx, dword [esi + 0x1538]
mov edx, dword [esi + 0x153c]
mov edi, dword [esi + 0x1540]
mov ebx, dword [esi + 0x1544]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x290]
movsd xmm0, qword [esi + 0x290]
movsd qword [esi + 0x1528], xmm0
movsd xmm0, qword [esi + 0x1528]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x12
test al, 1
jne 0x40bd5b
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x151c]
mov dword [esi + 0x88], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x88]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x90]
movsd qword [esi + 0x1568], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x155c], eax
mov ecx, dword [esi + 0x155c]
lea eax, [esi + 0x1558]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x155c]
lea eax, [esi + 0x1554]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1558]
lea eax, [esi + 0x1554]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40bd35
jmp 0x40bd56
lea ecx, [esi + 0x1558]
call fcn.0040d020
mov dword [esi + 0x1550], eax
lea ecx, [esi + 0x1558]
call fcn.0040d040
jmp 0x40bd0f
jmp 0x40bb80
mov eax, esp
lea ecx, [esi + 0x1528]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x40bd78
mov eax, esp
lea ecx, [esi + 0x1544]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x84], eax
jmp 0x40bd9b
mov ecx, dword [esi + 0x84]
mov eax, esp
lea edx, [esi + 0x1528]
mov dword [eax + 4], edx
lea edx, [esi + 0x1514]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x40bdc1
mov eax, dword [esi + 0x1534]
add eax, 1
mov dword [esi + 0x1534], eax
jmp 0x40bc0c
mov eax, dword [esi + 0x1538]
add eax, 1
mov dword [esi + 0x1538], eax
jmp 0x40bbf0
mov eax, dword [esi + 0x153c]
add eax, 1
mov dword [esi + 0x153c], eax
jmp 0x40bbd4
mov eax, dword [esi + 0x1540]
add eax, 1
mov dword [esi + 0x1540], eax
jmp 0x40bbb8
mov eax, dword [esi + 0x1544]
add eax, 1
mov dword [esi + 0x1544], eax
jmp 0x40bba1
mov eax, esp
lea ecx, [esi + 0x1504]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x74], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x74]
mov eax, esp
lea edx, [esi + 0x1500]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1500]
mov edx, dword [esi + 0x1504]
mov dword [esi + 0x1c78], 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 + 0x298]
movsd xmm0, qword [esi + 0x298]
movsd qword [esi + 0x78], xmm0
jmp 0x40bfe3
lea ecx, [esi + 0x14d4]
call fcn.004074c0
mov dword [esi + 0x14d0], 1
cmp dword [esi + 0x14d0], 5
jg 0x40c13a
mov dword [esi + 0x14cc], 1
mov eax, dword [esi + 0x14cc]
cmp eax, dword [esi + 0x14d0]
jg 0x40c126
mov dword [esi + 0x14c8], 1
mov eax, dword [esi + 0x14c8]
cmp eax, dword [esi + 0x14cc]
jg 0x40c112
mov dword [esi + 0x14c4], 1
mov eax, dword [esi + 0x14c4]
cmp eax, dword [esi + 0x14c8]
jg 0x40c0fe
mov dword [esi + 0x14c0], 1
mov eax, dword [esi + 0x14c0]
cmp eax, dword [esi + 0x14c4]
jg 0x40c0ea
mov eax, dword [esi + 0x14c0]
mov ecx, dword [esi + 0x14c4]
mov edx, dword [esi + 0x14c8]
mov edi, dword [esi + 0x14cc]
mov ebx, dword [esi + 0x14d0]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x280]
movsd xmm0, qword [esi + 0x280]
movsd qword [esi + 0x14b8], xmm0
movsd xmm0, qword [esi + 0x14b8]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0x10
test al, 1
jne 0x40c076
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x14ac]
mov dword [esi + 0x70], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x70]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x78]
movsd qword [esi + 0x1508], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x14fc], eax
mov ecx, dword [esi + 0x14fc]
lea eax, [esi + 0x14f8]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x14fc]
lea eax, [esi + 0x14f4]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x14f8]
lea eax, [esi + 0x14f4]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40c050
jmp 0x40c071
lea ecx, [esi + 0x14f8]
call fcn.0040d020
mov dword [esi + 0x14f0], eax
lea ecx, [esi + 0x14f8]
call fcn.0040d040
jmp 0x40c02a
jmp 0x40beb0
mov eax, esp
lea ecx, [esi + 0x14b8]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x40c093
mov eax, esp
lea ecx, [esi + 0x14d0]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x6c], eax
jmp 0x40c0b3
mov ecx, dword [esi + 0x6c]
mov eax, esp
lea edx, [esi + 0x14b8]
mov dword [eax + 4], edx
lea edx, [esi + 0x14a4]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x40c0d6
mov eax, dword [esi + 0x14c0]
add eax, 1
mov dword [esi + 0x14c0], eax
jmp 0x40bf30
mov eax, dword [esi + 0x14c4]
add eax, 1
mov dword [esi + 0x14c4], eax
jmp 0x40bf14
mov eax, dword [esi + 0x14c8]
add eax, 1
mov dword [esi + 0x14c8], eax
jmp 0x40bef8
mov eax, dword [esi + 0x14cc]
add eax, 1
mov dword [esi + 0x14cc], eax
jmp 0x40bedc
mov eax, dword [esi + 0x14d0]
add eax, 1
mov dword [esi + 0x14d0], eax
jmp 0x40bec5
mov eax, esp
lea ecx, [esi + 0x1494]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x5c], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x5c]
mov eax, esp
lea edx, [esi + 0x1490]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1490]
mov edx, dword [esi + 0x1494]
mov dword [esi + 0x1c78], 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 + 0x288]
movsd xmm0, qword [esi + 0x288]
movsd qword [esi + 0x60], xmm0
jmp 0x40c317
mov eax, esp
mov dword [eax], 0x1000
lea ecx, [esi + 0x14d4]
call fcn.00407510
sub esp, 4
jmp 0x40c1e5
mov dword [esi + 0x1478], 0
mov dword [esi + 0x1474], 1
cmp dword [esi + 0x1474], 5
jg 0x40c478
mov dword [esi + 0x1470], 1
mov eax, dword [esi + 0x1470]
cmp eax, dword [esi + 0x1474]
jg 0x40c464
mov dword [esi + 0x146c], 1
mov eax, dword [esi + 0x146c]
cmp eax, dword [esi + 0x1470]
jg 0x40c450
mov dword [esi + 0x1468], 1
mov eax, dword [esi + 0x1468]
cmp eax, dword [esi + 0x146c]
jg 0x40c43c
mov dword [esi + 0x1464], 1
mov eax, dword [esi + 0x1464]
cmp eax, dword [esi + 0x1468]
jg 0x40c428
mov eax, dword [esi + 0x1464]
mov ecx, dword [esi + 0x1468]
mov edx, dword [esi + 0x146c]
mov edi, dword [esi + 0x1470]
mov ebx, dword [esi + 0x1474]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00401010
fstp qword [esi + 0x270]
movsd xmm0, qword [esi + 0x270]
movsd qword [esi + 0x1458], xmm0
movsd xmm0, qword [esi + 0x1458]
movsd qword [esp], xmm0
call fcn.00406000
mov dword [esi + 0x1c78], 0xe
test al, 1
jne 0x40c3b4
mov eax, esp
mov dword [eax], str.Non_finite_value_computed
lea ecx, [esi + 0x144c]
mov dword [esi + 0x58], ecx
call fcn.00406040
sub esp, 4
mov ecx, dword [esi + 0x58]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x459ac8
call fcn.00428d21
jmp 0x40ca15
movsd xmm0, qword [esi + 0x60]
movsd qword [esi + 0x1498], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x148c], eax
mov ecx, dword [esi + 0x148c]
lea eax, [esi + 0x1488]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x148c]
lea eax, [esi + 0x1484]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1488]
lea eax, [esi + 0x1484]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40c384
jmp 0x40c3a5
lea ecx, [esi + 0x1488]
call fcn.0040d020
mov dword [esi + 0x1480], eax
lea ecx, [esi + 0x1488]
call fcn.0040d040
jmp 0x40c35e
mov dword [esi + 0x1c78], 0xb
jmp 0x40c1ca
mov eax, esp
lea ecx, [esi + 0x1458]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
call fcn.00406140
sub esp, 4
jmp 0x40c3d1
mov eax, esp
lea ecx, [esi + 0x1474]
mov dword [eax], ecx
lea ecx, [esi + 0x1c58]
call fcn.0040ce90
sub esp, 4
mov dword [esi + 0x54], eax
jmp 0x40c3f1
mov ecx, dword [esi + 0x54]
mov eax, esp
lea edx, [esi + 0x1458]
mov dword [eax + 4], edx
lea edx, [esi + 0x1444]
mov dword [eax], edx
call fcn.0040ced0
sub esp, 8
jmp 0x40c414
mov eax, dword [esi + 0x1468]
add eax, 1
mov dword [esi + 0x1468], eax
jmp 0x40c248
mov eax, dword [esi + 0x146c]
add eax, 1
mov dword [esi + 0x146c], eax
jmp 0x40c22c
mov eax, dword [esi + 0x1470]
add eax, 1
mov dword [esi + 0x1470], eax
jmp 0x40c210
mov eax, dword [esi + 0x1474]
add eax, 1
mov dword [esi + 0x1474], eax
jmp 0x40c1f9
mov eax, esp
lea ecx, [esi + 0x1434]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x44], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x44]
mov eax, esp
lea edx, [esi + 0x1430]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x1430]
mov edx, dword [esi + 0x1434]
mov dword [esi + 0x1c78], 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 + 0x278]
movsd xmm0, qword [esi + 0x278]
movsd qword [esi + 0x48], xmm0
jmp 0x40c62b
mov dword [esi + 0x418], 1
cmp dword [esi + 0x418], 5
jg 0x40c782
mov dword [esi + 0x414], 1
mov eax, dword [esi + 0x414]
cmp eax, dword [esi + 0x418]
jg 0x40c76e
mov dword [esi + 0x410], 1
mov eax, dword [esi + 0x410]
cmp eax, dword [esi + 0x414]
jg 0x40c75a
mov dword [esi + 0x40c], 1
mov eax, dword [esi + 0x40c]
cmp eax, dword [esi + 0x410]
jg 0x40c746
movsd xmm0, qword [esi + 0x48]
movsd qword [esi + 0x1438], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x142c], eax
mov ecx, dword [esi + 0x142c]
lea eax, [esi + 0x1428]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x142c]
lea eax, [esi + 0x1424]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x1428]
lea eax, [esi + 0x1424]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40c698
jmp 0x40c6b9
lea ecx, [esi + 0x1428]
call fcn.0040d020
mov dword [esi + 0x1420], eax
lea ecx, [esi + 0x1428]
call fcn.0040d040
jmp 0x40c672
jmp 0x40c503
mov eax, dword [esi + 0x414]
add eax, 1
mov dword [esi + 0x414], eax
jmp 0x40c524
mov eax, dword [esi + 0x418]
add eax, 1
mov dword [esi + 0x418], eax
jmp 0x40c50d
mov eax, esp
lea ecx, [esi + 0x3dc]
mov dword [eax], ecx
lea ecx, [esi + 0x1c60]
mov dword [esi + 0x2c], ecx
call fcn.004061e0
sub esp, 4
mov ecx, dword [esi + 0x2c]
mov eax, esp
lea edx, [esi + 0x3d8]
mov dword [eax], edx
call fcn.00406230
sub esp, 4
mov ecx, dword [esi + 0x3d8]
mov edx, dword [esi + 0x3dc]
mov dword [esi + 0x1c78], 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 + 0x268]
movsd xmm0, qword [esi + 0x268]
movsd qword [esi + 0x30], xmm0
jmp 0x40c8b3
movsd xmm0, qword [esi + 0x30]
movsd qword [esi + 0x3e0], xmm0
lea eax, [esi + 0x1c58]
mov dword [esi + 0x3d4], eax
mov ecx, dword [esi + 0x3d4]
lea eax, [esi + 0x3d0]
mov dword [esp], eax
call fcn.0040cf50
sub esp, 4
mov ecx, dword [esi + 0x3d4]
lea eax, [esi + 0x3cc]
mov dword [esp], eax
call fcn.0040cfa0
sub esp, 4
lea ecx, [esi + 0x3d0]
lea eax, [esi + 0x3cc]
mov dword [esp], eax
call fcn.0040cff0
sub esp, 4
xor al, 0xff
test al, 1
jne 0x40c920
jmp 0x40c941
lea ecx, [esi + 0x3d0]
call fcn.0040d020
mov dword [esi + 0x3c8], eax
lea ecx, [esi + 0x3d0]
call fcn.0040d040
jmp 0x40c8fa
lea ecx, [esi + 0x1608]
call fcn.0040d3c0
jmp 0x40c992
lea ecx, [esi + 0x18f4]
call fcn.00406820
lea ecx, [esi + 0x1964]
call fcn.00406820
lea ecx, [esi + 0x19d4]
call fcn.00406820
lea ecx, [esi + 0x1a44]
call fcn.00406820
lea ecx, [esi + 0x1ab4]
call fcn.00406820
jmp 0x40c9ce
lea ecx, [esi + 0x1b88]
call fcn.0040d3f0
lea ecx, [esi + 0x1be4]
call fcn.00406820
lea ecx, [esi + 0x1c58]
call fcn.0040d420
lea ecx, [esi + 0x1c60]
call fcn.00407020
mov eax, dword [esi + 0x25c]
mov ecx, dword [esi + 0x1c70]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x18
lea esi, [ebp - 0x1c7c]
mov ebp, dword [esi + 0x1c]
mov dword [esi + 0x1c6c], esp
mov eax, 0x40823d
add esp, 0x18
pop ebp
ret