40b3a7:	8b 75 08             	mov    0x8(%ebp),%esi
40b3aa:	8d 4e 10             	lea    0x10(%esi),%ecx
40b3ad:	e8 00 0a 01 00       	call   0x41bdb2
40b3b2:	8b d8                	mov    %eax,%ebx
40b3b4:	85 db                	test   %ebx,%ebx
40b3b6:	75 44                	jne    0x40b3fc
40b3b8:	85 f6                	test   %esi,%esi
40b3ba:	74 26                	je     0x40b3e2
40b3bc:	8b 16                	mov    (%esi),%edx
40b3be:	57                   	push   %edi
40b3bf:	6a 01                	push   $0x1
40b3c1:	8b 7a 20             	mov    0x20(%edx),%edi
40b3c4:	81 ff 10 b4 40 00    	cmp    $0x40b410,%edi
40b3ca:	75 09                	jne    0x40b3d5
40b3cc:	8b ce                	mov    %esi,%ecx
40b3ce:	e8 3d 00 00 00       	call   0x40b410
40b3d3:	eb 0c                	jmp    0x40b3e1
40b3d5:	8b cf                	mov    %edi,%ecx
40b3d7:	ff 15 20 a5 43 00    	call   *0x43a520
40b3dd:	8b ce                	mov    %esi,%ecx
40b3df:	ff d7                	call   *%edi
40b3e1:	5f                   	pop    %edi
40b3e2:	8b 0d 74 91 43 00    	mov    0x439174,%ecx
40b3e8:	85 c9                	test   %ecx,%ecx
40b3ea:	74 10                	je     0x40b3fc
40b3ec:	8b 01                	mov    (%ecx),%eax
40b3ee:	51                   	push   %ecx
40b3ef:	8b 70 08             	mov    0x8(%eax),%esi
40b3f2:	8b ce                	mov    %esi,%ecx
40b3f4:	ff 15 20 a5 43 00    	call   *0x43a520
40b3fa:	ff d6                	call   *%esi
40b3fc:	5e                   	pop    %esi
40b3fd:	8b c3                	mov    %ebx,%eax
40b3ff:	5b                   	pop    %ebx
40b400:	5d                   	pop    %ebp
40b401:	c2 04 00             	ret    $0x4
40b404:	cc                   	int3
40b405:	cc                   	int3
40b406:	cc                   	int3
40b407:	cc                   	int3
40b408:	cc                   	int3
40b409:	cc                   	int3
40b40a:	cc                   	int3
40b40b:	cc                   	int3
40b40c:	cc                   	int3
40b40d:	cc                   	int3
40b40e:	cc                   	int3
40b40f:	cc                   	int3
40b410:	8b ff                	mov    %edi,%edi
40b412:	55                   	push   %ebp
40b413:	8b ec                	mov    %esp,%ebp
40b415:	6a ff                	push   $0xffffffff
40b417:	68 6c e1 41 00       	push   $0x41e16c
40b41c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b422:	50                   	push   %eax
40b423:	56                   	push   %esi
40b424:	57                   	push   %edi
40b425:	a1 08 85 43 00       	mov    0x438508,%eax
40b42a:	33 c5                	xor    %ebp,%eax
40b42c:	50                   	push   %eax
40b42d:	8d 45 f4             	lea    -0xc(%ebp),%eax
40b430:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40b436:	8b f9                	mov    %ecx,%edi
40b438:	e8 2e 00 00 00       	call   0x40b46b
40b43d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40b441:	74 15                	je     0x40b458
40b443:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40b447:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40b44d:	8b ce                	mov    %esi,%ecx
40b44f:	57                   	push   %edi
40b450:	ff 15 20 a5 43 00    	call   *0x43a520
40b456:	ff d6                	call   *%esi
40b458:	8b c7                	mov    %edi,%eax
40b45a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40b45d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b464:	59                   	pop    %ecx
40b465:	5f                   	pop    %edi
40b466:	5e                   	pop    %esi
40b467:	c9                   	leave
40b468:	c2 04 00             	ret    $0x4
40b46b:	8b ff                	mov    %edi,%edi
40b46d:	56                   	push   %esi
40b46e:	8b f1                	mov    %ecx,%esi
40b470:	c7 06 30 10 40 00    	movl   $0x401030,(%esi)
40b476:	c7 46 04 10 10 40 00 	movl   $0x401010,0x4(%esi)
40b47d:	c7 46 08 00 10 40 00 	movl   $0x401000,0x8(%esi)
40b484:	e8 47 00 00 00       	call   0x40b4d0
40b489:	6a 00                	push   $0x0
40b48b:	6a 01                	push   $0x1
40b48d:	8d 4e 40             	lea    0x40(%esi),%ecx
40b490:	e8 8a 00 00 00       	call   0x40b51f
40b495:	8b 46 3c             	mov    0x3c(%esi),%eax
40b498:	83 66 3c 00          	andl   $0x0,0x3c(%esi)
40b49c:	85 c0                	test   %eax,%eax
40b49e:	74 07                	je     0x40b4a7
40b4a0:	50                   	push   %eax
40b4a1:	ff 15 64 a0 43 00    	call   *0x43a064
40b4a7:	8d 4e 20             	lea    0x20(%esi),%ecx
40b4aa:	e8 f2 e8 00 00       	call   0x419da1
40b4af:	8d 4e 1c             	lea    0x1c(%esi),%ecx
40b4b2:	e8 ea e8 00 00       	call   0x419da1
40b4b7:	8d 4e 18             	lea    0x18(%esi),%ecx
40b4ba:	e8 e2 e8 00 00       	call   0x419da1
40b4bf:	8d 4e 14             	lea    0x14(%esi),%ecx
40b4c2:	e8 da e8 00 00       	call   0x419da1
40b4c7:	c7 46 10 01 00 00 c0 	movl   $0xc0000001,0x10(%esi)
40b4ce:	5e                   	pop    %esi
40b4cf:	c3                   	ret
40b4d0:	8b ff                	mov    %edi,%edi
40b4d2:	53                   	push   %ebx
40b4d3:	8b d9                	mov    %ecx,%ebx
40b4d5:	56                   	push   %esi
40b4d6:	33 f6                	xor    %esi,%esi
40b4d8:	39 73 28             	cmp    %esi,0x28(%ebx)
40b4db:	76 1c                	jbe    0x40b4f9
40b4dd:	57                   	push   %edi
40b4de:	33 ff                	xor    %edi,%edi
40b4e0:	8b 43 3c             	mov    0x3c(%ebx),%eax
40b4e3:	83 c0 38             	add    $0x38,%eax
40b4e6:	03 c7                	add    %edi,%eax
40b4e8:	50                   	push   %eax
40b4e9:	ff 15 4c a0 43 00    	call   *0x43a04c
40b4ef:	46                   	inc    %esi
40b4f0:	83 c7 50             	add    $0x50,%edi
40b4f3:	3b 73 28             	cmp    0x28(%ebx),%esi
40b4f6:	72 e8                	jb     0x40b4e0
40b4f8:	5f                   	pop    %edi
40b4f9:	5e                   	pop    %esi
40b4fa:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
40b501:	c7 43 2c 00 00 00 00 	movl   $0x0,0x2c(%ebx)
40b508:	c7 43 30 00 00 00 00 	movl   $0x0,0x30(%ebx)
40b50f:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
40b516:	c7 43 38 00 00 00 00 	movl   $0x0,0x38(%ebx)
40b51d:	5b                   	pop    %ebx
40b51e:	c3                   	ret
40b51f:	6a 00                	push   $0x0
40b521:	b8 51 e1 41 00       	mov    $0x41e151,%eax
40b526:	e8 e3 f8 00 00       	call   0x41ae0e
40b52b:	8b f9                	mov    %ecx,%edi
40b52d:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40b531:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40b534:	74 25                	je     0x40b55b
40b536:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
40b53a:	72 1f                	jb     0x40b55b
40b53c:	8b 37                	mov    (%edi),%esi
40b53e:	85 db                	test   %ebx,%ebx
40b540:	0f 85 85 49 01 00    	jne    0x41fecb
40b546:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40b54a:	56                   	push   %esi
40b54b:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
40b551:	8b ce                	mov    %esi,%ecx
40b553:	ff 15 20 a5 43 00    	call   *0x43a520
40b559:	ff d6                	call   *%esi
40b55b:	33 c0                	xor    %eax,%eax
40b55d:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
40b564:	89 5f 10             	mov    %ebx,0x10(%edi)
40b567:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
40b56b:	e8 6c f8 00 00       	call   0x41addc
40b570:	c2 08 00             	ret    $0x8
40b573:	8b ff                	mov    %edi,%edi
40b575:	55                   	push   %ebp
40b576:	8b ec                	mov    %esp,%ebp
40b578:	8b 55 08             	mov    0x8(%ebp),%edx
40b57b:	85 d2                	test   %edx,%edx
40b57d:	74 20                	je     0x40b59f
40b57f:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
40b583:	73 20                	jae    0x40b5a5
40b585:	8b c1                	mov    %ecx,%eax
40b587:	3b d0                	cmp    %eax,%edx
40b589:	72 14                	jb     0x40b59f
40b58b:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
40b58f:	56                   	push   %esi
40b590:	73 17                	jae    0x40b5a9
40b592:	8b f1                	mov    %ecx,%esi
40b594:	8b 41 10             	mov    0x10(%ecx),%eax
40b597:	8d 04 46             	lea    (%esi,%eax,2),%eax
40b59a:	5e                   	pop    %esi
40b59b:	3b c2                	cmp    %edx,%eax
40b59d:	77 0e                	ja     0x40b5ad
40b59f:	32 c0                	xor    %al,%al
40b5a1:	5d                   	pop    %ebp
40b5a2:	c2 04 00             	ret    $0x4
40b5a5:	8b 01                	mov    (%ecx),%eax
40b5a7:	eb de                	jmp    0x40b587
40b5a9:	8b 31                	mov    (%ecx),%esi
40b5ab:	eb e7                	jmp    0x40b594
40b5ad:	b0 01                	mov    $0x1,%al
40b5af:	eb f0                	jmp    0x40b5a1
40b5b1:	33 d2                	xor    %edx,%edx
40b5b3:	66 39 11             	cmp    %dx,(%ecx)
40b5b6:	74 16                	je     0x40b5ce
40b5b8:	56                   	push   %esi
40b5b9:	8d 71 02             	lea    0x2(%ecx),%esi
40b5bc:	66 8b 01             	mov    (%ecx),%ax
40b5bf:	83 c1 02             	add    $0x2,%ecx
40b5c2:	66 3b c2             	cmp    %dx,%ax
40b5c5:	75 f5                	jne    0x40b5bc
40b5c7:	8b d1                	mov    %ecx,%edx
40b5c9:	2b d6                	sub    %esi,%edx
40b5cb:	d1 fa                	sar    $1,%edx
40b5cd:	5e                   	pop    %esi
40b5ce:	8b c2                	mov    %edx,%eax
40b5d0:	c3                   	ret
40b5d1:	8b ff                	mov    %edi,%edi
40b5d3:	55                   	push   %ebp
40b5d4:	8b ec                	mov    %esp,%ebp
40b5d6:	56                   	push   %esi
40b5d7:	57                   	push   %edi
40b5d8:	8b 7d 08             	mov    0x8(%ebp),%edi
40b5db:	8b f1                	mov    %ecx,%esi
40b5dd:	8b cf                	mov    %edi,%ecx
40b5df:	e8 bd e7 00 00       	call   0x419da1
40b5e4:	8b 06                	mov    (%esi),%eax
40b5e6:	57                   	push   %edi
40b5e7:	68 00 3f 40 00       	push   $0x403f00
40b5ec:	50                   	push   %eax
40b5ed:	8b 08                	mov    (%eax),%ecx
40b5ef:	8b 31                	mov    (%ecx),%esi
40b5f1:	8b ce                	mov    %esi,%ecx
40b5f3:	ff 15 20 a5 43 00    	call   *0x43a520
40b5f9:	ff d6                	call   *%esi
40b5fb:	5f                   	pop    %edi
40b5fc:	5e                   	pop    %esi
40b5fd:	5d                   	pop    %ebp
40b5fe:	c2 04 00             	ret    $0x4
40b601:	8b ff                	mov    %edi,%edi
40b603:	55                   	push   %ebp
40b604:	8b ec                	mov    %esp,%ebp
40b606:	56                   	push   %esi
40b607:	57                   	push   %edi
40b608:	8b 7d 08             	mov    0x8(%ebp),%edi
40b60b:	8b f1                	mov    %ecx,%esi
40b60d:	8b cf                	mov    %edi,%ecx
40b60f:	e8 8d e7 00 00       	call   0x419da1
40b614:	8b 06                	mov    (%esi),%eax
40b616:	57                   	push   %edi
40b617:	68 10 3f 40 00       	push   $0x403f10
40b61c:	50                   	push   %eax
40b61d:	8b 08                	mov    (%eax),%ecx
40b61f:	8b 31                	mov    (%ecx),%esi
40b621:	8b ce                	mov    %esi,%ecx
40b623:	ff 15 20 a5 43 00    	call   *0x43a520
40b629:	ff d6                	call   *%esi
40b62b:	5f                   	pop    %edi
40b62c:	5e                   	pop    %esi
40b62d:	5d                   	pop    %ebp
40b62e:	c2 04 00             	ret    $0x4
40b631:	8b ff                	mov    %edi,%edi
40b633:	55                   	push   %ebp
40b634:	8b ec                	mov    %esp,%ebp
40b636:	51                   	push   %ecx
40b637:	53                   	push   %ebx
40b638:	8b d9                	mov    %ecx,%ebx
40b63a:	57                   	push   %edi
40b63b:	8b 7d 08             	mov    0x8(%ebp),%edi
40b63e:	8b 03                	mov    (%ebx),%eax
40b640:	3b c7                	cmp    %edi,%eax
40b642:	74 25                	je     0x40b669
40b644:	85 ff                	test   %edi,%edi
40b646:	74 14                	je     0x40b65c
40b648:	8b 07                	mov    (%edi),%eax
40b64a:	56                   	push   %esi
40b64b:	57                   	push   %edi
40b64c:	8b 70 04             	mov    0x4(%eax),%esi
40b64f:	8b ce                	mov    %esi,%ecx
40b651:	ff 15 20 a5 43 00    	call   *0x43a520
40b657:	ff d6                	call   *%esi
40b659:	8b 03                	mov    (%ebx),%eax
40b65b:	5e                   	pop    %esi
40b65c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40b65f:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b662:	89 3b                	mov    %edi,(%ebx)
40b664:	e8 38 e7 00 00       	call   0x419da1
40b669:	5f                   	pop    %edi
40b66a:	8b c3                	mov    %ebx,%eax
40b66c:	5b                   	pop    %ebx
40b66d:	c9                   	leave
40b66e:	c2 04 00             	ret    $0x4
40b671:	6a 70                	push   $0x70
40b673:	b8 9f e1 41 00       	mov    $0x41e19f,%eax
40b678:	e8 c4 f7 00 00       	call   0x41ae41
40b67d:	89 55 8c             	mov    %edx,-0x74(%ebp)
40b680:	8b f9                	mov    %ecx,%edi
40b682:	8b 45 08             	mov    0x8(%ebp),%eax
40b685:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40b688:	8b 75 10             	mov    0x10(%ebp),%esi
40b68b:	89 45 90             	mov    %eax,-0x70(%ebp)
40b68e:	8b 45 14             	mov    0x14(%ebp),%eax
40b691:	89 45 88             	mov    %eax,-0x78(%ebp)
40b694:	8b 45 18             	mov    0x18(%ebp),%eax
40b697:	89 45 84             	mov    %eax,-0x7c(%ebp)
40b69a:	85 db                	test   %ebx,%ebx
40b69c:	75 12                	jne    0x40b6b0
40b69e:	85 f6                	test   %esi,%esi
40b6a0:	75 0e                	jne    0x40b6b0
40b6a2:	85 ff                	test   %edi,%edi
40b6a4:	75 0a                	jne    0x40b6b0
40b6a6:	b8 16 0d 04 80       	mov    $0x80040d16,%eax
40b6ab:	e9 eb 00 00 00       	jmp    0x40b79b
40b6b0:	68 e8 55 40 00       	push   $0x4055e8
40b6b5:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40b6b8:	e8 ea 9d 00 00       	call   0x4154a7
40b6bd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40b6c1:	85 f6                	test   %esi,%esi
40b6c3:	74 19                	je     0x40b6de
40b6c5:	8b 45 9c             	mov    -0x64(%ebp),%eax
40b6c8:	6a ff                	push   $0xffffffff
40b6ca:	ff 75 a8             	push   -0x58(%ebp)
40b6cd:	56                   	push   %esi
40b6ce:	8b 70 10             	mov    0x10(%eax),%esi
40b6d1:	8b ce                	mov    %esi,%ecx
40b6d3:	ff 15 20 a5 43 00    	call   *0x43a520
40b6d9:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40b6dc:	ff d6                	call   *%esi
40b6de:	83 65 94 00          	andl   $0x0,-0x6c(%ebp)
40b6e2:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
40b6e5:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40b6e9:	e8 b3 e6 00 00       	call   0x419da1
40b6ee:	8b 45 8c             	mov    -0x74(%ebp),%eax
40b6f1:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
40b6f4:	51                   	push   %ecx
40b6f5:	6a 00                	push   $0x0
40b6f7:	57                   	push   %edi
40b6f8:	8b 30                	mov    (%eax),%esi
40b6fa:	53                   	push   %ebx
40b6fb:	ff 75 a0             	push   -0x60(%ebp)
40b6fe:	ff 75 88             	push   -0x78(%ebp)
40b701:	8b 4e 0c             	mov    0xc(%esi),%ecx
40b704:	ff 75 90             	push   -0x70(%ebp)
40b707:	50                   	push   %eax
40b708:	ff 15 20 a5 43 00    	call   *0x43a520
40b70e:	ff 56 0c             	call   *0xc(%esi)
40b711:	8b f0                	mov    %eax,%esi
40b713:	85 f6                	test   %esi,%esi
40b715:	78 72                	js     0x40b789
40b717:	83 65 98 00          	andl   $0x0,-0x68(%ebp)
40b71b:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40b71f:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40b722:	8b 45 94             	mov    -0x6c(%ebp),%eax
40b725:	89 45 90             	mov    %eax,-0x70(%ebp)
40b728:	e8 4a fc ff ff       	call   0x40b377
40b72d:	68 20 8b 43 00       	push   $0x438b20
40b732:	8d 55 90             	lea    -0x70(%ebp),%edx
40b735:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40b738:	e8 17 f9 ff ff       	call   0x40b054
40b73d:	8b f0                	mov    %eax,%esi
40b73f:	85 f6                	test   %esi,%esi
40b741:	79 07                	jns    0x40b74a
40b743:	ba ca 00 00 00       	mov    $0xca,%edx
40b748:	eb 25                	jmp    0x40b76f