40d46b:	83 c4 10             	add    $0x10,%esp
40d46e:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
40d472:	74 12                	je     0x40d486
40d474:	ff 76 28             	push   0x28(%esi)
40d477:	68 b4 23 40 00       	push   $0x4023b4
40d47c:	57                   	push   %edi
40d47d:	50                   	push   %eax
40d47e:	e8 1d fe ff ff       	call   0x40d2a0
40d483:	83 c4 10             	add    $0x10,%esp
40d486:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
40d48a:	74 17                	je     0x40d4a3
40d48c:	ff 76 14             	push   0x14(%esi)
40d48f:	ff 76 18             	push   0x18(%esi)
40d492:	68 dc 23 40 00       	push   $0x4023dc
40d497:	57                   	push   %edi
40d498:	50                   	push   %eax
40d499:	e8 02 fe ff ff       	call   0x40d2a0
40d49e:	83 c4 14             	add    $0x14,%esp
40d4a1:	eb 29                	jmp    0x40d4cc
40d4a3:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
40d4a7:	74 14                	je     0x40d4bd
40d4a9:	ff 76 18             	push   0x18(%esi)
40d4ac:	68 f4 23 40 00       	push   $0x4023f4
40d4b1:	57                   	push   %edi
40d4b2:	50                   	push   %eax
40d4b3:	e8 e8 fd ff ff       	call   0x40d2a0
40d4b8:	83 c4 10             	add    $0x10,%esp
40d4bb:	eb 0f                	jmp    0x40d4cc
40d4bd:	68 04 24 40 00       	push   $0x402404
40d4c2:	57                   	push   %edi
40d4c3:	50                   	push   %eax
40d4c4:	e8 d7 fd ff ff       	call   0x40d2a0
40d4c9:	83 c4 0c             	add    $0xc,%esp
40d4cc:	5f                   	pop    %edi
40d4cd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d4d0:	33 c0                	xor    %eax,%eax
40d4d2:	5e                   	pop    %esi
40d4d3:	33 cd                	xor    %ebp,%ecx
40d4d5:	5b                   	pop    %ebx
40d4d6:	e8 05 a6 01 00       	call   0x427ae0
40d4db:	c9                   	leave
40d4dc:	c2 04 00             	ret    $0x4
40d4df:	8b ff                	mov    %edi,%edi
40d4e1:	57                   	push   %edi
40d4e2:	52                   	push   %edx
40d4e3:	51                   	push   %ecx
40d4e4:	ff 15 a0 c1 42 00    	call   *0x42c1a0
40d4ea:	50                   	push   %eax
40d4eb:	ff 15 9c c1 42 00    	call   *0x42c19c
40d4f1:	83 3d 18 bb 42 00 00 	cmpl   $0x0,0x42bb18
40d4f8:	8b f8                	mov    %eax,%edi
40d4fa:	74 1a                	je     0x40d516
40d4fc:	56                   	push   %esi
40d4fd:	57                   	push   %edi
40d4fe:	ff 15 a0 c1 42 00    	call   *0x42c1a0
40d504:	8b 35 18 bb 42 00    	mov    0x42bb18,%esi
40d50a:	8b ce                	mov    %esi,%ecx
40d50c:	50                   	push   %eax
40d50d:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40d513:	ff d6                	call   *%esi
40d515:	5e                   	pop    %esi
40d516:	8b c7                	mov    %edi,%eax
40d518:	5f                   	pop    %edi
40d519:	c3                   	ret
40d51a:	8b ff                	mov    %edi,%edi
40d51c:	55                   	push   %ebp
40d51d:	8b ec                	mov    %esp,%ebp
40d51f:	8b 45 08             	mov    0x8(%ebp),%eax
40d522:	53                   	push   %ebx
40d523:	56                   	push   %esi
40d524:	8b f1                	mov    %ecx,%esi
40d526:	57                   	push   %edi
40d527:	83 26 00             	andl   $0x0,(%esi)
40d52a:	83 66 04 00          	andl   $0x0,0x4(%esi)
40d52e:	8b 58 04             	mov    0x4(%eax),%ebx
40d531:	8b 38                	mov    (%eax),%edi
40d533:	e8 15 00 00 00       	call   0x40d54d
40d538:	85 ff                	test   %edi,%edi
40d53a:	74 08                	je     0x40d544
40d53c:	89 3e                	mov    %edi,(%esi)
40d53e:	89 5e 04             	mov    %ebx,0x4(%esi)
40d541:	f0 ff 07             	lock incl (%edi)
40d544:	5f                   	pop    %edi
40d545:	8b c6                	mov    %esi,%eax
40d547:	5e                   	pop    %esi
40d548:	5b                   	pop    %ebx
40d549:	5d                   	pop    %ebp
40d54a:	c2 04 00             	ret    $0x4
40d54d:	8b ff                	mov    %edi,%edi
40d54f:	56                   	push   %esi
40d550:	8b f1                	mov    %ecx,%esi
40d552:	8b 0e                	mov    (%esi),%ecx
40d554:	85 c9                	test   %ecx,%ecx
40d556:	74 21                	je     0x40d579
40d558:	83 c8 ff             	or     $0xffffffff,%eax
40d55b:	f0 0f c1 01          	lock xadd %eax,(%ecx)
40d55f:	75 11                	jne    0x40d572
40d561:	ff 36                	push   (%esi)
40d563:	6a 00                	push   $0x0
40d565:	ff 15 a0 c1 42 00    	call   *0x42c1a0
40d56b:	50                   	push   %eax
40d56c:	ff 15 a4 c1 42 00    	call   *0x42c1a4
40d572:	83 26 00             	andl   $0x0,(%esi)
40d575:	83 66 04 00          	andl   $0x0,0x4(%esi)
40d579:	5e                   	pop    %esi
40d57a:	c3                   	ret
40d57b:	8b ff                	mov    %edi,%edi
40d57d:	55                   	push   %ebp
40d57e:	8b ec                	mov    %esp,%ebp
40d580:	53                   	push   %ebx
40d581:	56                   	push   %esi
40d582:	8b 75 0c             	mov    0xc(%ebp),%esi
40d585:	8b d9                	mov    %ecx,%ebx
40d587:	85 f6                	test   %esi,%esi
40d589:	75 09                	jne    0x40d594
40d58b:	e8 bd ff ff ff       	call   0x40d54d
40d590:	b0 01                	mov    $0x1,%al
40d592:	eb 4b                	jmp    0x40d5df
40d594:	57                   	push   %edi
40d595:	8d 46 04             	lea    0x4(%esi),%eax
40d598:	50                   	push   %eax
40d599:	6a 00                	push   $0x0
40d59b:	ff 15 a0 c1 42 00    	call   *0x42c1a0
40d5a1:	50                   	push   %eax
40d5a2:	ff 15 9c c1 42 00    	call   *0x42c19c
40d5a8:	8b f8                	mov    %eax,%edi
40d5aa:	85 ff                	test   %edi,%edi
40d5ac:	75 04                	jne    0x40d5b2
40d5ae:	32 c0                	xor    %al,%al
40d5b0:	eb 2c                	jmp    0x40d5de
40d5b2:	83 27 00             	andl   $0x0,(%edi)
40d5b5:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40d5b9:	74 12                	je     0x40d5cd
40d5bb:	56                   	push   %esi
40d5bc:	ff 75 08             	push   0x8(%ebp)
40d5bf:	8d 47 04             	lea    0x4(%edi),%eax
40d5c2:	56                   	push   %esi
40d5c3:	50                   	push   %eax
40d5c4:	ff 15 60 c3 42 00    	call   *0x42c360
40d5ca:	83 c4 10             	add    $0x10,%esp
40d5cd:	8b cb                	mov    %ebx,%ecx
40d5cf:	e8 79 ff ff ff       	call   0x40d54d
40d5d4:	89 3b                	mov    %edi,(%ebx)
40d5d6:	89 73 04             	mov    %esi,0x4(%ebx)
40d5d9:	f0 ff 07             	lock incl (%edi)
40d5dc:	b0 01                	mov    $0x1,%al
40d5de:	5f                   	pop    %edi
40d5df:	5e                   	pop    %esi
40d5e0:	5b                   	pop    %ebx
40d5e1:	5d                   	pop    %ebp
40d5e2:	c2 08 00             	ret    $0x8
40d5e5:	33 c0                	xor    %eax,%eax
40d5e7:	89 0d 14 bb 42 00    	mov    %ecx,0x42bb14
40d5ed:	40                   	inc    %eax
40d5ee:	f0 0f c1 05 10 bb 42 	lock xadd %eax,0x42bb10
40d5f5:	00
40d5f6:	40                   	inc    %eax
40d5f7:	c3                   	ret
40d5f8:	33 c0                	xor    %eax,%eax
40d5fa:	89 0d 0c bb 42 00    	mov    %ecx,0x42bb0c
40d600:	40                   	inc    %eax
40d601:	f0 0f c1 05 08 bb 42 	lock xadd %eax,0x42bb08
40d608:	00
40d609:	40                   	inc    %eax
40d60a:	c3                   	ret
40d60b:	33 c0                	xor    %eax,%eax
40d60d:	89 0d 04 bb 42 00    	mov    %ecx,0x42bb04
40d613:	40                   	inc    %eax
40d614:	f0 0f c1 05 00 bb 42 	lock xadd %eax,0x42bb00
40d61b:	00
40d61c:	40                   	inc    %eax
40d61d:	c3                   	ret
40d61e:	cc                   	int3
40d61f:	cc                   	int3
40d620:	8b ff                	mov    %edi,%edi
40d622:	55                   	push   %ebp
40d623:	8b ec                	mov    %esp,%ebp
40d625:	8b 45 08             	mov    0x8(%ebp),%eax
40d628:	a3 fc ba 42 00       	mov    %eax,0x42bafc
40d62d:	33 c0                	xor    %eax,%eax
40d62f:	40                   	inc    %eax
40d630:	5d                   	pop    %ebp
40d631:	c2 04 00             	ret    $0x4
40d634:	8b ff                	mov    %edi,%edi
40d636:	55                   	push   %ebp
40d637:	8b ec                	mov    %esp,%ebp
40d639:	56                   	push   %esi
40d63a:	8b 35 2c bb 42 00    	mov    0x42bb2c,%esi
40d640:	85 f6                	test   %esi,%esi
40d642:	74 10                	je     0x40d654
40d644:	ff 75 08             	push   0x8(%ebp)
40d647:	6a 00                	push   $0x0
40d649:	51                   	push   %ecx
40d64a:	8b ce                	mov    %esi,%ecx
40d64c:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40d652:	ff d6                	call   *%esi
40d654:	6a 07                	push   $0x7
40d656:	59                   	pop    %ecx
40d657:	cd 29                	int    $0x29
40d659:	5e                   	pop    %esi
40d65a:	5d                   	pop    %ebp
40d65b:	c2 04 00             	ret    $0x4
40d65e:	8b ff                	mov    %edi,%edi
40d660:	55                   	push   %ebp
40d661:	8b ec                	mov    %esp,%ebp
40d663:	81 ec 10 01 00 00    	sub    $0x110,%esp
40d669:	a1 74 b6 42 00       	mov    0x42b674,%eax
40d66e:	33 c5                	xor    %ebp,%eax
40d670:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d673:	8b 4d 10             	mov    0x10(%ebp),%ecx
40d676:	53                   	push   %ebx
40d677:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40d67a:	56                   	push   %esi
40d67b:	8b 75 08             	mov    0x8(%ebp),%esi
40d67e:	57                   	push   %edi
40d67f:	33 ff                	xor    %edi,%edi
40d681:	89 8d f0 fe ff ff    	mov    %ecx,-0x110(%ebp)
40d687:	89 bd f4 fe ff ff    	mov    %edi,-0x10c(%ebp)
40d68d:	85 f6                	test   %esi,%esi
40d68f:	74 28                	je     0x40d6b9
40d691:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
40d697:	50                   	push   %eax
40d698:	56                   	push   %esi
40d699:	6a 06                	push   $0x6
40d69b:	ff 15 a8 c1 42 00    	call   *0x42c1a8
40d6a1:	85 c0                	test   %eax,%eax
40d6a3:	75 08                	jne    0x40d6ad
40d6a5:	85 db                	test   %ebx,%ebx
40d6a7:	74 3b                	je     0x40d6e4
40d6a9:	89 3b                	mov    %edi,(%ebx)
40d6ab:	eb 37                	jmp    0x40d6e4
40d6ad:	8b bd f4 fe ff ff    	mov    -0x10c(%ebp),%edi
40d6b3:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
40d6b9:	85 db                	test   %ebx,%ebx
40d6bb:	74 0c                	je     0x40d6c9
40d6bd:	8b c6                	mov    %esi,%eax
40d6bf:	2b c7                	sub    %edi,%eax
40d6c1:	f7 de                	neg    %esi
40d6c3:	1b f6                	sbb    %esi,%esi
40d6c5:	23 f0                	and    %eax,%esi
40d6c7:	89 33                	mov    %esi,(%ebx)
40d6c9:	85 c9                	test   %ecx,%ecx
40d6cb:	74 57                	je     0x40d724
40d6cd:	68 04 01 00 00       	push   $0x104
40d6d2:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
40d6d8:	50                   	push   %eax
40d6d9:	57                   	push   %edi
40d6da:	ff 15 ac c1 42 00    	call   *0x42c1ac
40d6e0:	85 c0                	test   %eax,%eax
40d6e2:	75 04                	jne    0x40d6e8
40d6e4:	32 c0                	xor    %al,%al
40d6e6:	eb 3e                	jmp    0x40d726
40d6e8:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
40d6ee:	8d 51 01             	lea    0x1(%ecx),%edx
40d6f1:	8a 01                	mov    (%ecx),%al
40d6f3:	41                   	inc    %ecx
40d6f4:	84 c0                	test   %al,%al
40d6f6:	75 f9                	jne    0x40d6f1
40d6f8:	2b ca                	sub    %edx,%ecx
40d6fa:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
40d700:	03 c1                	add    %ecx,%eax
40d702:	eb 07                	jmp    0x40d70b
40d704:	80 78 ff 5c          	cmpb   $0x5c,-0x1(%eax)
40d708:	74 0b                	je     0x40d715
40d70a:	48                   	dec    %eax
40d70b:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
40d711:	3b c1                	cmp    %ecx,%eax
40d713:	77 ef                	ja     0x40d704
40d715:	8b 55 14             	mov    0x14(%ebp),%edx
40d718:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
40d71e:	50                   	push   %eax
40d71f:	e8 1a de ff ff       	call   0x40b53e
40d724:	b0 01                	mov    $0x1,%al
40d726:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d729:	5f                   	pop    %edi
40d72a:	5e                   	pop    %esi
40d72b:	33 cd                	xor    %ebp,%ecx
40d72d:	5b                   	pop    %ebx
40d72e:	e8 ad a3 01 00       	call   0x427ae0
40d733:	c9                   	leave
40d734:	c2 10 00             	ret    $0x10
40d737:	cc                   	int3
40d738:	cc                   	int3
40d739:	cc                   	int3
40d73a:	cc                   	int3
40d73b:	cc                   	int3
40d73c:	cc                   	int3
40d73d:	cc                   	int3
40d73e:	cc                   	int3
40d73f:	cc                   	int3
40d740:	80 3d f8 ba 42 00 00 	cmpb   $0x0,0x42baf8
40d747:	56                   	push   %esi
40d748:	be b8 ba 42 00       	mov    $0x42bab8,%esi
40d74d:	75 16                	jne    0x40d765
40d74f:	6a 40                	push   $0x40
40d751:	56                   	push   %esi
40d752:	6a 00                	push   $0x0
40d754:	68 20 d6 40 00       	push   $0x40d620
40d759:	e8 00 ff ff ff       	call   0x40d65e
40d75e:	c6 05 f8 ba 42 00 01 	movb   $0x1,0x42baf8
40d765:	8b c6                	mov    %esi,%eax
40d767:	5e                   	pop    %esi
40d768:	c3                   	ret
40d769:	cc                   	int3
40d76a:	cc                   	int3
40d76b:	cc                   	int3
40d76c:	cc                   	int3
40d76d:	cc                   	int3
40d76e:	cc                   	int3
40d76f:	cc                   	int3
40d770:	ff 25 b0 c1 42 00    	jmp    *0x42c1b0
40d776:	cc                   	int3
40d777:	cc                   	int3
40d778:	cc                   	int3
40d779:	cc                   	int3
40d77a:	cc                   	int3
40d77b:	cc                   	int3
40d77c:	cc                   	int3
40d77d:	cc                   	int3
40d77e:	cc                   	int3
40d77f:	cc                   	int3
40d780:	8b ff                	mov    %edi,%edi
40d782:	55                   	push   %ebp
40d783:	8b ec                	mov    %esp,%ebp
40d785:	56                   	push   %esi
40d786:	68 08 24 40 00       	push   $0x402408
40d78b:	ff 15 40 c2 42 00    	call   *0x42c240
40d791:	68 28 24 40 00       	push   $0x402428
40d796:	50                   	push   %eax
40d797:	ff 15 84 c1 42 00    	call   *0x42c184
40d79d:	8b f0                	mov    %eax,%esi
40d79f:	85 f6                	test   %esi,%esi
40d7a1:	74 13                	je     0x40d7b6
40d7a3:	ff 75 10             	push   0x10(%ebp)
40d7a6:	8b ce                	mov    %esi,%ecx
40d7a8:	ff 75 0c             	push   0xc(%ebp)
40d7ab:	ff 75 08             	push   0x8(%ebp)
40d7ae:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40d7b4:	ff d6                	call   *%esi
40d7b6:	5e                   	pop    %esi
40d7b7:	5d                   	pop    %ebp
40d7b8:	c2 0c 00             	ret    $0xc
40d7bb:	8b ff                	mov    %edi,%edi
40d7bd:	56                   	push   %esi
40d7be:	8b f1                	mov    %ecx,%esi
40d7c0:	85 f6                	test   %esi,%esi
40d7c2:	78 04                	js     0x40d7c8
40d7c4:	33 c0                	xor    %eax,%eax
40d7c6:	5e                   	pop    %esi
40d7c7:	c3                   	ret