40b450:	3b 18                	cmp    (%eax),%ebx
40b452:	74 4b                	je     0x40b49f
40b454:	8b 73 28             	mov    0x28(%ebx),%esi
40b457:	3b 73 2c             	cmp    0x2c(%ebx),%esi
40b45a:	74 43                	je     0x40b49f
40b45c:	0f 1f 40 00          	nopl   0x0(%eax)
40b460:	8b 1e                	mov    (%esi),%ebx
40b462:	6a 01                	push   $0x1
40b464:	6a 00                	push   $0x0
40b466:	6a 00                	push   $0x0
40b468:	ff 75 f4             	push   -0xc(%ebp)
40b46b:	8b 3b                	mov    (%ebx),%edi
40b46d:	ff 75 f0             	push   -0x10(%ebp)
40b470:	ff 75 ec             	push   -0x14(%ebp)
40b473:	8b 7f 14             	mov    0x14(%edi),%edi
40b476:	8b cf                	mov    %edi,%ecx
40b478:	ff 75 e8             	push   -0x18(%ebp)
40b47b:	ff 75 e4             	push   -0x1c(%ebp)
40b47e:	ff 75 e0             	push   -0x20(%ebp)
40b481:	ff 75 dc             	push   -0x24(%ebp)
40b484:	ff 75 d8             	push   -0x28(%ebp)
40b487:	ff 75 0c             	push   0xc(%ebp)
40b48a:	ff 15 5c e2 43 00    	call   *0x43e25c
40b490:	8b cb                	mov    %ebx,%ecx
40b492:	ff d7                	call   *%edi
40b494:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b497:	83 c6 04             	add    $0x4,%esi
40b49a:	3b 70 2c             	cmp    0x2c(%eax),%esi
40b49d:	75 c1                	jne    0x40b460
40b49f:	5f                   	pop    %edi
40b4a0:	5e                   	pop    %esi
40b4a1:	5b                   	pop    %ebx
40b4a2:	8b e5                	mov    %ebp,%esp
40b4a4:	5d                   	pop    %ebp
40b4a5:	c2 30 00             	ret    $0x30
40b4a8:	e8 e6 44 01 00       	call   0x41f993
40b4ad:	cc                   	int3
40b4ae:	cc                   	int3
40b4af:	cc                   	int3
40b4b0:	55                   	push   %ebp
40b4b1:	8b ec                	mov    %esp,%ebp
40b4b3:	83 e4 f8             	and    $0xfffffff8,%esp
40b4b6:	83 ec 4c             	sub    $0x4c,%esp
40b4b9:	8b 45 10             	mov    0x10(%ebp),%eax
40b4bc:	8b 55 08             	mov    0x8(%ebp),%edx
40b4bf:	89 44 24 24          	mov    %eax,0x24(%esp)
40b4c3:	8b 45 14             	mov    0x14(%ebp),%eax
40b4c6:	89 44 24 20          	mov    %eax,0x20(%esp)
40b4ca:	8b 45 18             	mov    0x18(%ebp),%eax
40b4cd:	89 44 24 1c          	mov    %eax,0x1c(%esp)
40b4d1:	8b 45 1c             	mov    0x1c(%ebp),%eax
40b4d4:	89 44 24 18          	mov    %eax,0x18(%esp)
40b4d8:	8b 45 20             	mov    0x20(%ebp),%eax
40b4db:	89 44 24 14          	mov    %eax,0x14(%esp)
40b4df:	8b 45 24             	mov    0x24(%ebp),%eax
40b4e2:	89 44 24 10          	mov    %eax,0x10(%esp)
40b4e6:	8b 45 28             	mov    0x28(%ebp),%eax
40b4e9:	89 44 24 0c          	mov    %eax,0xc(%esp)
40b4ed:	8b 45 2c             	mov    0x2c(%ebp),%eax
40b4f0:	89 44 24 08          	mov    %eax,0x8(%esp)
40b4f4:	53                   	push   %ebx
40b4f5:	8b d9                	mov    %ecx,%ebx
40b4f7:	89 5c 24 04          	mov    %ebx,0x4(%esp)
40b4fb:	56                   	push   %esi
40b4fc:	57                   	push   %edi
40b4fd:	85 d2                	test   %edx,%edx
40b4ff:	0f 84 1a 01 00 00    	je     0x40b61f
40b505:	8b ca                	mov    %edx,%ecx
40b507:	c7 44 24 34 00 00 00 	movl   $0x0,0x34(%esp)
40b50e:	00
40b50f:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%esp)
40b516:	00
40b517:	c7 44 24 48 00 00 00 	movl   $0x0,0x48(%esp)
40b51e:	00
40b51f:	8d 71 02             	lea    0x2(%ecx),%esi
40b522:	66 8b 01             	mov    (%ecx),%ax
40b525:	83 c1 02             	add    $0x2,%ecx
40b528:	66 85 c0             	test   %ax,%ax
40b52b:	75 f5                	jne    0x40b522
40b52d:	2b ce                	sub    %esi,%ecx
40b52f:	d1 f9                	sar    $1,%ecx
40b531:	51                   	push   %ecx
40b532:	52                   	push   %edx
40b533:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
40b537:	e8 c4 7a ff ff       	call   0x403000
40b53c:	8d 44 24 34          	lea    0x34(%esp),%eax
40b540:	8b cb                	mov    %ebx,%ecx
40b542:	50                   	push   %eax
40b543:	8d 44 24 50          	lea    0x50(%esp),%eax
40b547:	50                   	push   %eax
40b548:	e8 03 07 00 00       	call   0x40bc50
40b54d:	8b 5c 24 54          	mov    0x54(%esp),%ebx
40b551:	8b 7c 24 48          	mov    0x48(%esp),%edi
40b555:	8b 74 24 34          	mov    0x34(%esp),%esi
40b559:	89 5c 24 10          	mov    %ebx,0x10(%esp)
40b55d:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
40b561:	75 2a                	jne    0x40b58d
40b563:	83 7b 24 08          	cmpl   $0x8,0x24(%ebx)
40b567:	8d 53 10             	lea    0x10(%ebx),%edx
40b56a:	72 03                	jb     0x40b56f
40b56c:	8b 53 10             	mov    0x10(%ebx),%edx
40b56f:	ff 73 20             	push   0x20(%ebx)
40b572:	83 ff 08             	cmp    $0x8,%edi
40b575:	8d 4c 24 38          	lea    0x38(%esp),%ecx
40b579:	52                   	push   %edx
40b57a:	8b 54 24 4c          	mov    0x4c(%esp),%edx
40b57e:	0f 43 ce             	cmovae %esi,%ecx
40b581:	e8 fa 9a ff ff       	call   0x405080
40b586:	83 c4 08             	add    $0x8,%esp
40b589:	85 c0                	test   %eax,%eax
40b58b:	79 0a                	jns    0x40b597
40b58d:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
40b591:	8b 1b                	mov    (%ebx),%ebx
40b593:	89 5c 24 10          	mov    %ebx,0x10(%esp)
40b597:	83 ff 08             	cmp    $0x8,%edi
40b59a:	72 2b                	jb     0x40b5c7
40b59c:	8d 0c 7d 02 00 00 00 	lea    0x2(,%edi,2),%ecx
40b5a3:	8b c6                	mov    %esi,%eax
40b5a5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40b5ab:	72 10                	jb     0x40b5bd
40b5ad:	8b 70 fc             	mov    -0x4(%eax),%esi
40b5b0:	83 c1 23             	add    $0x23,%ecx
40b5b3:	2b c6                	sub    %esi,%eax
40b5b5:	83 c0 fc             	add    $0xfffffffc,%eax
40b5b8:	83 f8 1f             	cmp    $0x1f,%eax
40b5bb:	77 6b                	ja     0x40b628
40b5bd:	51                   	push   %ecx
40b5be:	56                   	push   %esi
40b5bf:	e8 f4 e5 00 00       	call   0x419bb8
40b5c4:	83 c4 08             	add    $0x8,%esp
40b5c7:	8b 44 24 0c          	mov    0xc(%esp),%eax
40b5cb:	3b 18                	cmp    (%eax),%ebx
40b5cd:	74 50                	je     0x40b61f
40b5cf:	8b 73 28             	mov    0x28(%ebx),%esi
40b5d2:	3b 73 2c             	cmp    0x2c(%ebx),%esi
40b5d5:	74 48                	je     0x40b61f
40b5d7:	8b 1e                	mov    (%esi),%ebx
40b5d9:	6a 01                	push   $0x1
40b5db:	6a 00                	push   $0x0
40b5dd:	6a 00                	push   $0x0
40b5df:	ff 74 24 20          	push   0x20(%esp)
40b5e3:	8b 3b                	mov    (%ebx),%edi
40b5e5:	ff 74 24 28          	push   0x28(%esp)
40b5e9:	ff 74 24 30          	push   0x30(%esp)
40b5ed:	8b 7f 10             	mov    0x10(%edi),%edi
40b5f0:	8b cf                	mov    %edi,%ecx
40b5f2:	ff 74 24 38          	push   0x38(%esp)
40b5f6:	ff 74 24 40          	push   0x40(%esp)
40b5fa:	ff 74 24 48          	push   0x48(%esp)
40b5fe:	ff 74 24 50          	push   0x50(%esp)
40b602:	ff 74 24 58          	push   0x58(%esp)
40b606:	ff 75 0c             	push   0xc(%ebp)
40b609:	ff 15 5c e2 43 00    	call   *0x43e25c
40b60f:	8b cb                	mov    %ebx,%ecx
40b611:	ff d7                	call   *%edi
40b613:	8b 44 24 10          	mov    0x10(%esp),%eax
40b617:	83 c6 04             	add    $0x4,%esi
40b61a:	3b 70 2c             	cmp    0x2c(%eax),%esi
40b61d:	75 b8                	jne    0x40b5d7
40b61f:	5f                   	pop    %edi
40b620:	5e                   	pop    %esi
40b621:	5b                   	pop    %ebx
40b622:	8b e5                	mov    %ebp,%esp
40b624:	5d                   	pop    %ebp
40b625:	c2 30 00             	ret    $0x30
40b628:	e8 66 43 01 00       	call   0x41f993
40b62d:	cc                   	int3
40b62e:	cc                   	int3
40b62f:	cc                   	int3
40b630:	56                   	push   %esi
40b631:	8b f1                	mov    %ecx,%esi
40b633:	8b 06                	mov    (%esi),%eax
40b635:	85 c0                	test   %eax,%eax
40b637:	74 40                	je     0x40b679
40b639:	8b 4e 08             	mov    0x8(%esi),%ecx
40b63c:	2b c8                	sub    %eax,%ecx
40b63e:	83 e1 fc             	and    $0xfffffffc,%ecx
40b641:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40b647:	72 12                	jb     0x40b65b
40b649:	8b 50 fc             	mov    -0x4(%eax),%edx
40b64c:	83 c1 23             	add    $0x23,%ecx
40b64f:	2b c2                	sub    %edx,%eax
40b651:	83 c0 fc             	add    $0xfffffffc,%eax
40b654:	83 f8 1f             	cmp    $0x1f,%eax
40b657:	77 22                	ja     0x40b67b
40b659:	8b c2                	mov    %edx,%eax
40b65b:	51                   	push   %ecx
40b65c:	50                   	push   %eax
40b65d:	e8 56 e5 00 00       	call   0x419bb8
40b662:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40b668:	83 c4 08             	add    $0x8,%esp
40b66b:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
40b672:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
40b679:	5e                   	pop    %esi
40b67a:	c3                   	ret
40b67b:	e8 13 43 01 00       	call   0x41f993
40b680:	cc                   	int3
40b681:	cc                   	int3
40b682:	cc                   	int3
40b683:	cc                   	int3
40b684:	cc                   	int3
40b685:	cc                   	int3
40b686:	cc                   	int3
40b687:	cc                   	int3
40b688:	cc                   	int3
40b689:	cc                   	int3
40b68a:	cc                   	int3
40b68b:	cc                   	int3
40b68c:	cc                   	int3
40b68d:	cc                   	int3
40b68e:	cc                   	int3
40b68f:	cc                   	int3
40b690:	55                   	push   %ebp
40b691:	8b ec                	mov    %esp,%ebp
40b693:	6a ff                	push   $0xffffffff
40b695:	68 15 c3 43 00       	push   $0x43c315
40b69a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b6a0:	50                   	push   %eax
40b6a1:	83 ec 1c             	sub    $0x1c,%esp
40b6a4:	53                   	push   %ebx
40b6a5:	56                   	push   %esi
40b6a6:	57                   	push   %edi
40b6a7:	a1 14 50 45 00       	mov    0x455014,%eax
40b6ac:	33 c5                	xor    %ebp,%eax
40b6ae:	50                   	push   %eax
40b6af:	8d 45 f4             	lea    -0xc(%ebp),%eax
40b6b2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40b6b8:	8b f9                	mov    %ecx,%edi
40b6ba:	89 7d ec             	mov    %edi,-0x14(%ebp)
40b6bd:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b6c0:	8d 45 d8             	lea    -0x28(%ebp),%eax
40b6c3:	53                   	push   %ebx
40b6c4:	50                   	push   %eax
40b6c5:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40b6c8:	e8 83 05 00 00       	call   0x40bc50
40b6cd:	8b 75 e0             	mov    -0x20(%ebp),%esi
40b6d0:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
40b6d4:	75 2c                	jne    0x40b702
40b6d6:	83 7e 24 08          	cmpl   $0x8,0x24(%esi)
40b6da:	8d 56 10             	lea    0x10(%esi),%edx
40b6dd:	72 03                	jb     0x40b6e2
40b6df:	8b 56 10             	mov    0x10(%esi),%edx
40b6e2:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40b6e6:	8b cb                	mov    %ebx,%ecx
40b6e8:	72 02                	jb     0x40b6ec
40b6ea:	8b 0b                	mov    (%ebx),%ecx
40b6ec:	ff 76 20             	push   0x20(%esi)
40b6ef:	52                   	push   %edx
40b6f0:	8b 53 10             	mov    0x10(%ebx),%edx
40b6f3:	e8 88 99 ff ff       	call   0x405080
40b6f8:	c1 e8 1f             	shr    $0x1f,%eax
40b6fb:	83 c4 08             	add    $0x8,%esp
40b6fe:	84 c0                	test   %al,%al
40b700:	74 71                	je     0x40b773
40b702:	81 7f 04 c4 4e ec 04 	cmpl   $0x4ec4ec4,0x4(%edi)
40b709:	74 7f                	je     0x40b78a
40b70b:	8b 1f                	mov    (%edi),%ebx
40b70d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40b710:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40b717:	6a 34                	push   $0x34
40b719:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40b720:	e8 a1 e4 00 00       	call   0x419bc6
40b725:	8b f8                	mov    %eax,%edi
40b727:	83 c4 04             	add    $0x4,%esp
40b72a:	89 7d e8             	mov    %edi,-0x18(%ebp)
40b72d:	ff 75 f0             	push   -0x10(%ebp)
40b730:	8d 4f 10             	lea    0x10(%edi),%ecx
40b733:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40b73a:	e8 81 7b ff ff       	call   0x4032c0
40b73f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40b742:	57                   	push   %edi
40b743:	ff 75 dc             	push   -0x24(%ebp)
40b746:	c7 47 28 00 00 00 00 	movl   $0x0,0x28(%edi)
40b74d:	ff 75 d8             	push   -0x28(%ebp)
40b750:	c7 47 2c 00 00 00 00 	movl   $0x0,0x2c(%edi)
40b757:	c7 47 30 00 00 00 00 	movl   $0x0,0x30(%edi)
40b75e:	89 1f                	mov    %ebx,(%edi)
40b760:	89 5f 04             	mov    %ebx,0x4(%edi)
40b763:	89 5f 08             	mov    %ebx,0x8(%edi)
40b766:	66 c7 47 0c 00 00    	movw   $0x0,0xc(%edi)
40b76c:	e8 6f 00 00 00       	call   0x40b7e0
40b771:	8b f0                	mov    %eax,%esi
40b773:	8d 46 28             	lea    0x28(%esi),%eax
40b776:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40b779:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b780:	59                   	pop    %ecx
40b781:	5f                   	pop    %edi
40b782:	5e                   	pop    %esi
40b783:	5b                   	pop    %ebx
40b784:	8b e5                	mov    %ebp,%esp
40b786:	5d                   	pop    %ebp
40b787:	c2 04 00             	ret    $0x4
40b78a:	e8 31 f9 ff ff       	call   0x40b0c0
40b78f:	cc                   	int3
40b790:	53                   	push   %ebx
40b791:	8b d9                	mov    %ecx,%ebx
40b793:	56                   	push   %esi
40b794:	8b 33                	mov    (%ebx),%esi
40b796:	8b 76 04             	mov    0x4(%esi),%esi
40b799:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
40b79d:	75 2a                	jne    0x40b7c9
40b79f:	57                   	push   %edi
40b7a0:	ff 76 08             	push   0x8(%esi)
40b7a3:	8b cb                	mov    %ebx,%ecx
40b7a5:	53                   	push   %ebx
40b7a6:	e8 35 05 00 00       	call   0x40bce0
40b7ab:	8b fe                	mov    %esi,%edi
40b7ad:	8b 36                	mov    (%esi),%esi
40b7af:	8d 4f 10             	lea    0x10(%edi),%ecx
40b7b2:	e8 79 05 00 00       	call   0x40bd30
40b7b7:	6a 34                	push   $0x34
40b7b9:	57                   	push   %edi
40b7ba:	e8 f9 e3 00 00       	call   0x419bb8
40b7bf:	83 c4 08             	add    $0x8,%esp
40b7c2:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
40b7c6:	74 d8                	je     0x40b7a0
40b7c8:	5f                   	pop    %edi
40b7c9:	6a 34                	push   $0x34
40b7cb:	ff 33                	push   (%ebx)
40b7cd:	e8 e6 e3 00 00       	call   0x419bb8
40b7d2:	83 c4 08             	add    $0x8,%esp
40b7d5:	5e                   	pop    %esi
40b7d6:	5b                   	pop    %ebx
40b7d7:	c3                   	ret
40b7d8:	cc                   	int3
40b7d9:	cc                   	int3
40b7da:	cc                   	int3
40b7db:	cc                   	int3
40b7dc:	cc                   	int3
40b7dd:	cc                   	int3
40b7de:	cc                   	int3
40b7df:	cc                   	int3
40b7e0:	55                   	push   %ebp
40b7e1:	8b ec                	mov    %esp,%ebp
40b7e3:	51                   	push   %ecx
40b7e4:	8b 55 08             	mov    0x8(%ebp),%edx
40b7e7:	53                   	push   %ebx
40b7e8:	8b d9                	mov    %ecx,%ebx
40b7ea:	57                   	push   %edi
40b7eb:	8b 7d 10             	mov    0x10(%ebp),%edi
40b7ee:	8b 03                	mov    (%ebx),%eax
40b7f0:	ff 43 04             	incl   0x4(%ebx)
40b7f3:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b7f6:	89 57 04             	mov    %edx,0x4(%edi)
40b7f9:	3b d0                	cmp    %eax,%edx
40b7fb:	75 16                	jne    0x40b813
40b7fd:	89 38                	mov    %edi,(%eax)
40b7ff:	89 78 04             	mov    %edi,0x4(%eax)
40b802:	89 78 08             	mov    %edi,0x8(%eax)
40b805:	8b c7                	mov    %edi,%eax