406378:	50                   	push   %eax
406379:	ff 15 18 20 41 00    	call   *0x412018
40637f:	89 45 ec             	mov    %eax,-0x14(%ebp)
406382:	85 c0                	test   %eax,%eax
406384:	75 0a                	jne    0x406390
406386:	e8 69 34 00 00       	call   0x4097f4
40638b:	e9 dc 00 00 00       	jmp    0x40646c
406390:	89 5d d8             	mov    %ebx,-0x28(%ebp)
406393:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
406397:	b8 00 10 00 00       	mov    $0x1000,%eax
40639c:	89 45 e0             	mov    %eax,-0x20(%ebp)
40639f:	43                   	inc    %ebx
4063a0:	89 5d d8             	mov    %ebx,-0x28(%ebp)
4063a3:	83 fb 02             	cmp    $0x2,%ebx
4063a6:	77 7c                	ja     0x406424
4063a8:	03 45 dc             	add    -0x24(%ebp),%eax
4063ab:	89 45 e0             	mov    %eax,-0x20(%ebp)
4063ae:	8b c8                	mov    %eax,%ecx
4063b0:	e8 b5 48 00 00       	call   0x40ac6a
4063b5:	8b f8                	mov    %eax,%edi
4063b7:	89 7d e8             	mov    %edi,-0x18(%ebp)
4063ba:	85 ff                	test   %edi,%edi
4063bc:	75 0d                	jne    0x4063cb
4063be:	68 0e 00 07 80       	push   $0x8007000e
4063c3:	ff 15 74 20 41 00    	call   *0x412074
4063c9:	eb bb                	jmp    0x406386
4063cb:	33 c9                	xor    %ecx,%ecx
4063cd:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4063d0:	51                   	push   %ecx
4063d1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4063d4:	50                   	push   %eax
4063d5:	8d 86 a8 00 00 00    	lea    0xa8(%esi),%eax
4063db:	50                   	push   %eax
4063dc:	8d 45 dc             	lea    -0x24(%ebp),%eax
4063df:	50                   	push   %eax
4063e0:	ff 75 e0             	push   -0x20(%ebp)
4063e3:	57                   	push   %edi
4063e4:	6a 01                	push   $0x1
4063e6:	6a 30                	push   $0x30
4063e8:	51                   	push   %ecx
4063e9:	ff 75 ec             	push   -0x14(%ebp)
4063ec:	ff 15 1c 20 41 00    	call   *0x41201c
4063f2:	83 f8 01             	cmp    $0x1,%eax
4063f5:	74 2d                	je     0x406424
4063f7:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4063fa:	e8 c7 47 00 00       	call   0x40abc6
4063ff:	ff 15 48 20 41 00    	call   *0x412048
406405:	3d ea 00 00 00       	cmp    $0xea,%eax
40640a:	75 08                	jne    0x406414
40640c:	8b 7d e8             	mov    -0x18(%ebp),%edi
40640f:	8b 45 e0             	mov    -0x20(%ebp),%eax
406412:	eb 8b                	jmp    0x40639f
406414:	e8 db 33 00 00       	call   0x4097f4
406419:	ff 75 ec             	push   -0x14(%ebp)
40641c:	ff 15 20 20 41 00    	call   *0x412020
406422:	eb 48                	jmp    0x40646c
406424:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406428:	83 be a8 00 00 00 00 	cmpl   $0x0,0xa8(%esi)
40642f:	75 0d                	jne    0x40643e
406431:	8d 4d e8             	lea    -0x18(%ebp),%ecx
406434:	e8 8d 47 00 00       	call   0x40abc6
406439:	e9 1c ff ff ff       	jmp    0x40635a
40643e:	89 be ac 00 00 00    	mov    %edi,0xac(%esi)
406444:	e9 11 ff ff ff       	jmp    0x40635a
406449:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
40644d:	74 09                	je     0x406458
40644f:	ff 75 ec             	push   -0x14(%ebp)
406452:	ff 15 20 20 41 00    	call   *0x412020
406458:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
40645d:	e8 a8 14 00 00       	call   0x40790a
406462:	b8 68 64 40 00       	mov    $0x406468,%eax
406467:	c3                   	ret
406468:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40646c:	33 c0                	xor    %eax,%eax
40646e:	e8 86 8e 00 00       	call   0x40f2f9
406473:	c3                   	ret
406474:	8b ff                	mov    %edi,%edi
406476:	55                   	push   %ebp
406477:	8b ec                	mov    %esp,%ebp
406479:	51                   	push   %ecx
40647a:	51                   	push   %ecx
40647b:	53                   	push   %ebx
40647c:	56                   	push   %esi
40647d:	8b 75 08             	mov    0x8(%ebp),%esi
406480:	8b da                	mov    %edx,%ebx
406482:	57                   	push   %edi
406483:	8b f9                	mov    %ecx,%edi
406485:	89 7d f8             	mov    %edi,-0x8(%ebp)
406488:	85 f6                	test   %esi,%esi
40648a:	0f 84 9c 00 00 00    	je     0x40652c
406490:	83 3e 00             	cmpl   $0x0,(%esi)
406493:	0f 85 93 00 00 00    	jne    0x40652c
406499:	b9 00 80 00 00       	mov    $0x8000,%ecx
40649e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4064a1:	e8 c4 47 00 00       	call   0x40ac6a
4064a6:	89 06                	mov    %eax,(%esi)
4064a8:	85 c0                	test   %eax,%eax
4064aa:	74 70                	je     0x40651c
4064ac:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4064af:	51                   	push   %ecx
4064b0:	50                   	push   %eax
4064b1:	6a 00                	push   $0x0
4064b3:	6a 00                	push   $0x0
4064b5:	53                   	push   %ebx
4064b6:	57                   	push   %edi
4064b7:	eb 2b                	jmp    0x4064e4
4064b9:	81 45 fc 00 20 00 00 	addl   $0x2000,-0x4(%ebp)
4064c0:	8b ce                	mov    %esi,%ecx
4064c2:	e8 ff 46 00 00       	call   0x40abc6
4064c7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4064ca:	33 ff                	xor    %edi,%edi
4064cc:	89 3e                	mov    %edi,(%esi)
4064ce:	e8 97 47 00 00       	call   0x40ac6a
4064d3:	89 06                	mov    %eax,(%esi)
4064d5:	85 c0                	test   %eax,%eax
4064d7:	74 43                	je     0x40651c
4064d9:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4064dc:	51                   	push   %ecx
4064dd:	50                   	push   %eax
4064de:	57                   	push   %edi
4064df:	57                   	push   %edi
4064e0:	53                   	push   %ebx
4064e1:	ff 75 f8             	push   -0x8(%ebp)
4064e4:	ff 15 24 20 41 00    	call   *0x412024
4064ea:	8b f8                	mov    %eax,%edi
4064ec:	81 ff ea 00 00 00    	cmp    $0xea,%edi
4064f2:	74 c5                	je     0x4064b9
4064f4:	33 db                	xor    %ebx,%ebx
4064f6:	43                   	inc    %ebx
4064f7:	85 ff                	test   %edi,%edi
4064f9:	74 1d                	je     0x406518
4064fb:	83 3e 00             	cmpl   $0x0,(%esi)
4064fe:	74 0a                	je     0x40650a
406500:	8b ce                	mov    %esi,%ecx
406502:	e8 bf 46 00 00       	call   0x40abc6
406507:	83 26 00             	andl   $0x0,(%esi)
40650a:	57                   	push   %edi
40650b:	33 db                	xor    %ebx,%ebx
40650d:	ff 15 74 20 41 00    	call   *0x412074
406513:	e8 dc 32 00 00       	call   0x4097f4
406518:	8b c3                	mov    %ebx,%eax
40651a:	eb 12                	jmp    0x40652e
40651c:	68 0e 00 07 80       	push   $0x8007000e
406521:	ff 15 74 20 41 00    	call   *0x412074
406527:	e8 c8 32 00 00       	call   0x4097f4
40652c:	33 c0                	xor    %eax,%eax
40652e:	5f                   	pop    %edi
40652f:	5e                   	pop    %esi
406530:	5b                   	pop    %ebx
406531:	c9                   	leave
406532:	c2 04 00             	ret    $0x4
406535:	cc                   	int3
406536:	cc                   	int3
406537:	cc                   	int3
406538:	cc                   	int3
406539:	cc                   	int3
40653a:	cc                   	int3
40653b:	cc                   	int3
40653c:	cc                   	int3
40653d:	cc                   	int3
40653e:	cc                   	int3
40653f:	cc                   	int3
406540:	8b ff                	mov    %edi,%edi
406542:	55                   	push   %ebp
406543:	8b ec                	mov    %esp,%ebp
406545:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406549:	53                   	push   %ebx
40654a:	56                   	push   %esi
40654b:	57                   	push   %edi
40654c:	0f 84 aa 00 00 00    	je     0x4065fc
406552:	8b 5d 0c             	mov    0xc(%ebp),%ebx
406555:	85 db                	test   %ebx,%ebx
406557:	0f 84 9f 00 00 00    	je     0x4065fc
40655d:	ff 15 90 21 41 00    	call   *0x412190
406563:	68 00 00 00 02       	push   $0x2000000
406568:	6a 00                	push   $0x0
40656a:	ff 75 08             	push   0x8(%ebp)
40656d:	8b f8                	mov    %eax,%edi
40656f:	ff 15 70 21 41 00    	call   *0x412170
406575:	8b f0                	mov    %eax,%esi
406577:	85 f6                	test   %esi,%esi
406579:	74 7c                	je     0x4065f7
40657b:	3b f7                	cmp    %edi,%esi
40657d:	74 0b                	je     0x40658a
40657f:	56                   	push   %esi
406580:	ff 15 a0 21 41 00    	call   *0x4121a0
406586:	85 c0                	test   %eax,%eax
406588:	74 6d                	je     0x4065f7
40658a:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
40658e:	74 0e                	je     0x40659e
406590:	ff 73 04             	push   0x4(%ebx)
406593:	ff 15 c8 22 41 00    	call   *0x4122c8
406599:	83 63 04 00          	andl   $0x0,0x4(%ebx)
40659d:	59                   	pop    %ecx
40659e:	ff 75 08             	push   0x8(%ebp)
4065a1:	ff 15 c0 22 41 00    	call   *0x4122c0
4065a7:	89 43 04             	mov    %eax,0x4(%ebx)
4065aa:	59                   	pop    %ecx
4065ab:	85 c0                	test   %eax,%eax
4065ad:	75 24                	jne    0x4065d3
4065af:	68 0e 00 07 80       	push   $0x8007000e
4065b4:	ff 15 74 20 41 00    	call   *0x412074
4065ba:	e8 35 32 00 00       	call   0x4097f4
4065bf:	3b f7                	cmp    %edi,%esi
4065c1:	74 39                	je     0x4065fc
4065c3:	57                   	push   %edi
4065c4:	ff 15 a0 21 41 00    	call   *0x4121a0
4065ca:	56                   	push   %esi
4065cb:	ff 15 54 21 41 00    	call   *0x412154
4065d1:	eb 29                	jmp    0x4065fc
4065d3:	53                   	push   %ebx
4065d4:	68 10 66 40 00       	push   $0x406610
4065d9:	56                   	push   %esi
4065da:	ff 15 58 21 41 00    	call   *0x412158
4065e0:	3b f7                	cmp    %edi,%esi
4065e2:	74 0e                	je     0x4065f2
4065e4:	57                   	push   %edi
4065e5:	ff 15 a0 21 41 00    	call   *0x4121a0
4065eb:	56                   	push   %esi
4065ec:	ff 15 54 21 41 00    	call   *0x412154
4065f2:	33 c0                	xor    %eax,%eax
4065f4:	40                   	inc    %eax
4065f5:	eb 07                	jmp    0x4065fe
4065f7:	e8 f8 31 00 00       	call   0x4097f4
4065fc:	33 c0                	xor    %eax,%eax
4065fe:	5f                   	pop    %edi
4065ff:	5e                   	pop    %esi
406600:	5b                   	pop    %ebx
406601:	5d                   	pop    %ebp
406602:	c2 08 00             	ret    $0x8
406605:	cc                   	int3
406606:	cc                   	int3
406607:	cc                   	int3
406608:	cc                   	int3
406609:	cc                   	int3
40660a:	cc                   	int3
40660b:	cc                   	int3
40660c:	cc                   	int3
40660d:	cc                   	int3
40660e:	cc                   	int3
40660f:	cc                   	int3
406610:	8b ff                	mov    %edi,%edi
406612:	55                   	push   %ebp
406613:	8b ec                	mov    %esp,%ebp
406615:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406619:	53                   	push   %ebx
40661a:	56                   	push   %esi
40661b:	57                   	push   %edi
40661c:	0f 84 db 00 00 00    	je     0x4066fd
406622:	8b 75 0c             	mov    0xc(%ebp),%esi
406625:	85 f6                	test   %esi,%esi
406627:	0f 84 d0 00 00 00    	je     0x4066fd
40662d:	ff 15 50 20 41 00    	call   *0x412050
406633:	50                   	push   %eax
406634:	ff 15 8c 21 41 00    	call   *0x41218c
40663a:	68 00 00 00 02       	push   $0x2000000
40663f:	6a 00                	push   $0x0
406641:	6a 00                	push   $0x0
406643:	ff 75 08             	push   0x8(%ebp)
406646:	8b d8                	mov    %eax,%ebx
406648:	ff 15 9c 21 41 00    	call   *0x41219c
40664e:	8b f8                	mov    %eax,%edi
406650:	85 ff                	test   %edi,%edi
406652:	0f 84 a0 00 00 00    	je     0x4066f8
406658:	3b fb                	cmp    %ebx,%edi
40665a:	74 0f                	je     0x40666b
40665c:	57                   	push   %edi
40665d:	ff 15 98 21 41 00    	call   *0x412198
406663:	85 c0                	test   %eax,%eax
406665:	0f 84 8d 00 00 00    	je     0x4066f8
40666b:	83 3e 00             	cmpl   $0x0,(%esi)
40666e:	74 0c                	je     0x40667c
406670:	ff 36                	push   (%esi)
406672:	ff 15 c8 22 41 00    	call   *0x4122c8
406678:	83 26 00             	andl   $0x0,(%esi)
40667b:	59                   	pop    %ecx
40667c:	ff 75 08             	push   0x8(%ebp)
40667f:	ff 15 c0 22 41 00    	call   *0x4122c0
406685:	89 06                	mov    %eax,(%esi)
406687:	59                   	pop    %ecx
406688:	85 c0                	test   %eax,%eax
40668a:	75 24                	jne    0x4066b0
40668c:	68 0e 00 07 80       	push   $0x8007000e
406691:	ff 15 74 20 41 00    	call   *0x412074
406697:	e8 58 31 00 00       	call   0x4097f4
40669c:	3b fb                	cmp    %ebx,%edi
40669e:	74 5d                	je     0x4066fd
4066a0:	53                   	push   %ebx
4066a1:	ff 15 98 21 41 00    	call   *0x412198
4066a7:	57                   	push   %edi
4066a8:	ff 15 7c 21 41 00    	call   *0x41217c
4066ae:	eb 4d                	jmp    0x4066fd
4066b0:	56                   	push   %esi
4066b1:	68 40 67 40 00       	push   $0x406740
4066b6:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
4066bd:	ff 15 78 21 41 00    	call   *0x412178
4066c3:	8b ce                	mov    %esi,%ecx
4066c5:	e8 3c 00 00 00       	call   0x406706
4066ca:	83 66 08 00          	andl   $0x0,0x8(%esi)
4066ce:	56                   	push   %esi
4066cf:	68 40 67 40 00       	push   $0x406740
4066d4:	ff 15 78 21 41 00    	call   *0x412178
4066da:	8b ce                	mov    %esi,%ecx
4066dc:	e8 25 00 00 00       	call   0x406706
4066e1:	3b fb                	cmp    %ebx,%edi
4066e3:	74 0e                	je     0x4066f3
4066e5:	53                   	push   %ebx
4066e6:	ff 15 98 21 41 00    	call   *0x412198
4066ec:	57                   	push   %edi
4066ed:	ff 15 7c 21 41 00    	call   *0x41217c
4066f3:	33 c0                	xor    %eax,%eax
4066f5:	40                   	inc    %eax
4066f6:	eb 07                	jmp    0x4066ff
4066f8:	e8 f7 30 00 00       	call   0x4097f4
4066fd:	33 c0                	xor    %eax,%eax
4066ff:	5f                   	pop    %edi
406700:	5e                   	pop    %esi
406701:	5b                   	pop    %ebx
406702:	5d                   	pop    %ebp
406703:	c2 08 00             	ret    $0x8
406706:	8b ff                	mov    %edi,%edi
406708:	53                   	push   %ebx
406709:	56                   	push   %esi
40670a:	57                   	push   %edi
40670b:	8b d9                	mov    %ecx,%ebx
40670d:	33 ff                	xor    %edi,%edi
40670f:	33 f6                	xor    %esi,%esi
406711:	85 db                	test   %ebx,%ebx
406713:	75 04                	jne    0x406719
406715:	33 c0                	xor    %eax,%eax
406717:	eb 22                	jmp    0x40673b
406719:	6a 00                	push   $0x0
40671b:	6a 00                	push   $0x0
40671d:	57                   	push   %edi
40671e:	6a fd                	push   $0xfffffffd
406720:	ff 15 74 21 41 00    	call   *0x412174
406726:	8b f8                	mov    %eax,%edi
406728:	85 ff                	test   %edi,%edi
40672a:	74 0d                	je     0x406739
40672c:	53                   	push   %ebx
40672d:	57                   	push   %edi
40672e:	e8 0d 00 00 00       	call   0x406740
406733:	8b f0                	mov    %eax,%esi
406735:	85 f6                	test   %esi,%esi
406737:	75 e0                	jne    0x406719
406739:	8b c6                	mov    %esi,%eax
40673b:	5f                   	pop    %edi
40673c:	5e                   	pop    %esi
40673d:	5b                   	pop    %ebx
40673e:	c3                   	ret