40a113:	ff 15 14 10 40 00    	call   *0x401014
40a119:	66 85 f6             	test   %si,%si
40a11c:	74 3b                	je     0x40a159
40a11e:	8d 55 b8             	lea    -0x48(%ebp),%edx
40a121:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a124:	c7 45 c0 48 7b 40 00 	movl   $0x407b48,-0x40(%ebp)
40a12b:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
40a132:	ff 15 70 11 40 00    	call   *0x401170
40a138:	8d 45 d8             	lea    -0x28(%ebp),%eax
40a13b:	50                   	push   %eax
40a13c:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40a13f:	51                   	push   %ecx
40a140:	ff 15 58 10 40 00    	call   *0x401058
40a146:	8d 55 c8             	lea    -0x38(%ebp),%edx
40a149:	52                   	push   %edx
40a14a:	8d 45 d8             	lea    -0x28(%ebp),%eax
40a14d:	50                   	push   %eax
40a14e:	6a 02                	push   $0x2
40a150:	ff 15 28 10 40 00    	call   *0x401028
40a156:	83 c4 0c             	add    $0xc,%esp
40a159:	68 34 7b 40 00       	push   $0x407b34
40a15e:	68 40 7b 40 00       	push   $0x407b40
40a163:	ff d7                	call   *%edi
40a165:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a168:	51                   	push   %ecx
40a169:	89 45 e0             	mov    %eax,-0x20(%ebp)
40a16c:	c7 45 d8 08 00 00 00 	movl   $0x8,-0x28(%ebp)
40a173:	ff d3                	call   *%ebx
40a175:	8b d0                	mov    %eax,%edx
40a177:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a17a:	ff 15 84 11 40 00    	call   *0x401184
40a180:	50                   	push   %eax
40a181:	6a 00                	push   $0x0
40a183:	ff 15 b8 10 40 00    	call   *0x4010b8
40a189:	8b f0                	mov    %eax,%esi
40a18b:	f7 de                	neg    %esi
40a18d:	1b f6                	sbb    %esi,%esi
40a18f:	46                   	inc    %esi
40a190:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a193:	f7 de                	neg    %esi
40a195:	ff 15 ac 11 40 00    	call   *0x4011ac
40a19b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a19e:	ff 15 14 10 40 00    	call   *0x401014
40a1a4:	66 85 f6             	test   %si,%si
40a1a7:	74 3b                	je     0x40a1e4
40a1a9:	8d 55 b8             	lea    -0x48(%ebp),%edx
40a1ac:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a1af:	c7 45 c0 68 7b 40 00 	movl   $0x407b68,-0x40(%ebp)
40a1b6:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
40a1bd:	ff 15 70 11 40 00    	call   *0x401170
40a1c3:	8d 55 d8             	lea    -0x28(%ebp),%edx
40a1c6:	52                   	push   %edx
40a1c7:	8d 45 c8             	lea    -0x38(%ebp),%eax
40a1ca:	50                   	push   %eax
40a1cb:	ff 15 58 10 40 00    	call   *0x401058
40a1d1:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40a1d4:	51                   	push   %ecx
40a1d5:	8d 55 d8             	lea    -0x28(%ebp),%edx
40a1d8:	52                   	push   %edx
40a1d9:	6a 02                	push   $0x2
40a1db:	ff 15 28 10 40 00    	call   *0x401028
40a1e1:	83 c4 0c             	add    $0xc,%esp
40a1e4:	68 34 7b 40 00       	push   $0x407b34
40a1e9:	68 40 7b 40 00       	push   $0x407b40
40a1ee:	ff d7                	call   *%edi
40a1f0:	89 45 e0             	mov    %eax,-0x20(%ebp)
40a1f3:	8d 45 d8             	lea    -0x28(%ebp),%eax
40a1f6:	50                   	push   %eax
40a1f7:	c7 45 d8 08 00 00 00 	movl   $0x8,-0x28(%ebp)
40a1fe:	ff d3                	call   *%ebx
40a200:	8b d0                	mov    %eax,%edx
40a202:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a205:	ff 15 84 11 40 00    	call   *0x401184
40a20b:	50                   	push   %eax
40a20c:	6a 00                	push   $0x0
40a20e:	ff 15 b8 10 40 00    	call   *0x4010b8
40a214:	8b f0                	mov    %eax,%esi
40a216:	f7 de                	neg    %esi
40a218:	1b f6                	sbb    %esi,%esi
40a21a:	46                   	inc    %esi
40a21b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a21e:	f7 de                	neg    %esi
40a220:	ff 15 ac 11 40 00    	call   *0x4011ac
40a226:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a229:	ff 15 14 10 40 00    	call   *0x401014
40a22f:	66 85 f6             	test   %si,%si
40a232:	74 3b                	je     0x40a26f
40a234:	8d 55 b8             	lea    -0x48(%ebp),%edx
40a237:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a23a:	c7 45 c0 88 7b 40 00 	movl   $0x407b88,-0x40(%ebp)
40a241:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
40a248:	ff 15 70 11 40 00    	call   *0x401170
40a24e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a251:	51                   	push   %ecx
40a252:	8d 55 c8             	lea    -0x38(%ebp),%edx
40a255:	52                   	push   %edx
40a256:	ff 15 58 10 40 00    	call   *0x401058
40a25c:	8d 45 c8             	lea    -0x38(%ebp),%eax
40a25f:	50                   	push   %eax
40a260:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a263:	51                   	push   %ecx
40a264:	6a 02                	push   $0x2
40a266:	ff 15 28 10 40 00    	call   *0x401028
40a26c:	83 c4 0c             	add    $0xc,%esp
40a26f:	68 34 7b 40 00       	push   $0x407b34
40a274:	68 40 7b 40 00       	push   $0x407b40
40a279:	ff d7                	call   *%edi
40a27b:	8d 55 d8             	lea    -0x28(%ebp),%edx
40a27e:	52                   	push   %edx
40a27f:	89 45 e0             	mov    %eax,-0x20(%ebp)
40a282:	c7 45 d8 08 00 00 00 	movl   $0x8,-0x28(%ebp)
40a289:	ff d3                	call   *%ebx
40a28b:	8b d0                	mov    %eax,%edx
40a28d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a290:	ff 15 84 11 40 00    	call   *0x401184
40a296:	50                   	push   %eax
40a297:	6a 00                	push   $0x0
40a299:	ff 15 b8 10 40 00    	call   *0x4010b8
40a29f:	8b f0                	mov    %eax,%esi
40a2a1:	f7 de                	neg    %esi
40a2a3:	1b f6                	sbb    %esi,%esi
40a2a5:	46                   	inc    %esi
40a2a6:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a2a9:	f7 de                	neg    %esi
40a2ab:	ff 15 ac 11 40 00    	call   *0x4011ac
40a2b1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a2b4:	ff 15 14 10 40 00    	call   *0x401014
40a2ba:	66 85 f6             	test   %si,%si
40a2bd:	74 3b                	je     0x40a2fa
40a2bf:	8d 55 b8             	lea    -0x48(%ebp),%edx
40a2c2:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a2c5:	c7 45 c0 ac 7b 40 00 	movl   $0x407bac,-0x40(%ebp)
40a2cc:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
40a2d3:	ff 15 70 11 40 00    	call   *0x401170
40a2d9:	8d 45 d8             	lea    -0x28(%ebp),%eax
40a2dc:	50                   	push   %eax
40a2dd:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40a2e0:	51                   	push   %ecx
40a2e1:	ff 15 58 10 40 00    	call   *0x401058
40a2e7:	8d 55 c8             	lea    -0x38(%ebp),%edx
40a2ea:	52                   	push   %edx
40a2eb:	8d 45 d8             	lea    -0x28(%ebp),%eax
40a2ee:	50                   	push   %eax
40a2ef:	6a 02                	push   $0x2
40a2f1:	ff 15 28 10 40 00    	call   *0x401028
40a2f7:	83 c4 0c             	add    $0xc,%esp
40a2fa:	68 34 7b 40 00       	push   $0x407b34
40a2ff:	68 40 7b 40 00       	push   $0x407b40
40a304:	ff d7                	call   *%edi
40a306:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a309:	51                   	push   %ecx
40a30a:	89 45 e0             	mov    %eax,-0x20(%ebp)
40a30d:	c7 45 d8 08 00 00 00 	movl   $0x8,-0x28(%ebp)
40a314:	ff d3                	call   *%ebx
40a316:	8b d0                	mov    %eax,%edx
40a318:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a31b:	ff 15 84 11 40 00    	call   *0x401184
40a321:	50                   	push   %eax
40a322:	6a 00                	push   $0x0
40a324:	ff 15 b8 10 40 00    	call   *0x4010b8
40a32a:	8b f0                	mov    %eax,%esi
40a32c:	f7 de                	neg    %esi
40a32e:	1b f6                	sbb    %esi,%esi
40a330:	46                   	inc    %esi
40a331:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a334:	f7 de                	neg    %esi
40a336:	ff 15 ac 11 40 00    	call   *0x4011ac
40a33c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a33f:	ff 15 14 10 40 00    	call   *0x401014
40a345:	66 85 f6             	test   %si,%si
40a348:	74 3b                	je     0x40a385
40a34a:	8d 55 b8             	lea    -0x48(%ebp),%edx
40a34d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a350:	c7 45 c0 c4 7b 40 00 	movl   $0x407bc4,-0x40(%ebp)
40a357:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
40a35e:	ff 15 70 11 40 00    	call   *0x401170
40a364:	8d 55 d8             	lea    -0x28(%ebp),%edx
40a367:	52                   	push   %edx
40a368:	8d 45 c8             	lea    -0x38(%ebp),%eax
40a36b:	50                   	push   %eax
40a36c:	ff 15 58 10 40 00    	call   *0x401058
40a372:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40a375:	51                   	push   %ecx
40a376:	8d 55 d8             	lea    -0x28(%ebp),%edx
40a379:	52                   	push   %edx
40a37a:	6a 02                	push   $0x2
40a37c:	ff 15 28 10 40 00    	call   *0x401028
40a382:	83 c4 0c             	add    $0xc,%esp
40a385:	68 34 7b 40 00       	push   $0x407b34
40a38a:	68 40 7b 40 00       	push   $0x407b40
40a38f:	ff d7                	call   *%edi
40a391:	89 45 e0             	mov    %eax,-0x20(%ebp)
40a394:	8d 45 d8             	lea    -0x28(%ebp),%eax
40a397:	50                   	push   %eax
40a398:	c7 45 d8 08 00 00 00 	movl   $0x8,-0x28(%ebp)
40a39f:	ff d3                	call   *%ebx
40a3a1:	8b d0                	mov    %eax,%edx
40a3a3:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a3a6:	ff 15 84 11 40 00    	call   *0x401184
40a3ac:	50                   	push   %eax
40a3ad:	6a 00                	push   $0x0
40a3af:	ff 15 b8 10 40 00    	call   *0x4010b8
40a3b5:	8b f0                	mov    %eax,%esi
40a3b7:	f7 de                	neg    %esi
40a3b9:	1b f6                	sbb    %esi,%esi
40a3bb:	46                   	inc    %esi
40a3bc:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a3bf:	f7 de                	neg    %esi
40a3c1:	ff 15 ac 11 40 00    	call   *0x4011ac
40a3c7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a3ca:	ff 15 14 10 40 00    	call   *0x401014
40a3d0:	66 85 f6             	test   %si,%si
40a3d3:	74 3b                	je     0x40a410
40a3d5:	8d 55 b8             	lea    -0x48(%ebp),%edx
40a3d8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a3db:	c7 45 c0 e4 7b 40 00 	movl   $0x407be4,-0x40(%ebp)
40a3e2:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
40a3e9:	ff 15 70 11 40 00    	call   *0x401170
40a3ef:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a3f2:	51                   	push   %ecx
40a3f3:	8d 55 c8             	lea    -0x38(%ebp),%edx
40a3f6:	52                   	push   %edx
40a3f7:	ff 15 58 10 40 00    	call   *0x401058
40a3fd:	8d 45 c8             	lea    -0x38(%ebp),%eax
40a400:	50                   	push   %eax
40a401:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a404:	51                   	push   %ecx
40a405:	6a 02                	push   $0x2
40a407:	ff 15 28 10 40 00    	call   *0x401028
40a40d:	83 c4 0c             	add    $0xc,%esp
40a410:	68 34 7b 40 00       	push   $0x407b34
40a415:	68 40 7b 40 00       	push   $0x407b40
40a41a:	ff d7                	call   *%edi
40a41c:	8d 55 d8             	lea    -0x28(%ebp),%edx
40a41f:	52                   	push   %edx
40a420:	89 45 e0             	mov    %eax,-0x20(%ebp)
40a423:	c7 45 d8 08 00 00 00 	movl   $0x8,-0x28(%ebp)
40a42a:	ff d3                	call   *%ebx
40a42c:	8b d0                	mov    %eax,%edx
40a42e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a431:	ff 15 84 11 40 00    	call   *0x401184
40a437:	50                   	push   %eax
40a438:	6a 00                	push   $0x0
40a43a:	ff 15 b8 10 40 00    	call   *0x4010b8
40a440:	8b f0                	mov    %eax,%esi
40a442:	f7 de                	neg    %esi
40a444:	1b f6                	sbb    %esi,%esi
40a446:	46                   	inc    %esi
40a447:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a44a:	f7 de                	neg    %esi
40a44c:	ff 15 ac 11 40 00    	call   *0x4011ac
40a452:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a455:	ff 15 14 10 40 00    	call   *0x401014
40a45b:	66 85 f6             	test   %si,%si
40a45e:	74 3b                	je     0x40a49b
40a460:	8d 55 b8             	lea    -0x48(%ebp),%edx
40a463:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a466:	c7 45 c0 08 7c 40 00 	movl   $0x407c08,-0x40(%ebp)
40a46d:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
40a474:	ff 15 70 11 40 00    	call   *0x401170
40a47a:	8d 45 d8             	lea    -0x28(%ebp),%eax
40a47d:	50                   	push   %eax
40a47e:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40a481:	51                   	push   %ecx
40a482:	ff 15 58 10 40 00    	call   *0x401058
40a488:	8d 55 c8             	lea    -0x38(%ebp),%edx
40a48b:	52                   	push   %edx
40a48c:	8d 45 d8             	lea    -0x28(%ebp),%eax
40a48f:	50                   	push   %eax
40a490:	6a 02                	push   $0x2
40a492:	ff 15 28 10 40 00    	call   *0x401028
40a498:	83 c4 0c             	add    $0xc,%esp
40a49b:	68 34 7b 40 00       	push   $0x407b34
40a4a0:	68 40 7b 40 00       	push   $0x407b40
40a4a5:	ff d7                	call   *%edi
40a4a7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a4aa:	51                   	push   %ecx
40a4ab:	89 45 e0             	mov    %eax,-0x20(%ebp)
40a4ae:	c7 45 d8 08 00 00 00 	movl   $0x8,-0x28(%ebp)
40a4b5:	ff d3                	call   *%ebx
40a4b7:	8b d0                	mov    %eax,%edx
40a4b9:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a4bc:	ff 15 84 11 40 00    	call   *0x401184
40a4c2:	50                   	push   %eax
40a4c3:	6a 00                	push   $0x0
40a4c5:	ff 15 b8 10 40 00    	call   *0x4010b8
40a4cb:	8b f0                	mov    %eax,%esi
40a4cd:	f7 de                	neg    %esi
40a4cf:	1b f6                	sbb    %esi,%esi
40a4d1:	46                   	inc    %esi
40a4d2:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a4d5:	f7 de                	neg    %esi
40a4d7:	ff 15 ac 11 40 00    	call   *0x4011ac
40a4dd:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a4e0:	ff 15 14 10 40 00    	call   *0x401014
40a4e6:	66 85 f6             	test   %si,%si
40a4e9:	74 3b                	je     0x40a526
40a4eb:	8d 55 b8             	lea    -0x48(%ebp),%edx
40a4ee:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a4f1:	c7 45 c0 50 7a 40 00 	movl   $0x407a50,-0x40(%ebp)
40a4f8:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
40a4ff:	ff 15 70 11 40 00    	call   *0x401170
40a505:	8d 55 d8             	lea    -0x28(%ebp),%edx
40a508:	52                   	push   %edx
40a509:	8d 45 c8             	lea    -0x38(%ebp),%eax
40a50c:	50                   	push   %eax
40a50d:	ff 15 58 10 40 00    	call   *0x401058
40a513:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40a516:	51                   	push   %ecx
40a517:	8d 55 d8             	lea    -0x28(%ebp),%edx
40a51a:	52                   	push   %edx
40a51b:	6a 02                	push   $0x2
40a51d:	ff 15 28 10 40 00    	call   *0x401028
40a523:	83 c4 0c             	add    $0xc,%esp
40a526:	68 34 7b 40 00       	push   $0x407b34
40a52b:	68 40 7b 40 00       	push   $0x407b40
40a530:	ff d7                	call   *%edi
40a532:	89 45 e0             	mov    %eax,-0x20(%ebp)
40a535:	8d 45 d8             	lea    -0x28(%ebp),%eax
40a538:	50                   	push   %eax
40a539:	c7 45 d8 08 00 00 00 	movl   $0x8,-0x28(%ebp)
40a540:	ff d3                	call   *%ebx
40a542:	8b d0                	mov    %eax,%edx
40a544:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a547:	ff 15 84 11 40 00    	call   *0x401184
40a54d:	50                   	push   %eax
40a54e:	6a 00                	push   $0x0
40a550:	ff 15 b8 10 40 00    	call   *0x4010b8
40a556:	8b f0                	mov    %eax,%esi
40a558:	f7 de                	neg    %esi
40a55a:	1b f6                	sbb    %esi,%esi
40a55c:	46                   	inc    %esi
40a55d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40a560:	f7 de                	neg    %esi
40a562:	ff 15 ac 11 40 00    	call   *0x4011ac
40a568:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a56b:	ff 15 14 10 40 00    	call   *0x401014
40a571:	66 85 f6             	test   %si,%si
40a574:	74 3b                	je     0x40a5b1
40a576:	8d 55 b8             	lea    -0x48(%ebp),%edx
40a579:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a57c:	c7 45 c0 28 7c 40 00 	movl   $0x407c28,-0x40(%ebp)
40a583:	c7 45 b8 08 00 00 00 	movl   $0x8,-0x48(%ebp)
40a58a:	ff 15 70 11 40 00    	call   *0x401170
40a590:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a593:	51                   	push   %ecx
40a594:	8d 55 c8             	lea    -0x38(%ebp),%edx
40a597:	52                   	push   %edx
40a598:	ff 15 58 10 40 00    	call   *0x401058
40a59e:	8d 45 c8             	lea    -0x38(%ebp),%eax