40a427:	85 c0                	test   %eax,%eax
40a429:	7d 0e                	jge    0x40a439
40a42b:	68 0c 07 00 00       	push   $0x70c
40a430:	68 ac 8d 40 00       	push   $0x408dac
40a435:	56                   	push   %esi
40a436:	50                   	push   %eax
40a437:	ff d3                	call   *%ebx
40a439:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40a43c:	ff 15 90 11 40 00    	call   *0x401190
40a442:	8b 06                	mov    (%esi),%eax
40a444:	68 b3 f6 8c 4b       	push   $0x4b8cf6b3
40a449:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
40a44f:	51                   	push   %ecx
40a450:	8d 95 58 ff ff ff    	lea    -0xa8(%ebp),%edx
40a456:	52                   	push   %edx
40a457:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
40a45d:	51                   	push   %ecx
40a45e:	56                   	push   %esi
40a45f:	c7 85 50 ff ff ff 00 	movl   $0xc4380000,-0xb0(%ebp)
40a466:	00 38 c4
40a469:	c7 85 54 ff ff ff 93 	movl   $0x4202a393,-0xac(%ebp)
40a470:	a3 02 42
40a473:	c7 85 58 ff ff ff b0 	movl   $0xd602feb0,-0xa8(%ebp)
40a47a:	fe 02 d6
40a47d:	c7 85 5c ff ff ff 03 	movl   $0x5b03,-0xa4(%ebp)
40a484:	5b 00 00
40a487:	c7 85 6c ff ff ff f3 	movl   $0x5749f3,-0x94(%ebp)
40a48e:	49 57 00
40a491:	ff 90 10 07 00 00    	call   *0x710(%eax)
40a497:	85 c0                	test   %eax,%eax
40a499:	7d 0e                	jge    0x40a4a9
40a49b:	68 10 07 00 00       	push   $0x710
40a4a0:	68 ac 8d 40 00       	push   $0x408dac
40a4a5:	56                   	push   %esi
40a4a6:	50                   	push   %eax
40a4a7:	ff d3                	call   *%ebx
40a4a9:	b9 c9 00 00 00       	mov    $0xc9,%ecx
40a4ae:	c7 85 6c ff ff ff 52 	movl   $0x4b8eb552,-0x94(%ebp)
40a4b5:	b5 8e 4b
40a4b8:	c7 85 70 ff ff ff 1f 	movl   $0x91f,-0x90(%ebp)
40a4bf:	09 00 00
40a4c2:	c7 85 58 ff ff ff 80 	movl   $0x8df1b880,-0xa8(%ebp)
40a4c9:	b8 f1 8d
40a4cc:	c7 85 5c ff ff ff fb 	movl   $0x5afb,-0xa4(%ebp)
40a4d3:	5a 00 00
40a4d6:	ff 15 cc 10 40 00    	call   *0x4010cc
40a4dc:	8b 16                	mov    (%esi),%edx
40a4de:	88 85 74 ff ff ff    	mov    %al,-0x8c(%ebp)
40a4e4:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
40a4ea:	50                   	push   %eax
40a4eb:	68 f7 5a 00 00       	push   $0x5af7
40a4f0:	68 00 e1 d3 f7       	push   $0xf7d3e100
40a4f5:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
40a4fb:	51                   	push   %ecx
40a4fc:	68 34 91 40 00       	push   $0x409134
40a501:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
40a507:	50                   	push   %eax
40a508:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
40a50e:	51                   	push   %ecx
40a50f:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
40a515:	50                   	push   %eax
40a516:	68 c5 4f 00 00       	push   $0x4fc5
40a51b:	56                   	push   %esi
40a51c:	ff 92 20 07 00 00    	call   *0x720(%edx)
40a522:	e8 39 22 00 00       	call   0x40c760
40a527:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40a52e:	9b                   	fwait
40a52f:	68 76 a5 40 00       	push   $0x40a576
40a534:	eb 2d                	jmp    0x40a563
40a536:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40a539:	ff 15 90 11 40 00    	call   *0x401190
40a53f:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40a542:	51                   	push   %ecx
40a543:	8d 55 ac             	lea    -0x54(%ebp),%edx
40a546:	52                   	push   %edx
40a547:	6a 02                	push   $0x2
40a549:	ff 15 28 10 40 00    	call   *0x401028
40a54f:	8d 45 88             	lea    -0x78(%ebp),%eax
40a552:	50                   	push   %eax
40a553:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40a556:	51                   	push   %ecx
40a557:	6a 02                	push   $0x2
40a559:	ff 15 20 10 40 00    	call   *0x401020
40a55f:	83 c4 18             	add    $0x18,%esp
40a562:	c3                   	ret
40a563:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40a566:	ff 15 18 10 40 00    	call   *0x401018
40a56c:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40a56f:	ff 15 90 11 40 00    	call   *0x401190
40a575:	c3                   	ret
40a576:	8b 45 08             	mov    0x8(%ebp),%eax
40a579:	8b 10                	mov    (%eax),%edx
40a57b:	50                   	push   %eax
40a57c:	ff 52 08             	call   *0x8(%edx)
40a57f:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a582:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40a585:	5f                   	pop    %edi
40a586:	5e                   	pop    %esi
40a587:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40a58e:	5b                   	pop    %ebx
40a58f:	8b e5                	mov    %ebp,%esp
40a591:	5d                   	pop    %ebp
40a592:	c2 04 00             	ret    $0x4
40a595:	90                   	nop
40a596:	90                   	nop
40a597:	90                   	nop
40a598:	90                   	nop
40a599:	90                   	nop
40a59a:	90                   	nop
40a59b:	90                   	nop
40a59c:	90                   	nop
40a59d:	90                   	nop
40a59e:	90                   	nop
40a59f:	90                   	nop
40a5a0:	55                   	push   %ebp
40a5a1:	8b ec                	mov    %esp,%ebp
40a5a3:	83 ec 08             	sub    $0x8,%esp
40a5a6:	68 76 12 40 00       	push   $0x401276
40a5ab:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40a5b1:	50                   	push   %eax
40a5b2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40a5b9:	81 ec b4 00 00 00    	sub    $0xb4,%esp
40a5bf:	53                   	push   %ebx
40a5c0:	56                   	push   %esi
40a5c1:	57                   	push   %edi
40a5c2:	89 65 f8             	mov    %esp,-0x8(%ebp)
40a5c5:	c7 45 fc b8 11 40 00 	movl   $0x4011b8,-0x4(%ebp)
40a5cc:	33 db                	xor    %ebx,%ebx
40a5ce:	6a 05                	push   $0x5
40a5d0:	68 cc 91 40 00       	push   $0x4091cc
40a5d5:	8d 45 c8             	lea    -0x38(%ebp),%eax
40a5d8:	50                   	push   %eax
40a5d9:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40a5dc:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
40a5df:	89 5d ac             	mov    %ebx,-0x54(%ebp)
40a5e2:	89 5d a8             	mov    %ebx,-0x58(%ebp)
40a5e5:	89 5d 98             	mov    %ebx,-0x68(%ebp)
40a5e8:	89 5d 88             	mov    %ebx,-0x78(%ebp)
40a5eb:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
40a5f1:	89 9d 68 ff ff ff    	mov    %ebx,-0x98(%ebp)
40a5f7:	89 9d 58 ff ff ff    	mov    %ebx,-0xa8(%ebp)
40a5fd:	89 9d 54 ff ff ff    	mov    %ebx,-0xac(%ebp)
40a603:	89 9d 50 ff ff ff    	mov    %ebx,-0xb0(%ebp)
40a609:	ff 15 98 10 40 00    	call   *0x401098
40a60f:	39 1d c8 d6 40 00    	cmp    %ebx,0x40d6c8
40a615:	75 10                	jne    0x40a627
40a617:	68 c8 d6 40 00       	push   $0x40d6c8
40a61c:	68 28 8f 40 00       	push   $0x408f28
40a621:	ff 15 14 11 40 00    	call   *0x401114
40a627:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi
40a62d:	8b 0e                	mov    (%esi),%ecx
40a62f:	8d 55 a8             	lea    -0x58(%ebp),%edx
40a632:	52                   	push   %edx
40a633:	56                   	push   %esi
40a634:	ff 51 14             	call   *0x14(%ecx)
40a637:	db e2                	fnclex
40a639:	3b c3                	cmp    %ebx,%eax
40a63b:	7d 13                	jge    0x40a650
40a63d:	8b 3d 44 10 40 00    	mov    0x401044,%edi
40a643:	6a 14                	push   $0x14
40a645:	68 18 8f 40 00       	push   $0x408f18
40a64a:	56                   	push   %esi
40a64b:	50                   	push   %eax
40a64c:	ff d7                	call   *%edi
40a64e:	eb 06                	jmp    0x40a656
40a650:	8b 3d 44 10 40 00    	mov    0x401044,%edi
40a656:	8b 45 a8             	mov    -0x58(%ebp),%eax
40a659:	8b 08                	mov    (%eax),%ecx
40a65b:	8d 95 54 ff ff ff    	lea    -0xac(%ebp),%edx
40a661:	52                   	push   %edx
40a662:	50                   	push   %eax
40a663:	8b f0                	mov    %eax,%esi
40a665:	ff 91 40 01 00 00    	call   *0x140(%ecx)
40a66b:	db e2                	fnclex
40a66d:	3b c3                	cmp    %ebx,%eax
40a66f:	7d 0e                	jge    0x40a67f
40a671:	68 40 01 00 00       	push   $0x140
40a676:	68 38 8f 40 00       	push   $0x408f38
40a67b:	56                   	push   %esi
40a67c:	50                   	push   %eax
40a67d:	ff d7                	call   *%edi
40a67f:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40a682:	ff 15 8c 11 40 00    	call   *0x40118c
40a688:	8d 45 98             	lea    -0x68(%ebp),%eax
40a68b:	50                   	push   %eax
40a68c:	ff 15 84 11 40 00    	call   *0x401184
40a692:	8d 55 98             	lea    -0x68(%ebp),%edx
40a695:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40a698:	ff 15 08 10 40 00    	call   *0x401008
40a69e:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40a6a1:	89 19                	mov    %ebx,(%ecx)
40a6a3:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40a6a6:	c7 42 04 00 00 f0 3f 	movl   $0x3ff00000,0x4(%edx)
40a6ad:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40a6b0:	89 58 08             	mov    %ebx,0x8(%eax)
40a6b3:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40a6b6:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
40a6bc:	50                   	push   %eax
40a6bd:	68 00 00 f0 3f       	push   $0x3ff00000
40a6c2:	8d 55 c8             	lea    -0x38(%ebp),%edx
40a6c5:	c7 41 0c 00 00 00 40 	movl   $0x40000000,0xc(%ecx)
40a6cc:	53                   	push   %ebx
40a6cd:	89 95 50 ff ff ff    	mov    %edx,-0xb0(%ebp)
40a6d3:	ff 15 44 11 40 00    	call   *0x401144
40a6d9:	ff 15 78 10 40 00    	call   *0x401078
40a6df:	dc 1d b0 11 40 00    	fcompl 0x4011b0
40a6e5:	df e0                	fnstsw %ax
40a6e7:	f6 c4 40             	test   $0x40,%ah
40a6ea:	0f 85 81 00 00 00    	jne    0x40a771
40a6f0:	53                   	push   %ebx
40a6f1:	68 5c 91 40 00       	push   $0x40915c
40a6f6:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40a6f9:	51                   	push   %ecx
40a6fa:	8d 55 98             	lea    -0x68(%ebp),%edx
40a6fd:	52                   	push   %edx
40a6fe:	ff 15 64 11 40 00    	call   *0x401164
40a704:	a1 c8 d6 40 00       	mov    0x40d6c8,%eax
40a709:	83 c4 10             	add    $0x10,%esp
40a70c:	3b c3                	cmp    %ebx,%eax
40a70e:	75 10                	jne    0x40a720
40a710:	68 c8 d6 40 00       	push   $0x40d6c8
40a715:	68 28 8f 40 00       	push   $0x408f28
40a71a:	ff 15 14 11 40 00    	call   *0x401114
40a720:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi
40a726:	8b 1e                	mov    (%esi),%ebx
40a728:	68 88 91 40 00       	push   $0x409188
40a72d:	68 20 90 40 00       	push   $0x409020
40a732:	8d 45 98             	lea    -0x68(%ebp),%eax
40a735:	50                   	push   %eax
40a736:	ff 15 b4 10 40 00    	call   *0x4010b4
40a73c:	50                   	push   %eax
40a73d:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40a740:	51                   	push   %ecx
40a741:	ff 15 60 10 40 00    	call   *0x401060
40a747:	50                   	push   %eax
40a748:	56                   	push   %esi
40a749:	ff 53 40             	call   *0x40(%ebx)
40a74c:	db e2                	fnclex
40a74e:	33 db                	xor    %ebx,%ebx
40a750:	3b c3                	cmp    %ebx,%eax
40a752:	7d 0b                	jge    0x40a75f
40a754:	6a 40                	push   $0x40
40a756:	68 18 8f 40 00       	push   $0x408f18
40a75b:	56                   	push   %esi
40a75c:	50                   	push   %eax
40a75d:	ff d7                	call   *%edi
40a75f:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40a762:	ff 15 8c 11 40 00    	call   *0x40118c
40a768:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40a76b:	ff 15 18 10 40 00    	call   *0x401018
40a771:	8d 95 68 ff ff ff    	lea    -0x98(%ebp),%edx
40a777:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40a77a:	c7 85 70 ff ff ff bc 	movl   $0x4091bc,-0x90(%ebp)
40a781:	91 40 00
40a784:	c7 85 68 ff ff ff 08 	movl   $0x8,-0x98(%ebp)
40a78b:	00 00 00
40a78e:	ff 15 60 11 40 00    	call   *0x401160
40a794:	53                   	push   %ebx
40a795:	6a 03                	push   $0x3
40a797:	8d 55 98             	lea    -0x68(%ebp),%edx
40a79a:	52                   	push   %edx
40a79b:	8d 45 88             	lea    -0x78(%ebp),%eax
40a79e:	50                   	push   %eax
40a79f:	ff 15 f8 10 40 00    	call   *0x4010f8
40a7a5:	8d 4d 88             	lea    -0x78(%ebp),%ecx
40a7a8:	51                   	push   %ecx
40a7a9:	8d 95 58 ff ff ff    	lea    -0xa8(%ebp),%edx
40a7af:	52                   	push   %edx
40a7b0:	c7 85 60 ff ff ff c4 	movl   $0x4091c4,-0xa0(%ebp)
40a7b7:	91 40 00
40a7ba:	c7 85 58 ff ff ff 08 	movl   $0x8008,-0xa8(%ebp)
40a7c1:	80 00 00
40a7c4:	ff 15 50 11 40 00    	call   *0x401150
40a7ca:	66 8b f0             	mov    %ax,%si
40a7cd:	8d 45 88             	lea    -0x78(%ebp),%eax
40a7d0:	50                   	push   %eax
40a7d1:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40a7d4:	51                   	push   %ecx
40a7d5:	6a 02                	push   $0x2
40a7d7:	ff 15 20 10 40 00    	call   *0x401020
40a7dd:	83 c4 0c             	add    $0xc,%esp
40a7e0:	66 3b f3             	cmp    %bx,%si
40a7e3:	74 25                	je     0x40a80a
40a7e5:	8b 75 08             	mov    0x8(%ebp),%esi
40a7e8:	8b 16                	mov    (%esi),%edx
40a7ea:	68 83 12 00 00       	push   $0x1283
40a7ef:	56                   	push   %esi
40a7f0:	ff 92 5c 01 00 00    	call   *0x15c(%edx)
40a7f6:	db e2                	fnclex
40a7f8:	3b c3                	cmp    %ebx,%eax
40a7fa:	7d 0e                	jge    0x40a80a
40a7fc:	68 5c 01 00 00       	push   $0x15c
40a801:	68 7c 8d 40 00       	push   $0x408d7c
40a806:	56                   	push   %esi
40a807:	50                   	push   %eax
40a808:	ff d7                	call   *%edi
40a80a:	68 bc 91 40 00       	push   $0x4091bc
40a80f:	ff 15 2c 10 40 00    	call   *0x40102c
40a815:	66 3d 61 00          	cmp    $0x61,%ax
40a819:	74 47                	je     0x40a862
40a81b:	39 1d c8 d6 40 00    	cmp    %ebx,0x40d6c8
40a821:	75 10                	jne    0x40a833
40a823:	68 c8 d6 40 00       	push   $0x40d6c8
40a828:	68 28 8f 40 00       	push   $0x408f28
40a82d:	ff 15 14 11 40 00    	call   *0x401114
40a833:	8b 35 c8 d6 40 00    	mov    0x40d6c8,%esi
40a839:	8b 06                	mov    (%esi),%eax
40a83b:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40a83e:	51                   	push   %ecx
40a83f:	68 81 00 00 00       	push   $0x81
40a844:	56                   	push   %esi
40a845:	ff 50 48             	call   *0x48(%eax)
40a848:	db e2                	fnclex
40a84a:	3b c3                	cmp    %ebx,%eax
40a84c:	7d 0b                	jge    0x40a859
40a84e:	6a 48                	push   $0x48
40a850:	68 18 8f 40 00       	push   $0x408f18
40a855:	56                   	push   %esi
40a856:	50                   	push   %eax
40a857:	ff d7                	call   *%edi
40a859:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40a85c:	ff 15 90 11 40 00    	call   *0x401190
40a862:	9b                   	fwait
40a863:	68 c0 a8 40 00       	push   $0x40a8c0
40a868:	eb 2d                	jmp    0x40a897
40a86a:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40a86d:	ff 15 90 11 40 00    	call   *0x401190
40a873:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40a876:	ff 15 8c 11 40 00    	call   *0x40118c
40a87c:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
40a882:	52                   	push   %edx
40a883:	8d 45 88             	lea    -0x78(%ebp),%eax
40a886:	50                   	push   %eax
40a887:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40a88a:	51                   	push   %ecx
40a88b:	6a 03                	push   $0x3
40a88d:	ff 15 20 10 40 00    	call   *0x401020
40a893:	83 c4 10             	add    $0x10,%esp
40a896:	c3                   	ret
40a897:	8b 35 18 10 40 00    	mov    0x401018,%esi
40a89d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40a8a0:	ff d6                	call   *%esi
40a8a2:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
40a8a8:	50                   	push   %eax
40a8a9:	8d 55 c8             	lea    -0x38(%ebp),%edx
40a8ac:	6a 00                	push   $0x0
40a8ae:	89 95 50 ff ff ff    	mov    %edx,-0xb0(%ebp)
40a8b4:	ff 15 54 10 40 00    	call   *0x401054
40a8ba:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40a8bd:	ff d6                	call   *%esi