40f509:	ff 15 b8 61 41 00    	call   *0x4161b8
40f50f:	56                   	push   %esi
40f510:	ff 15 b8 61 41 00    	call   *0x4161b8
40f516:	ff 74 24 0c          	push   0xc(%esp)
40f51a:	ff 15 b8 61 41 00    	call   *0x4161b8
40f520:	6a 00                	push   $0x0
40f522:	ff 15 b8 61 41 00    	call   *0x4161b8
40f528:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
40f52c:	e8 be 74 ff ff       	call   0x4069ef
40f531:	5f                   	pop    %edi
40f532:	5e                   	pop    %esi
40f533:	8b c3                	mov    %ebx,%eax
40f535:	5b                   	pop    %ebx
40f536:	8b e5                	mov    %ebp,%esp
40f538:	5d                   	pop    %ebp
40f539:	c2 24 00             	ret    $0x24
40f53c:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
40f541:	e8 a9 56 ff ff       	call   0x404bef
40f546:	cc                   	int3
40f547:	8b ff                	mov    %edi,%edi
40f549:	55                   	push   %ebp
40f54a:	8b ec                	mov    %esp,%ebp
40f54c:	53                   	push   %ebx
40f54d:	8b 5d 08             	mov    0x8(%ebp),%ebx
40f550:	56                   	push   %esi
40f551:	57                   	push   %edi
40f552:	8b f9                	mov    %ecx,%edi
40f554:	85 db                	test   %ebx,%ebx
40f556:	75 12                	jne    0x40f56a
40f558:	be 57 00 07 80       	mov    $0x80070057,%esi
40f55d:	56                   	push   %esi
40f55e:	68 ec 3f 40 00       	push   $0x403fec
40f563:	68 af 02 00 00       	push   $0x2af
40f568:	eb 72                	jmp    0x40f5dc
40f56a:	8b 4f 0c             	mov    0xc(%edi),%ecx
40f56d:	85 c9                	test   %ecx,%ecx
40f56f:	74 30                	je     0x40f5a1
40f571:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
40f575:	74 2a                	je     0x40f5a1
40f577:	8b 01                	mov    (%ecx),%eax
40f579:	ff 77 10             	push   0x10(%edi)
40f57c:	51                   	push   %ecx
40f57d:	8b 70 18             	mov    0x18(%eax),%esi
40f580:	8b ce                	mov    %esi,%ecx
40f582:	ff 15 28 63 41 00    	call   *0x416328
40f588:	ff d6                	call   *%esi
40f58a:	8b 47 0c             	mov    0xc(%edi),%eax
40f58d:	83 67 10 00          	andl   $0x0,0x10(%edi)
40f591:	50                   	push   %eax
40f592:	8b 08                	mov    (%eax),%ecx
40f594:	8b 71 08             	mov    0x8(%ecx),%esi
40f597:	8b ce                	mov    %esi,%ecx
40f599:	ff 15 28 63 41 00    	call   *0x416328
40f59f:	ff d6                	call   *%esi
40f5a1:	89 5f 0c             	mov    %ebx,0xc(%edi)
40f5a4:	8b 03                	mov    (%ebx),%eax
40f5a6:	53                   	push   %ebx
40f5a7:	8b 70 04             	mov    0x4(%eax),%esi
40f5aa:	8b ce                	mov    %esi,%ecx
40f5ac:	ff 15 28 63 41 00    	call   *0x416328
40f5b2:	ff d6                	call   *%esi
40f5b4:	8b 4f 0c             	mov    0xc(%edi),%ecx
40f5b7:	8d 47 10             	lea    0x10(%edi),%eax
40f5ba:	50                   	push   %eax
40f5bb:	57                   	push   %edi
40f5bc:	51                   	push   %ecx
40f5bd:	8b 31                	mov    (%ecx),%esi
40f5bf:	8b 4e 14             	mov    0x14(%esi),%ecx
40f5c2:	ff 15 28 63 41 00    	call   *0x416328
40f5c8:	ff 56 14             	call   *0x14(%esi)
40f5cb:	8b f0                	mov    %eax,%esi
40f5cd:	85 f6                	test   %esi,%esi
40f5cf:	79 16                	jns    0x40f5e7
40f5d1:	56                   	push   %esi
40f5d2:	68 ec 3f 40 00       	push   $0x403fec
40f5d7:	68 bf 02 00 00       	push   $0x2bf
40f5dc:	68 60 3f 40 00       	push   $0x403f60
40f5e1:	51                   	push   %ecx
40f5e2:	e8 eb 19 00 00       	call   0x410fd2
40f5e7:	5f                   	pop    %edi
40f5e8:	8b c6                	mov    %esi,%eax
40f5ea:	5e                   	pop    %esi
40f5eb:	5b                   	pop    %ebx
40f5ec:	5d                   	pop    %ebp
40f5ed:	c2 04 00             	ret    $0x4
40f5f0:	6a 18                	push   $0x18
40f5f2:	b8 78 30 41 00       	mov    $0x413078,%eax
40f5f7:	e8 62 2f 00 00       	call   0x41255e
40f5fc:	33 db                	xor    %ebx,%ebx
40f5fe:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40f601:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40f604:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40f607:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40f60a:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40f60d:	8b 7d 08             	mov    0x8(%ebp),%edi
40f610:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40f614:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40f617:	85 ff                	test   %edi,%edi
40f619:	75 1f                	jne    0x40f63a
40f61b:	68 03 40 00 80       	push   $0x80004003
40f620:	68 1c 40 40 00       	push   $0x40401c
40f625:	68 15 03 00 00       	push   $0x315
40f62a:	68 60 3f 40 00       	push   $0x403f60
40f62f:	51                   	push   %ecx
40f630:	e8 9d 19 00 00       	call   0x410fd2
40f635:	e9 b7 01 00 00       	jmp    0x40f7f1
40f63a:	8d 45 f0             	lea    -0x10(%ebp),%eax
40f63d:	50                   	push   %eax
40f63e:	68 08 2b 40 00       	push   $0x402b08
40f643:	6a 04                	push   $0x4
40f645:	53                   	push   %ebx
40f646:	68 c8 2c 40 00       	push   $0x402cc8
40f64b:	ff 15 20 62 41 00    	call   *0x416220
40f651:	85 c0                	test   %eax,%eax
40f653:	79 10                	jns    0x40f665
40f655:	50                   	push   %eax
40f656:	68 1c 40 40 00       	push   $0x40401c
40f65b:	68 1d 03 00 00       	push   $0x31d
40f660:	e9 20 01 00 00       	jmp    0x40f785
40f665:	8b 4f 04             	mov    0x4(%edi),%ecx
40f668:	85 c9                	test   %ecx,%ecx
40f66a:	75 14                	jne    0x40f680
40f66c:	68 03 40 00 80       	push   $0x80004003
40f671:	68 1c 40 40 00       	push   $0x40401c
40f676:	68 23 03 00 00       	push   $0x323
40f67b:	e9 05 01 00 00       	jmp    0x40f785
40f680:	8b 01                	mov    (%ecx),%eax
40f682:	8d 55 ec             	lea    -0x14(%ebp),%edx
40f685:	52                   	push   %edx
40f686:	51                   	push   %ecx
40f687:	8b 70 10             	mov    0x10(%eax),%esi
40f68a:	8b ce                	mov    %esi,%ecx
40f68c:	ff 15 28 63 41 00    	call   *0x416328
40f692:	ff d6                	call   *%esi
40f694:	85 c0                	test   %eax,%eax
40f696:	79 10                	jns    0x40f6a8
40f698:	50                   	push   %eax
40f699:	68 1c 40 40 00       	push   $0x40401c
40f69e:	68 25 03 00 00       	push   $0x325
40f6a3:	e9 dd 00 00 00       	jmp    0x40f785
40f6a8:	8b 45 f0             	mov    -0x10(%ebp),%eax
40f6ab:	ff 75 ec             	push   -0x14(%ebp)
40f6ae:	50                   	push   %eax
40f6af:	8b 08                	mov    (%eax),%ecx
40f6b1:	8b 71 40             	mov    0x40(%ecx),%esi
40f6b4:	8b ce                	mov    %esi,%ecx
40f6b6:	ff 15 28 63 41 00    	call   *0x416328
40f6bc:	ff d6                	call   *%esi
40f6be:	85 c0                	test   %eax,%eax
40f6c0:	79 10                	jns    0x40f6d2
40f6c2:	50                   	push   %eax
40f6c3:	68 1c 40 40 00       	push   $0x40401c
40f6c8:	68 26 03 00 00       	push   $0x326
40f6cd:	e9 b3 00 00 00       	jmp    0x40f785
40f6d2:	8b 45 f0             	mov    -0x10(%ebp),%eax
40f6d5:	53                   	push   %ebx
40f6d6:	6a 01                	push   $0x1
40f6d8:	6a 01                	push   $0x1
40f6da:	8b 30                	mov    (%eax),%esi
40f6dc:	50                   	push   %eax
40f6dd:	8b 4e 1c             	mov    0x1c(%esi),%ecx
40f6e0:	ff 15 28 63 41 00    	call   *0x416328
40f6e6:	ff 56 1c             	call   *0x1c(%esi)
40f6e9:	85 c0                	test   %eax,%eax
40f6eb:	79 10                	jns    0x40f6fd
40f6ed:	50                   	push   %eax
40f6ee:	68 1c 40 40 00       	push   $0x40401c
40f6f3:	68 33 03 00 00       	push   $0x333
40f6f8:	e9 88 00 00 00       	jmp    0x40f785
40f6fd:	8b 45 f0             	mov    -0x10(%ebp),%eax
40f700:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40f703:	53                   	push   %ebx
40f704:	51                   	push   %ecx
40f705:	50                   	push   %eax
40f706:	8b 30                	mov    (%eax),%esi
40f708:	8b 4e 2c             	mov    0x2c(%esi),%ecx
40f70b:	ff 15 28 63 41 00    	call   *0x416328
40f711:	ff 56 2c             	call   *0x2c(%esi)
40f714:	85 c0                	test   %eax,%eax
40f716:	79 0d                	jns    0x40f725
40f718:	50                   	push   %eax
40f719:	68 1c 40 40 00       	push   $0x40401c
40f71e:	68 39 03 00 00       	push   $0x339
40f723:	eb 60                	jmp    0x40f785
40f725:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
40f729:	75 0d                	jne    0x40f738
40f72b:	53                   	push   %ebx
40f72c:	68 1c 40 40 00       	push   $0x40401c
40f731:	68 3a 03 00 00       	push   $0x33a
40f736:	eb 4d                	jmp    0x40f785
40f738:	8b 45 f0             	mov    -0x10(%ebp),%eax
40f73b:	8d 55 e8             	lea    -0x18(%ebp),%edx
40f73e:	52                   	push   %edx
40f73f:	50                   	push   %eax
40f740:	8b 08                	mov    (%eax),%ecx
40f742:	8b 71 20             	mov    0x20(%ecx),%esi
40f745:	8b ce                	mov    %esi,%ecx
40f747:	ff 15 28 63 41 00    	call   *0x416328
40f74d:	ff d6                	call   *%esi
40f74f:	85 c0                	test   %eax,%eax
40f751:	79 0d                	jns    0x40f760
40f753:	50                   	push   %eax
40f754:	68 1c 40 40 00       	push   $0x40401c
40f759:	68 3f 03 00 00       	push   $0x33f
40f75e:	eb 25                	jmp    0x40f785
40f760:	8b 47 04             	mov    0x4(%edi),%eax
40f763:	ff 75 e8             	push   -0x18(%ebp)
40f766:	50                   	push   %eax
40f767:	8b 08                	mov    (%eax),%ecx
40f769:	8b 71 1c             	mov    0x1c(%ecx),%esi
40f76c:	8b ce                	mov    %esi,%ecx
40f76e:	ff 15 28 63 41 00    	call   *0x416328
40f774:	ff d6                	call   *%esi
40f776:	85 c0                	test   %eax,%eax
40f778:	79 77                	jns    0x40f7f1
40f77a:	50                   	push   %eax
40f77b:	68 1c 40 40 00       	push   $0x40401c
40f780:	68 45 03 00 00       	push   $0x345
40f785:	68 60 3f 40 00       	push   $0x403f60
40f78a:	51                   	push   %ecx
40f78b:	e8 42 18 00 00       	call   0x410fd2
40f790:	8b 4f 04             	mov    0x4(%edi),%ecx
40f793:	85 c9                	test   %ecx,%ecx
40f795:	74 5a                	je     0x40f7f1
40f797:	8d 45 e0             	lea    -0x20(%ebp),%eax
40f79a:	50                   	push   %eax
40f79b:	e8 0e f8 ff ff       	call   0x40efae
40f7a0:	85 c0                	test   %eax,%eax
40f7a2:	78 4d                	js     0x40f7f1
40f7a4:	8b 5d e0             	mov    -0x20(%ebp),%ebx
40f7a7:	85 db                	test   %ebx,%ebx
40f7a9:	74 46                	je     0x40f7f1
40f7ab:	68 cc 3c 40 00       	push   $0x403ccc
40f7b0:	ff 15 a4 61 41 00    	call   *0x4161a4
40f7b6:	8b f0                	mov    %eax,%esi
40f7b8:	89 75 e0             	mov    %esi,-0x20(%ebp)
40f7bb:	85 f6                	test   %esi,%esi
40f7bd:	74 56                	je     0x40f815
40f7bf:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40f7c3:	8b 03                	mov    (%ebx),%eax
40f7c5:	56                   	push   %esi
40f7c6:	6a 00                	push   $0x0
40f7c8:	53                   	push   %ebx
40f7c9:	8b 78 1c             	mov    0x1c(%eax),%edi
40f7cc:	8b cf                	mov    %edi,%ecx
40f7ce:	ff 15 28 63 41 00    	call   *0x416328
40f7d4:	ff d7                	call   *%edi
40f7d6:	56                   	push   %esi
40f7d7:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40f7db:	ff 15 b8 61 41 00    	call   *0x4161b8
40f7e1:	8b 03                	mov    (%ebx),%eax
40f7e3:	53                   	push   %ebx
40f7e4:	8b 70 08             	mov    0x8(%eax),%esi
40f7e7:	8b ce                	mov    %esi,%ecx
40f7e9:	ff 15 28 63 41 00    	call   *0x416328
40f7ef:	ff d6                	call   *%esi
40f7f1:	ff 75 ec             	push   -0x14(%ebp)
40f7f4:	ff 15 b8 61 41 00    	call   *0x4161b8
40f7fa:	ff 75 e8             	push   -0x18(%ebp)
40f7fd:	ff 15 b8 61 41 00    	call   *0x4161b8
40f803:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40f806:	e8 e4 71 ff ff       	call   0x4069ef
40f80b:	33 c0                	xor    %eax,%eax
40f80d:	e8 1a 2d 00 00       	call   0x41252c
40f812:	c2 04 00             	ret    $0x4
40f815:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
40f81a:	e8 d0 53 ff ff       	call   0x404bef
40f81f:	cc                   	int3
40f820:	6a 08                	push   $0x8
40f822:	b8 9b 30 41 00       	mov    $0x41309b,%eax
40f827:	e8 32 2d 00 00       	call   0x41255e
40f82c:	33 db                	xor    %ebx,%ebx
40f82e:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40f831:	8b 7d 08             	mov    0x8(%ebp),%edi
40f834:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40f837:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40f83a:	85 ff                	test   %edi,%edi
40f83c:	75 1f                	jne    0x40f85d
40f83e:	68 03 40 00 80       	push   $0x80004003
40f843:	68 48 40 40 00       	push   $0x404048
40f848:	68 74 03 00 00       	push   $0x374
40f84d:	68 60 3f 40 00       	push   $0x403f60
40f852:	51                   	push   %ecx
40f853:	e8 7a 17 00 00       	call   0x410fd2
40f858:	e9 3d 01 00 00       	jmp    0x40f99a
40f85d:	39 1f                	cmp    %ebx,(%edi)
40f85f:	75 14                	jne    0x40f875
40f861:	68 03 40 00 80       	push   $0x80004003
40f866:	68 48 40 40 00       	push   $0x404048
40f86b:	68 75 03 00 00       	push   $0x375
40f870:	e9 ea 00 00 00       	jmp    0x40f95f
40f875:	39 5f 04             	cmp    %ebx,0x4(%edi)
40f878:	75 14                	jne    0x40f88e
40f87a:	68 03 40 00 80       	push   $0x80004003
40f87f:	68 48 40 40 00       	push   $0x404048
40f884:	68 76 03 00 00       	push   $0x376
40f889:	e9 d1 00 00 00       	jmp    0x40f95f
40f88e:	8d 45 f0             	lea    -0x10(%ebp),%eax
40f891:	50                   	push   %eax
40f892:	68 08 2b 40 00       	push   $0x402b08
40f897:	6a 04                	push   $0x4
40f899:	53                   	push   %ebx
40f89a:	68 c8 2c 40 00       	push   $0x402cc8
40f89f:	ff 15 20 62 41 00    	call   *0x416220
40f8a5:	8b f0                	mov    %eax,%esi
40f8a7:	85 f6                	test   %esi,%esi
40f8a9:	79 17                	jns    0x40f8c2
40f8ab:	51                   	push   %ecx
40f8ac:	51                   	push   %ecx
40f8ad:	e8 5d 15 00 00       	call   0x410e0f
40f8b2:	56                   	push   %esi
40f8b3:	68 48 40 40 00       	push   $0x404048
40f8b8:	68 83 03 00 00       	push   $0x383
40f8bd:	e9 9d 00 00 00       	jmp    0x40f95f
40f8c2:	8b 45 f0             	mov    -0x10(%ebp),%eax
40f8c5:	ff 37                	push   (%edi)
40f8c7:	50                   	push   %eax
40f8c8:	8b 08                	mov    (%eax),%ecx
40f8ca:	8b 71 24             	mov    0x24(%ecx),%esi
40f8cd:	8b ce                	mov    %esi,%ecx
40f8cf:	ff 15 28 63 41 00    	call   *0x416328
40f8d5:	ff d6                	call   *%esi
40f8d7:	85 c0                	test   %eax,%eax
40f8d9:	79 0d                	jns    0x40f8e8
40f8db:	50                   	push   %eax
40f8dc:	68 48 40 40 00       	push   $0x404048
40f8e1:	68 8a 03 00 00       	push   $0x38a
40f8e6:	eb 77                	jmp    0x40f95f
40f8e8:	8b 45 f0             	mov    -0x10(%ebp),%eax
40f8eb:	ff 77 04             	push   0x4(%edi)
40f8ee:	50                   	push   %eax
40f8ef:	8b 08                	mov    (%eax),%ecx
40f8f1:	8b 71 48             	mov    0x48(%ecx),%esi
40f8f4:	8b ce                	mov    %esi,%ecx
40f8f6:	ff 15 28 63 41 00    	call   *0x416328
40f8fc:	ff d6                	call   *%esi
40f8fe:	85 c0                	test   %eax,%eax
40f900:	79 0d                	jns    0x40f90f
40f902:	50                   	push   %eax
40f903:	68 48 40 40 00       	push   $0x404048
40f908:	68 90 03 00 00       	push   $0x390
40f90d:	eb 50                	jmp    0x40f95f
40f90f:	8b 45 f0             	mov    -0x10(%ebp),%eax
40f912:	53                   	push   %ebx
40f913:	ff 37                	push   (%edi)
40f915:	8b 30                	mov    (%eax),%esi
40f917:	6a 01                	push   $0x1
40f919:	50                   	push   %eax
40f91a:	8b 4e 28             	mov    0x28(%esi),%ecx
40f91d:	ff 15 28 63 41 00    	call   *0x416328