406504:	8d 45 ec             	lea    -0x14(%ebp),%eax
406507:	50                   	push   %eax
406508:	ff 15 a0 f0 40 00    	call   *0x40f0a0
40650e:	8b 45 f0             	mov    -0x10(%ebp),%eax
406511:	33 45 ec             	xor    -0x14(%ebp),%eax
406514:	33 45 fc             	xor    -0x4(%ebp),%eax
406517:	8b c8                	mov    %eax,%ecx
406519:	3b c7                	cmp    %edi,%eax
40651b:	74 08                	je     0x406525
40651d:	85 35 04 e0 40 00    	test   %esi,0x40e004
406523:	75 07                	jne    0x40652c
406525:	b8 4f e6 40 bb       	mov    $0xbb40e64f,%eax
40652a:	8b c8                	mov    %eax,%ecx
40652c:	89 0d 04 e0 40 00    	mov    %ecx,0x40e004
406532:	f7 d0                	not    %eax
406534:	5f                   	pop    %edi
406535:	a3 08 e0 40 00       	mov    %eax,0x40e008
40653a:	5e                   	pop    %esi
40653b:	c9                   	leave
40653c:	c3                   	ret
40653d:	68 00 00 03 00       	push   $0x30000
406542:	68 00 00 01 00       	push   $0x10000
406547:	ff 15 04 f1 40 00    	call   *0x40f104
40654d:	59                   	pop    %ecx
40654e:	59                   	pop    %ecx
40654f:	c3                   	ret
406550:	ff 25 dc f0 40 00    	jmp    *0x40f0dc
406556:	cc                   	int3
406557:	cc                   	int3
406558:	68 c0 65 40 00       	push   $0x4065c0
40655d:	64 ff 35 00 00 00 00 	push   %fs:0x0
406564:	8b 44 24 10          	mov    0x10(%esp),%eax
406568:	89 6c 24 10          	mov    %ebp,0x10(%esp)
40656c:	8d 6c 24 10          	lea    0x10(%esp),%ebp
406570:	2b e0                	sub    %eax,%esp
406572:	53                   	push   %ebx
406573:	56                   	push   %esi
406574:	57                   	push   %edi
406575:	a1 04 e0 40 00       	mov    0x40e004,%eax
40657a:	31 45 fc             	xor    %eax,-0x4(%ebp)
40657d:	33 c5                	xor    %ebp,%eax
40657f:	50                   	push   %eax
406580:	89 65 e8             	mov    %esp,-0x18(%ebp)
406583:	ff 75 f8             	push   -0x8(%ebp)
406586:	8b 45 fc             	mov    -0x4(%ebp),%eax
406589:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406590:	89 45 f8             	mov    %eax,-0x8(%ebp)
406593:	8d 45 f0             	lea    -0x10(%ebp),%eax
406596:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40659c:	c3                   	ret
40659d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4065a0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4065a7:	59                   	pop    %ecx
4065a8:	5f                   	pop    %edi
4065a9:	5f                   	pop    %edi
4065aa:	5e                   	pop    %esi
4065ab:	5b                   	pop    %ebx
4065ac:	8b e5                	mov    %ebp,%esp
4065ae:	5d                   	pop    %ebp
4065af:	51                   	push   %ecx
4065b0:	c3                   	ret
4065b1:	cc                   	int3
4065b2:	cc                   	int3
4065b3:	cc                   	int3
4065b4:	cc                   	int3
4065b5:	cc                   	int3
4065b6:	cc                   	int3
4065b7:	cc                   	int3
4065b8:	cc                   	int3
4065b9:	cc                   	int3
4065ba:	cc                   	int3
4065bb:	cc                   	int3
4065bc:	cc                   	int3
4065bd:	cc                   	int3
4065be:	cc                   	int3
4065bf:	cc                   	int3
4065c0:	8b ff                	mov    %edi,%edi
4065c2:	55                   	push   %ebp
4065c3:	8b ec                	mov    %esp,%ebp
4065c5:	ff 75 14             	push   0x14(%ebp)
4065c8:	ff 75 10             	push   0x10(%ebp)
4065cb:	ff 75 0c             	push   0xc(%ebp)
4065ce:	ff 75 08             	push   0x8(%ebp)
4065d1:	68 20 60 40 00       	push   $0x406020
4065d6:	68 04 e0 40 00       	push   $0x40e004
4065db:	e8 13 00 00 00       	call   0x4065f3
4065e0:	83 c4 18             	add    $0x18,%esp
4065e3:	5d                   	pop    %ebp
4065e4:	c3                   	ret
4065e5:	cc                   	int3
4065e6:	cc                   	int3
4065e7:	cc                   	int3
4065e8:	cc                   	int3
4065e9:	cc                   	int3
4065ea:	cc                   	int3
4065eb:	cc                   	int3
4065ec:	cc                   	int3
4065ed:	cc                   	int3
4065ee:	cc                   	int3
4065ef:	cc                   	int3
4065f0:	c2 00 00             	ret    $0x0
4065f3:	ff 25 00 f1 40 00    	jmp    *0x40f100
4065f9:	b8 6c 00 41 00       	mov    $0x41006c,%eax
4065fe:	e9 00 00 00 00       	jmp    0x406603
406603:	51                   	push   %ecx
406604:	52                   	push   %edx
406605:	50                   	push   %eax
406606:	68 14 cf 40 00       	push   $0x40cf14
40660b:	e8 50 f4 ff ff       	call   0x405a60
406610:	5a                   	pop    %edx
406611:	59                   	pop    %ecx
406612:	ff e0                	jmp    *%eax
406614:	b8 04 00 41 00       	mov    $0x410004,%eax
406619:	e9 00 00 00 00       	jmp    0x40661e
40661e:	51                   	push   %ecx
40661f:	52                   	push   %edx
406620:	50                   	push   %eax
406621:	68 34 cf 40 00       	push   $0x40cf34
406626:	e8 35 f4 ff ff       	call   0x405a60
40662b:	5a                   	pop    %edx
40662c:	59                   	pop    %ecx
40662d:	ff e0                	jmp    *%eax
40662f:	b8 64 00 41 00       	mov    $0x410064,%eax
406634:	e9 ca ff ff ff       	jmp    0x406603
406639:	b8 14 00 41 00       	mov    $0x410014,%eax
40663e:	e9 00 00 00 00       	jmp    0x406643
406643:	51                   	push   %ecx
406644:	52                   	push   %edx
406645:	50                   	push   %eax
406646:	68 54 cf 40 00       	push   $0x40cf54
40664b:	e8 10 f4 ff ff       	call   0x405a60
406650:	5a                   	pop    %edx
406651:	59                   	pop    %ecx
406652:	ff e0                	jmp    *%eax
406654:	b8 3c 00 41 00       	mov    $0x41003c,%eax
406659:	e9 00 00 00 00       	jmp    0x40665e
40665e:	51                   	push   %ecx
40665f:	52                   	push   %edx
406660:	50                   	push   %eax
406661:	68 74 cf 40 00       	push   $0x40cf74
406666:	e8 f5 f3 ff ff       	call   0x405a60
40666b:	5a                   	pop    %edx
40666c:	59                   	pop    %ecx
40666d:	ff e0                	jmp    *%eax
40666f:	b8 54 00 41 00       	mov    $0x410054,%eax
406674:	e9 8a ff ff ff       	jmp    0x406603
406679:	b8 5c 00 41 00       	mov    $0x41005c,%eax
40667e:	e9 80 ff ff ff       	jmp    0x406603
406683:	b8 60 00 41 00       	mov    $0x410060,%eax
406688:	e9 76 ff ff ff       	jmp    0x406603
40668d:	b8 10 00 41 00       	mov    $0x410010,%eax
406692:	e9 ac ff ff ff       	jmp    0x406643
406697:	b8 20 00 41 00       	mov    $0x410020,%eax
40669c:	e9 00 00 00 00       	jmp    0x4066a1
4066a1:	51                   	push   %ecx
4066a2:	52                   	push   %edx
4066a3:	50                   	push   %eax
4066a4:	68 94 cf 40 00       	push   $0x40cf94
4066a9:	e8 b2 f3 ff ff       	call   0x405a60
4066ae:	5a                   	pop    %edx
4066af:	59                   	pop    %ecx
4066b0:	ff e0                	jmp    *%eax
4066b2:	b8 38 00 41 00       	mov    $0x410038,%eax
4066b7:	e9 a2 ff ff ff       	jmp    0x40665e
4066bc:	b8 2c 00 41 00       	mov    $0x41002c,%eax
4066c1:	e9 00 00 00 00       	jmp    0x4066c6
4066c6:	51                   	push   %ecx
4066c7:	52                   	push   %edx
4066c8:	50                   	push   %eax
4066c9:	68 b4 cf 40 00       	push   $0x40cfb4
4066ce:	e8 8d f3 ff ff       	call   0x405a60
4066d3:	5a                   	pop    %edx
4066d4:	59                   	pop    %ecx
4066d5:	ff e0                	jmp    *%eax
4066d7:	b8 1c 00 41 00       	mov    $0x41001c,%eax
4066dc:	e9 c0 ff ff ff       	jmp    0x4066a1
4066e1:	b8 34 00 41 00       	mov    $0x410034,%eax
4066e6:	e9 73 ff ff ff       	jmp    0x40665e
4066eb:	b8 28 00 41 00       	mov    $0x410028,%eax
4066f0:	e9 d1 ff ff ff       	jmp    0x4066c6
4066f5:	b8 8c 00 41 00       	mov    $0x41008c,%eax
4066fa:	e9 00 00 00 00       	jmp    0x4066ff
4066ff:	51                   	push   %ecx
406700:	52                   	push   %edx
406701:	50                   	push   %eax
406702:	68 d4 cf 40 00       	push   $0x40cfd4
406707:	e8 54 f3 ff ff       	call   0x405a60
40670c:	5a                   	pop    %edx
40670d:	59                   	pop    %ecx
40670e:	ff e0                	jmp    *%eax
406710:	b8 58 00 41 00       	mov    $0x410058,%eax
406715:	e9 e9 fe ff ff       	jmp    0x406603
40671a:	b8 40 00 41 00       	mov    $0x410040,%eax
40671f:	e9 3a ff ff ff       	jmp    0x40665e
406724:	b8 0c 00 41 00       	mov    $0x41000c,%eax
406729:	e9 15 ff ff ff       	jmp    0x406643
40672e:	b8 68 00 41 00       	mov    $0x410068,%eax
406733:	e9 cb fe ff ff       	jmp    0x406603
406738:	b8 4c 00 41 00       	mov    $0x41004c,%eax
40673d:	e9 1c ff ff ff       	jmp    0x40665e
406742:	b8 48 00 41 00       	mov    $0x410048,%eax
406747:	e9 12 ff ff ff       	jmp    0x40665e
40674c:	b8 88 00 41 00       	mov    $0x410088,%eax
406751:	e9 a9 ff ff ff       	jmp    0x4066ff
406756:	b8 44 00 41 00       	mov    $0x410044,%eax
40675b:	e9 fe fe ff ff       	jmp    0x40665e
406760:	b8 00 00 41 00       	mov    $0x410000,%eax
406765:	e9 b4 fe ff ff       	jmp    0x40661e
40676a:	b8 80 00 41 00       	mov    $0x410080,%eax
40676f:	e9 00 00 00 00       	jmp    0x406774
406774:	51                   	push   %ecx
406775:	52                   	push   %edx
406776:	50                   	push   %eax
406777:	68 f4 cf 40 00       	push   $0x40cff4
40677c:	e8 df f2 ff ff       	call   0x405a60
406781:	5a                   	pop    %edx
406782:	59                   	pop    %ecx
406783:	ff e0                	jmp    *%eax
406785:	51                   	push   %ecx
406786:	52                   	push   %edx
406787:	50                   	push   %eax
406788:	68 14 d0 40 00       	push   $0x40d014
40678d:	e8 ce f2 ff ff       	call   0x405a60
406792:	5a                   	pop    %edx
406793:	59                   	pop    %ecx
406794:	ff e0                	jmp    *%eax
406796:	b8 74 00 41 00       	mov    $0x410074,%eax
40679b:	e9 e5 ff ff ff       	jmp    0x406785
4067a0:	b8 78 00 41 00       	mov    $0x410078,%eax
4067a5:	e9 db ff ff ff       	jmp    0x406785
4067aa:	cc                   	int3
4067ab:	cc                   	int3
4067ac:	68 c0 65 40 00       	push   $0x4065c0
4067b1:	64 ff 35 00 00 00 00 	push   %fs:0x0
4067b8:	8b 44 24 10          	mov    0x10(%esp),%eax
4067bc:	89 6c 24 10          	mov    %ebp,0x10(%esp)
4067c0:	8d 6c 24 10          	lea    0x10(%esp),%ebp
4067c4:	2b e0                	sub    %eax,%esp
4067c6:	53                   	push   %ebx
4067c7:	56                   	push   %esi
4067c8:	57                   	push   %edi
4067c9:	a1 04 e0 40 00       	mov    0x40e004,%eax
4067ce:	31 45 fc             	xor    %eax,-0x4(%ebp)
4067d1:	33 c5                	xor    %ebp,%eax
4067d3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4067d6:	50                   	push   %eax
4067d7:	89 65 e8             	mov    %esp,-0x18(%ebp)
4067da:	ff 75 f8             	push   -0x8(%ebp)
4067dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4067e0:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4067e7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4067ea:	8d 45 f0             	lea    -0x10(%ebp),%eax
4067ed:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4067f3:	c3                   	ret
4067f4:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4067f7:	33 cd                	xor    %ebp,%ecx
4067f9:	e8 22 f8 ff ff       	call   0x406020
4067fe:	e9 9a fd ff ff       	jmp    0x40659d
406803:	ff 25 e0 f0 40 00    	jmp    *0x40f0e0
406809:	ff 25 30 f1 40 00    	jmp    *0x40f130
40680f:	8b 55 0c             	mov    0xc(%ebp),%edx
406812:	8b 4d 08             	mov    0x8(%ebp),%ecx
406815:	5d                   	pop    %ebp
406816:	e9 45 ed ff ff       	jmp    0x405560
40681b:	ff 15 40 f0 40 00    	call   *0x40f040
406821:	8b d8                	mov    %eax,%ebx
406823:	e9 de f1 ff ff       	jmp    0x405a06
406828:	e8 73 61 00 00       	call   0x40c9a0
40682d:	8b d8                	mov    %eax,%ebx
40682f:	e9 d2 f1 ff ff       	jmp    0x405a06
406834:	8b 54 24 5c          	mov    0x5c(%esp),%edx
406838:	8d 44 24 60          	lea    0x60(%esp),%eax
40683c:	50                   	push   %eax
40683d:	8d 44 24 3c          	lea    0x3c(%esp),%eax
406841:	50                   	push   %eax
406842:	8d 4c 24 34          	lea    0x34(%esp),%ecx
406846:	e8 db 3a 00 00       	call   0x40a326
40684b:	8b 44 24 2c          	mov    0x2c(%esp),%eax
40684f:	89 44 24 18          	mov    %eax,0x18(%esp)
406853:	83 f8 02             	cmp    $0x2,%eax
406856:	73 10                	jae    0x406868
406858:	e8 43 61 00 00       	call   0x40c9a0
40685d:	8b 7c 24 38          	mov    0x38(%esp),%edi
406861:	8b d8                	mov    %eax,%ebx
406863:	e9 9e f1 ff ff       	jmp    0x405a06
406868:	8b 7c 24 38          	mov    0x38(%esp),%edi
40686c:	e9 85 ed ff ff       	jmp    0x4055f6
406871:	83 7c 24 18 02       	cmpl   $0x2,0x18(%esp)
406876:	75 0e                	jne    0x406886
406878:	e8 23 61 00 00       	call   0x40c9a0
40687d:	8b d8                	mov    %eax,%ebx
40687f:	33 f6                	xor    %esi,%esi
406881:	e9 80 f1 ff ff       	jmp    0x405a06
406886:	8b 47 04             	mov    0x4(%edi),%eax
406889:	be 02 00 00 00       	mov    $0x2,%esi
40688e:	89 44 24 1c          	mov    %eax,0x1c(%esp)
406892:	e9 87 ed ff ff       	jmp    0x40561e
406897:	8b 44 24 10          	mov    0x10(%esp),%eax
40689b:	68 48 3b 40 00       	push   $0x403b48
4068a0:	89 5c 24 44          	mov    %ebx,0x44(%esp)
4068a4:	ff 34 07             	push   (%edi,%eax,1)
4068a7:	ff 15 28 f1 40 00    	call   *0x40f128
4068ad:	83 c4 08             	add    $0x8,%esp
4068b0:	85 c0                	test   %eax,%eax
4068b2:	0f 84 92 ed ff ff    	je     0x40564a
4068b8:	8d 46 01             	lea    0x1(%esi),%eax
4068bb:	89 44 24 30          	mov    %eax,0x30(%esp)
4068bf:	39 44 24 18          	cmp    %eax,0x18(%esp)
4068c3:	73 3c                	jae    0x406901
4068c5:	80 3d c4 eb 40 00 01 	cmpb   $0x1,0x40ebc4
4068cc:	75 13                	jne    0x4068e1
4068ce:	b9 6c 00 00 00       	mov    $0x6c,%ecx
4068d3:	eb 05                	jmp    0x4068da
4068d5:	b9 6a 00 00 00       	mov    $0x6a,%ecx
4068da:	33 d2                	xor    %edx,%edx
4068dc:	e8 ce 3c 00 00       	call   0x40a5af
4068e1:	e8 ba 60 00 00       	call   0x40c9a0
4068e6:	eb 12                	jmp    0x4068fa
4068e8:	ff 15 40 f0 40 00    	call   *0x40f040
4068ee:	8b d0                	mov    %eax,%edx
4068f0:	b9 20 3c 40 00       	mov    $0x403c20,%ecx
4068f5:	e8 86 20 00 00       	call   0x408980
4068fa:	8b d8                	mov    %eax,%ebx
4068fc:	e9 8f 1a 00 00       	jmp    0x408390
406901:	8b 44 24 10          	mov    0x10(%esp),%eax
406905:	68 04 3d 40 00       	push   $0x403d04
40690a:	ff 34 07             	push   (%edi,%eax,1)
40690d:	ff 15 28 f1 40 00    	call   *0x40f128
406913:	83 c4 08             	add    $0x8,%esp
406916:	85 c0                	test   %eax,%eax
406918:	0f 85 32 01 00 00    	jne    0x406a50
40691e:	8d 5e 02             	lea    0x2(%esi),%ebx
406921:	39 5c 24 18          	cmp    %ebx,0x18(%esp)
406925:	73 14                	jae    0x40693b
406927:	33 d2                	xor    %edx,%edx
406929:	8d 48 06             	lea    0x6(%eax),%ecx
40692c:	e8 7e 3c 00 00       	call   0x40a5af
406931:	bb 67 06 00 00       	mov    $0x667,%ebx
406936:	e9 55 1a 00 00       	jmp    0x408390
40693b:	8b 44 24 10          	mov    0x10(%esp),%eax
40693f:	6a 01                	push   $0x1
406941:	6a 00                	push   $0x0
406943:	ff 74 24 24          	push   0x24(%esp)
406947:	8b 44 07 04          	mov    0x4(%edi,%eax,1),%eax
40694b:	89 44 24 40          	mov    %eax,0x40(%esp)
40694f:	ff 15 4c 00 41 00    	call   *0x41004c
406955:	89 44 24 14          	mov    %eax,0x14(%esp)
406959:	85 c0                	test   %eax,%eax
40695b:	75 1d                	jne    0x40697a
40695d:	ff 15 40 f0 40 00    	call   *0x40f040