40d412:	66 89 4c 24 24       	mov    %cx,0x24(%esp)
40d417:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d41b:	ff d5                	call   *%ebp
40d41d:	66 83 7c 24 24 00    	cmpw   $0x0,0x24(%esp)
40d423:	74 1f                	je     0x40d444
40d425:	8b 16                	mov    (%esi),%edx
40d427:	56                   	push   %esi
40d428:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d42e:	85 c0                	test   %eax,%eax
40d430:	7d 12                	jge    0x40d444
40d432:	68 14 07 00 00       	push   $0x714
40d437:	68 1c 76 40 00       	push   $0x40761c
40d43c:	56                   	push   %esi
40d43d:	50                   	push   %eax
40d43e:	ff 15 48 10 40 00    	call   *0x401048
40d444:	68 94 74 00 00       	push   $0x7494
40d449:	8d 44 24 14          	lea    0x14(%esp),%eax
40d44d:	50                   	push   %eax
40d44e:	ff d7                	call   *%edi
40d450:	50                   	push   %eax
40d451:	ff d3                	call   *%ebx
40d453:	33 c9                	xor    %ecx,%ecx
40d455:	66 3d ff ff          	cmp    $0xffff,%ax
40d459:	0f 95 c1             	setne  %cl
40d45c:	f7 d9                	neg    %ecx
40d45e:	66 89 4c 24 24       	mov    %cx,0x24(%esp)
40d463:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d467:	ff d5                	call   *%ebp
40d469:	66 83 7c 24 24 00    	cmpw   $0x0,0x24(%esp)
40d46f:	74 1f                	je     0x40d490
40d471:	8b 16                	mov    (%esi),%edx
40d473:	56                   	push   %esi
40d474:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d47a:	85 c0                	test   %eax,%eax
40d47c:	7d 12                	jge    0x40d490
40d47e:	68 14 07 00 00       	push   $0x714
40d483:	68 1c 76 40 00       	push   $0x40761c
40d488:	56                   	push   %esi
40d489:	50                   	push   %eax
40d48a:	ff 15 48 10 40 00    	call   *0x401048
40d490:	68 d2 18 00 00       	push   $0x18d2
40d495:	8d 44 24 14          	lea    0x14(%esp),%eax
40d499:	50                   	push   %eax
40d49a:	ff d7                	call   *%edi
40d49c:	50                   	push   %eax
40d49d:	ff d3                	call   *%ebx
40d49f:	33 c9                	xor    %ecx,%ecx
40d4a1:	66 3d ff ff          	cmp    $0xffff,%ax
40d4a5:	0f 95 c1             	setne  %cl
40d4a8:	f7 d9                	neg    %ecx
40d4aa:	66 89 4c 24 24       	mov    %cx,0x24(%esp)
40d4af:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d4b3:	ff d5                	call   *%ebp
40d4b5:	66 83 7c 24 24 00    	cmpw   $0x0,0x24(%esp)
40d4bb:	74 1f                	je     0x40d4dc
40d4bd:	8b 16                	mov    (%esi),%edx
40d4bf:	56                   	push   %esi
40d4c0:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d4c6:	85 c0                	test   %eax,%eax
40d4c8:	7d 12                	jge    0x40d4dc
40d4ca:	68 14 07 00 00       	push   $0x714
40d4cf:	68 1c 76 40 00       	push   $0x40761c
40d4d4:	56                   	push   %esi
40d4d5:	50                   	push   %eax
40d4d6:	ff 15 48 10 40 00    	call   *0x401048
40d4dc:	68 e5 30 00 00       	push   $0x30e5
40d4e1:	8d 44 24 14          	lea    0x14(%esp),%eax
40d4e5:	50                   	push   %eax
40d4e6:	ff d7                	call   *%edi
40d4e8:	50                   	push   %eax
40d4e9:	ff d3                	call   *%ebx
40d4eb:	33 c9                	xor    %ecx,%ecx
40d4ed:	66 3d ff ff          	cmp    $0xffff,%ax
40d4f1:	0f 95 c1             	setne  %cl
40d4f4:	f7 d9                	neg    %ecx
40d4f6:	66 89 4c 24 24       	mov    %cx,0x24(%esp)
40d4fb:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d4ff:	ff d5                	call   *%ebp
40d501:	66 83 7c 24 24 00    	cmpw   $0x0,0x24(%esp)
40d507:	74 1f                	je     0x40d528
40d509:	8b 16                	mov    (%esi),%edx
40d50b:	56                   	push   %esi
40d50c:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d512:	85 c0                	test   %eax,%eax
40d514:	7d 12                	jge    0x40d528
40d516:	68 14 07 00 00       	push   $0x714
40d51b:	68 1c 76 40 00       	push   $0x40761c
40d520:	56                   	push   %esi
40d521:	50                   	push   %eax
40d522:	ff 15 48 10 40 00    	call   *0x401048
40d528:	68 d6 13 00 00       	push   $0x13d6
40d52d:	8d 44 24 14          	lea    0x14(%esp),%eax
40d531:	50                   	push   %eax
40d532:	ff d7                	call   *%edi
40d534:	50                   	push   %eax
40d535:	ff d3                	call   *%ebx
40d537:	33 c9                	xor    %ecx,%ecx
40d539:	66 3d ff ff          	cmp    $0xffff,%ax
40d53d:	0f 95 c1             	setne  %cl
40d540:	f7 d9                	neg    %ecx
40d542:	66 89 4c 24 24       	mov    %cx,0x24(%esp)
40d547:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d54b:	ff d5                	call   *%ebp
40d54d:	66 83 7c 24 24 00    	cmpw   $0x0,0x24(%esp)
40d553:	74 1f                	je     0x40d574
40d555:	8b 16                	mov    (%esi),%edx
40d557:	56                   	push   %esi
40d558:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d55e:	85 c0                	test   %eax,%eax
40d560:	7d 12                	jge    0x40d574
40d562:	68 14 07 00 00       	push   $0x714
40d567:	68 1c 76 40 00       	push   $0x40761c
40d56c:	56                   	push   %esi
40d56d:	50                   	push   %eax
40d56e:	ff 15 48 10 40 00    	call   *0x401048
40d574:	68 ad 74 00 00       	push   $0x74ad
40d579:	8d 44 24 14          	lea    0x14(%esp),%eax
40d57d:	50                   	push   %eax
40d57e:	ff d7                	call   *%edi
40d580:	50                   	push   %eax
40d581:	ff d3                	call   *%ebx
40d583:	33 c9                	xor    %ecx,%ecx
40d585:	66 3d ff ff          	cmp    $0xffff,%ax
40d589:	0f 95 c1             	setne  %cl
40d58c:	f7 d9                	neg    %ecx
40d58e:	66 89 4c 24 24       	mov    %cx,0x24(%esp)
40d593:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d597:	ff d5                	call   *%ebp
40d599:	66 83 7c 24 24 00    	cmpw   $0x0,0x24(%esp)
40d59f:	74 1f                	je     0x40d5c0
40d5a1:	8b 16                	mov    (%esi),%edx
40d5a3:	56                   	push   %esi
40d5a4:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d5aa:	85 c0                	test   %eax,%eax
40d5ac:	7d 12                	jge    0x40d5c0
40d5ae:	68 14 07 00 00       	push   $0x714
40d5b3:	68 1c 76 40 00       	push   $0x40761c
40d5b8:	56                   	push   %esi
40d5b9:	50                   	push   %eax
40d5ba:	ff 15 48 10 40 00    	call   *0x401048
40d5c0:	68 d0 52 00 00       	push   $0x52d0
40d5c5:	8d 44 24 14          	lea    0x14(%esp),%eax
40d5c9:	50                   	push   %eax
40d5ca:	ff d7                	call   *%edi
40d5cc:	50                   	push   %eax
40d5cd:	ff d3                	call   *%ebx
40d5cf:	33 c9                	xor    %ecx,%ecx
40d5d1:	66 3d ff ff          	cmp    $0xffff,%ax
40d5d5:	0f 95 c1             	setne  %cl
40d5d8:	f7 d9                	neg    %ecx
40d5da:	66 89 4c 24 24       	mov    %cx,0x24(%esp)
40d5df:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d5e3:	ff d5                	call   *%ebp
40d5e5:	66 83 7c 24 24 00    	cmpw   $0x0,0x24(%esp)
40d5eb:	74 1f                	je     0x40d60c
40d5ed:	8b 16                	mov    (%esi),%edx
40d5ef:	56                   	push   %esi
40d5f0:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d5f6:	85 c0                	test   %eax,%eax
40d5f8:	7d 12                	jge    0x40d60c
40d5fa:	68 14 07 00 00       	push   $0x714
40d5ff:	68 1c 76 40 00       	push   $0x40761c
40d604:	56                   	push   %esi
40d605:	50                   	push   %eax
40d606:	ff 15 48 10 40 00    	call   *0x401048
40d60c:	68 f1 50 00 00       	push   $0x50f1
40d611:	8d 44 24 14          	lea    0x14(%esp),%eax
40d615:	50                   	push   %eax
40d616:	ff d7                	call   *%edi
40d618:	50                   	push   %eax
40d619:	ff d3                	call   *%ebx
40d61b:	33 c9                	xor    %ecx,%ecx
40d61d:	66 3d ff ff          	cmp    $0xffff,%ax
40d621:	0f 95 c1             	setne  %cl
40d624:	f7 d9                	neg    %ecx
40d626:	66 8b f9             	mov    %cx,%di
40d629:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d62d:	ff d5                	call   *%ebp
40d62f:	66 85 ff             	test   %di,%di
40d632:	74 4b                	je     0x40d67f
40d634:	8b 16                	mov    (%esi),%edx
40d636:	56                   	push   %esi
40d637:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d63d:	85 c0                	test   %eax,%eax
40d63f:	7d 28                	jge    0x40d669
40d641:	68 14 07 00 00       	push   $0x714
40d646:	68 1c 76 40 00       	push   $0x40761c
40d64b:	56                   	push   %esi
40d64c:	50                   	push   %eax
40d64d:	ff 15 48 10 40 00    	call   *0x401048
40d653:	8b 44 24 38          	mov    0x38(%esp),%eax
40d657:	5f                   	pop    %edi
40d658:	5e                   	pop    %esi
40d659:	5d                   	pop    %ebp
40d65a:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40d660:	33 c0                	xor    %eax,%eax
40d662:	5b                   	pop    %ebx
40d663:	83 c4 10             	add    $0x10,%esp
40d666:	c2 18 00             	ret    $0x18
40d669:	8b 4c 24 38          	mov    0x38(%esp),%ecx
40d66d:	5f                   	pop    %edi
40d66e:	5e                   	pop    %esi
40d66f:	5d                   	pop    %ebp
40d670:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
40d676:	33 c0                	xor    %eax,%eax
40d678:	5b                   	pop    %ebx
40d679:	83 c4 10             	add    $0x10,%esp
40d67c:	c2 18 00             	ret    $0x18
40d67f:	8b 54 24 38          	mov    0x38(%esp),%edx
40d683:	5f                   	pop    %edi
40d684:	5e                   	pop    %esi
40d685:	5d                   	pop    %ebp
40d686:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
40d68c:	33 c0                	xor    %eax,%eax
40d68e:	5b                   	pop    %ebx
40d68f:	83 c4 10             	add    $0x10,%esp
40d692:	c2 18 00             	ret    $0x18
40d695:	90                   	nop
40d696:	90                   	nop
40d697:	90                   	nop
40d698:	90                   	nop
40d699:	90                   	nop
40d69a:	90                   	nop
40d69b:	90                   	nop
40d69c:	90                   	nop
40d69d:	90                   	nop
40d69e:	90                   	nop
40d69f:	90                   	nop
40d6a0:	55                   	push   %ebp
40d6a1:	8b ec                	mov    %esp,%ebp
40d6a3:	83 ec 0c             	sub    $0xc,%esp
40d6a6:	68 b6 12 40 00       	push   $0x4012b6
40d6ab:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d6b1:	50                   	push   %eax
40d6b2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40d6b9:	83 ec 0c             	sub    $0xc,%esp
40d6bc:	53                   	push   %ebx
40d6bd:	56                   	push   %esi
40d6be:	57                   	push   %edi
40d6bf:	89 65 f4             	mov    %esp,-0xc(%ebp)
40d6c2:	c7 45 f8 70 12 40 00 	movl   $0x401270,-0x8(%ebp)
40d6c9:	33 f6                	xor    %esi,%esi
40d6cb:	89 75 fc             	mov    %esi,-0x4(%ebp)
40d6ce:	8b 45 08             	mov    0x8(%ebp),%eax
40d6d1:	8b 08                	mov    (%eax),%ecx
40d6d3:	50                   	push   %eax
40d6d4:	ff 51 04             	call   *0x4(%ecx)
40d6d7:	8b 55 24             	mov    0x24(%ebp),%edx
40d6da:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40d6dd:	89 75 e8             	mov    %esi,-0x18(%ebp)
40d6e0:	ff 15 40 11 40 00    	call   *0x401140
40d6e6:	8b 35 04 11 40 00    	mov    0x401104,%esi
40d6ec:	68 78 77 40 00       	push   $0x407778
40d6f1:	ff d6                	call   *%esi
40d6f3:	66 3d 01 00          	cmp    $0x1,%ax
40d6f7:	74 0f                	je     0x40d708
40d6f9:	8b 3d 0c 11 40 00    	mov    0x40110c,%edi
40d6ff:	68 88 81 40 00       	push   $0x408188
40d704:	ff d7                	call   *%edi
40d706:	eb 06                	jmp    0x40d70e
40d708:	8b 3d 0c 11 40 00    	mov    0x40110c,%edi
40d70e:	68 78 77 40 00       	push   $0x407778
40d713:	ff d6                	call   *%esi
40d715:	66 3d 01 00          	cmp    $0x1,%ax
40d719:	74 07                	je     0x40d722
40d71b:	68 b0 81 40 00       	push   $0x4081b0
40d720:	ff d7                	call   *%edi
40d722:	68 78 77 40 00       	push   $0x407778
40d727:	ff d6                	call   *%esi
40d729:	66 3d 01 00          	cmp    $0x1,%ax
40d72d:	74 07                	je     0x40d736
40d72f:	68 cc 81 40 00       	push   $0x4081cc
40d734:	ff d7                	call   *%edi
40d736:	68 78 77 40 00       	push   $0x407778
40d73b:	ff d6                	call   *%esi
40d73d:	66 3d 01 00          	cmp    $0x1,%ax
40d741:	74 07                	je     0x40d74a
40d743:	68 e0 81 40 00       	push   $0x4081e0
40d748:	ff d7                	call   *%edi
40d74a:	68 78 77 40 00       	push   $0x407778
40d74f:	ff d6                	call   *%esi
40d751:	66 3d 01 00          	cmp    $0x1,%ax
40d755:	74 07                	je     0x40d75e
40d757:	68 08 82 40 00       	push   $0x408208
40d75c:	ff d7                	call   *%edi
40d75e:	68 78 77 40 00       	push   $0x407778
40d763:	ff d6                	call   *%esi
40d765:	66 3d 01 00          	cmp    $0x1,%ax
40d769:	74 07                	je     0x40d772
40d76b:	68 24 82 40 00       	push   $0x408224
40d770:	ff d7                	call   *%edi
40d772:	68 78 77 40 00       	push   $0x407778
40d777:	ff d6                	call   *%esi
40d779:	66 3d 01 00          	cmp    $0x1,%ax
40d77d:	74 07                	je     0x40d786
40d77f:	68 40 82 40 00       	push   $0x408240
40d784:	ff d7                	call   *%edi
40d786:	68 78 77 40 00       	push   $0x407778
40d78b:	ff d6                	call   *%esi
40d78d:	66 3d 01 00          	cmp    $0x1,%ax
40d791:	74 07                	je     0x40d79a
40d793:	68 54 82 40 00       	push   $0x408254
40d798:	ff d7                	call   *%edi
40d79a:	68 78 77 40 00       	push   $0x407778
40d79f:	ff d6                	call   *%esi
40d7a1:	66 3d 01 00          	cmp    $0x1,%ax
40d7a5:	74 07                	je     0x40d7ae
40d7a7:	68 7c 82 40 00       	push   $0x40827c
40d7ac:	ff d7                	call   *%edi
40d7ae:	68 78 77 40 00       	push   $0x407778
40d7b3:	ff d6                	call   *%esi
40d7b5:	66 3d 01 00          	cmp    $0x1,%ax
40d7b9:	74 07                	je     0x40d7c2
40d7bb:	68 98 82 40 00       	push   $0x408298
40d7c0:	ff d7                	call   *%edi
40d7c2:	68 d1 d7 40 00       	push   $0x40d7d1
40d7c7:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40d7ca:	ff 15 ac 11 40 00    	call   *0x4011ac
40d7d0:	c3                   	ret
40d7d1:	8b 45 08             	mov    0x8(%ebp),%eax
40d7d4:	8b 10                	mov    (%eax),%edx
40d7d6:	50                   	push   %eax
40d7d7:	ff 52 08             	call   *0x8(%edx)
40d7da:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d7dd:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40d7e0:	5f                   	pop    %edi
40d7e1:	5e                   	pop    %esi
40d7e2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d7e9:	5b                   	pop    %ebx
40d7ea:	8b e5                	mov    %ebp,%esp
40d7ec:	5d                   	pop    %ebp
40d7ed:	c2 24 00             	ret    $0x24
40d7f0:	55                   	push   %ebp
40d7f1:	8b ec                	mov    %esp,%ebp
40d7f3:	83 ec 0c             	sub    $0xc,%esp
40d7f6:	68 b6 12 40 00       	push   $0x4012b6
40d7fb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d801:	50                   	push   %eax
40d802:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40d809:	83 ec 68             	sub    $0x68,%esp
40d80c:	53                   	push   %ebx
40d80d:	56                   	push   %esi
40d80e:	57                   	push   %edi
40d80f:	89 65 f4             	mov    %esp,-0xc(%ebp)
40d812:	c7 45 f8 80 12 40 00 	movl   $0x401280,-0x8(%ebp)
40d819:	33 db                	xor    %ebx,%ebx
40d81b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40d81e:	8b 45 08             	mov    0x8(%ebp),%eax
40d821:	8b 08                	mov    (%eax),%ecx
40d823:	50                   	push   %eax