403422:	8b c6                	mov    %esi,%eax
403424:	5e                   	pop    %esi
403425:	5d                   	pop    %ebp
403426:	c2 04 00             	ret    $0x4
403429:	55                   	push   %ebp
40342a:	8b ec                	mov    %esp,%ebp
40342c:	83 ec 10             	sub    $0x10,%esp
40342f:	6a 01                	push   $0x1
403431:	8d 45 fc             	lea    -0x4(%ebp),%eax
403434:	50                   	push   %eax
403435:	8d 4d f0             	lea    -0x10(%ebp),%ecx
403438:	c7 45 fc cc 9f 41 00 	movl   $0x419fcc,-0x4(%ebp)
40343f:	e8 af 1b 00 00       	call   0x404ff3
403444:	68 f0 df 41 00       	push   $0x41dff0
403449:	8d 45 f0             	lea    -0x10(%ebp),%eax
40344c:	50                   	push   %eax
40344d:	c7 45 f0 c4 9f 41 00 	movl   $0x419fc4,-0x10(%ebp)
403454:	e8 22 29 00 00       	call   0x405d7b
403459:	cc                   	int3
40345a:	55                   	push   %ebp
40345b:	8b ec                	mov    %esp,%ebp
40345d:	83 ec 0c             	sub    $0xc,%esp
403460:	8b 45 08             	mov    0x8(%ebp),%eax
403463:	89 45 08             	mov    %eax,0x8(%ebp)
403466:	8d 45 08             	lea    0x8(%ebp),%eax
403469:	50                   	push   %eax
40346a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40346d:	e8 5c 1b 00 00       	call   0x404fce
403472:	68 44 e0 41 00       	push   $0x41e044
403477:	8d 45 f4             	lea    -0xc(%ebp),%eax
40347a:	50                   	push   %eax
40347b:	c7 45 f4 ec 9f 41 00 	movl   $0x419fec,-0xc(%ebp)
403482:	e8 f4 28 00 00       	call   0x405d7b
403487:	cc                   	int3
403488:	55                   	push   %ebp
403489:	8b ec                	mov    %esp,%ebp
40348b:	83 ec 0c             	sub    $0xc,%esp
40348e:	8b 45 08             	mov    0x8(%ebp),%eax
403491:	89 45 08             	mov    %eax,0x8(%ebp)
403494:	8d 45 08             	lea    0x8(%ebp),%eax
403497:	50                   	push   %eax
403498:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40349b:	e8 2e 1b 00 00       	call   0x404fce
4034a0:	68 80 e0 41 00       	push   $0x41e080
4034a5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4034a8:	50                   	push   %eax
4034a9:	c7 45 f4 f8 9f 41 00 	movl   $0x419ff8,-0xc(%ebp)
4034b0:	e8 c6 28 00 00       	call   0x405d7b
4034b5:	cc                   	int3
4034b6:	55                   	push   %ebp
4034b7:	8b ec                	mov    %esp,%ebp
4034b9:	ff 75 0c             	push   0xc(%ebp)
4034bc:	e8 ff 31 00 00       	call   0x4066c0
4034c1:	59                   	pop    %ecx
4034c2:	8b c8                	mov    %eax,%ecx
4034c4:	83 f9 ff             	cmp    $0xffffffff,%ecx
4034c7:	75 04                	jne    0x4034cd
4034c9:	32 c0                	xor    %al,%al
4034cb:	5d                   	pop    %ebp
4034cc:	c3                   	ret
4034cd:	8b 45 08             	mov    0x8(%ebp),%eax
4034d0:	88 08                	mov    %cl,(%eax)
4034d2:	b0 01                	mov    $0x1,%al
4034d4:	5d                   	pop    %ebp
4034d5:	c3                   	ret
4034d6:	55                   	push   %ebp
4034d7:	8b ec                	mov    %esp,%ebp
4034d9:	0f be 45 08          	movsbl 0x8(%ebp),%eax
4034dd:	ff 75 0c             	push   0xc(%ebp)
4034e0:	50                   	push   %eax
4034e1:	e8 31 33 00 00       	call   0x406817
4034e6:	59                   	pop    %ecx
4034e7:	59                   	pop    %ecx
4034e8:	33 c9                	xor    %ecx,%ecx
4034ea:	83 f8 ff             	cmp    $0xffffffff,%eax
4034ed:	0f 95 c0             	setne  %al
4034f0:	5d                   	pop    %ebp
4034f1:	c3                   	ret
4034f2:	55                   	push   %ebp
4034f3:	8b ec                	mov    %esp,%ebp
4034f5:	8b 45 08             	mov    0x8(%ebp),%eax
4034f8:	ff 75 0c             	push   0xc(%ebp)
4034fb:	0f b6 00             	movzbl (%eax),%eax
4034fe:	50                   	push   %eax
4034ff:	e8 44 39 00 00       	call   0x406e48
403504:	59                   	pop    %ecx
403505:	59                   	pop    %ecx
403506:	33 c9                	xor    %ecx,%ecx
403508:	83 f8 ff             	cmp    $0xffffffff,%eax
40350b:	0f 95 c0             	setne  %al
40350e:	5d                   	pop    %ebp
40350f:	c3                   	ret
403510:	6a 14                	push   $0x14
403512:	b8 33 7b 41 00       	mov    $0x417b33,%eax
403517:	e8 dd 28 00 00       	call   0x405df9
40351c:	6a 00                	push   $0x0
40351e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
403521:	e8 97 0e 00 00       	call   0x4043bd
403526:	8b 3d 80 1a 42 00    	mov    0x421a80,%edi
40352c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403530:	b9 78 1a 42 00       	mov    $0x421a78,%ecx
403535:	89 7d f0             	mov    %edi,-0x10(%ebp)
403538:	e8 3d ef ff ff       	call   0x40247a
40353d:	8b 4d 08             	mov    0x8(%ebp),%ecx
403540:	50                   	push   %eax
403541:	e8 b4 ef ff ff       	call   0x4024fa
403546:	8b f0                	mov    %eax,%esi
403548:	85 f6                	test   %esi,%esi
40354a:	75 4d                	jne    0x403599
40354c:	85 ff                	test   %edi,%edi
40354e:	74 04                	je     0x403554
403550:	8b f7                	mov    %edi,%esi
403552:	eb 45                	jmp    0x403599
403554:	ff 75 08             	push   0x8(%ebp)
403557:	8d 45 f0             	lea    -0x10(%ebp),%eax
40355a:	50                   	push   %eax
40355b:	e8 f7 01 00 00       	call   0x403757
403560:	59                   	pop    %ecx
403561:	59                   	pop    %ecx
403562:	83 f8 ff             	cmp    $0xffffffff,%eax
403565:	75 1b                	jne    0x403582
403567:	68 00 d6 41 00       	push   $0x41d600
40356c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40356f:	e8 3e 1a 00 00       	call   0x404fb2
403574:	68 48 e8 41 00       	push   $0x41e848
403579:	8d 45 e0             	lea    -0x20(%ebp),%eax
40357c:	50                   	push   %eax
40357d:	e8 f9 27 00 00       	call   0x405d7b
403582:	8b 75 f0             	mov    -0x10(%ebp),%esi
403585:	89 35 80 1a 42 00    	mov    %esi,0x421a80
40358b:	8b 06                	mov    (%esi),%eax
40358d:	8b ce                	mov    %esi,%ecx
40358f:	ff 50 04             	call   *0x4(%eax)
403592:	56                   	push   %esi
403593:	e8 08 0b 00 00       	call   0x4040a0
403598:	59                   	pop    %ecx
403599:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40359c:	e8 78 0e 00 00       	call   0x404419
4035a1:	8b c6                	mov    %esi,%eax
4035a3:	e8 2e 28 00 00       	call   0x405dd6
4035a8:	c3                   	ret
4035a9:	56                   	push   %esi
4035aa:	8b 35 58 1b 42 00    	mov    0x421b58,%esi
4035b0:	ba 28 1a 42 00       	mov    $0x421a28,%edx
4035b5:	57                   	push   %edi
4035b6:	8b f9                	mov    %ecx,%edi
4035b8:	89 15 5c 1b 42 00    	mov    %edx,0x421b5c
4035be:	85 f6                	test   %esi,%esi
4035c0:	74 0f                	je     0x4035d1
4035c2:	8b 06                	mov    (%esi),%eax
4035c4:	8b 40 04             	mov    0x4(%eax),%eax
4035c7:	89 54 30 3c          	mov    %edx,0x3c(%eax,%esi,1)
4035cb:	8b 15 5c 1b 42 00    	mov    0x421b5c,%edx
4035d1:	8b 0d 60 1b 42 00    	mov    0x421b60,%ecx
4035d7:	85 c9                	test   %ecx,%ecx
4035d9:	74 0f                	je     0x4035ea
4035db:	8b 01                	mov    (%ecx),%eax
4035dd:	8b 40 04             	mov    0x4(%eax),%eax
4035e0:	89 54 08 3c          	mov    %edx,0x3c(%eax,%ecx,1)
4035e4:	8b 15 5c 1b 42 00    	mov    0x421b5c,%edx
4035ea:	8b 0d 64 1b 42 00    	mov    0x421b64,%ecx
4035f0:	85 c9                	test   %ecx,%ecx
4035f2:	74 09                	je     0x4035fd
4035f4:	8b 01                	mov    (%ecx),%eax
4035f6:	8b 40 04             	mov    0x4(%eax),%eax
4035f9:	89 54 08 3c          	mov    %edx,0x3c(%eax,%ecx,1)
4035fd:	8b c7                	mov    %edi,%eax
4035ff:	5f                   	pop    %edi
403600:	5e                   	pop    %esi
403601:	c3                   	ret
403602:	56                   	push   %esi
403603:	8b f1                	mov    %ecx,%esi
403605:	83 7e 50 00          	cmpl   $0x0,0x50(%esi)
403609:	c7 06 d4 a0 41 00    	movl   $0x41a0d4,(%esi)
40360f:	74 05                	je     0x403616
403611:	e8 30 02 00 00       	call   0x403846
403616:	80 7e 4c 00          	cmpb   $0x0,0x4c(%esi)
40361a:	74 07                	je     0x403623
40361c:	8b ce                	mov    %esi,%ecx
40361e:	e8 eb 02 00 00       	call   0x40390e
403623:	8b ce                	mov    %esi,%ecx
403625:	5e                   	pop    %esi
403626:	e9 24 f3 ff ff       	jmp    0x40294f
40362b:	55                   	push   %ebp
40362c:	8b ec                	mov    %esp,%ebp
40362e:	56                   	push   %esi
40362f:	8b f1                	mov    %ecx,%esi
403631:	e8 cc ff ff ff       	call   0x403602
403636:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40363a:	74 07                	je     0x403643
40363c:	56                   	push   %esi
40363d:	e8 b6 18 00 00       	call   0x404ef8
403642:	59                   	pop    %ecx
403643:	8b c6                	mov    %esi,%eax
403645:	5e                   	pop    %esi
403646:	5d                   	pop    %ebp
403647:	c2 04 00             	ret    $0x4
40364a:	6a 24                	push   $0x24
40364c:	b8 56 7b 41 00       	mov    $0x417b56,%eax
403651:	e8 d6 27 00 00       	call   0x405e2c
403656:	8b f1                	mov    %ecx,%esi
403658:	33 db                	xor    %ebx,%ebx
40365a:	39 5e 40             	cmp    %ebx,0x40(%esi)
40365d:	0f 84 ec 00 00 00    	je     0x40374f
403663:	38 5e 45             	cmp    %bl,0x45(%esi)
403666:	0f 84 e3 00 00 00    	je     0x40374f
40366c:	8b 06                	mov    (%esi),%eax
40366e:	6a ff                	push   $0xffffffff
403670:	ff 50 0c             	call   *0xc(%eax)
403673:	83 f8 ff             	cmp    $0xffffffff,%eax
403676:	75 07                	jne    0x40367f
403678:	32 c0                	xor    %al,%al
40367a:	e9 d2 00 00 00       	jmp    0x403751
40367f:	53                   	push   %ebx
403680:	6a 08                	push   $0x8
403682:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403685:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
40368c:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40368f:	88 5d d8             	mov    %bl,-0x28(%ebp)
403692:	e8 27 fb ff ff       	call   0x4031be
403697:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40369a:	8b 7d d8             	mov    -0x28(%ebp),%edi
40369d:	8b 45 ec             	mov    -0x14(%ebp),%eax
4036a0:	83 f8 10             	cmp    $0x10,%eax
4036a3:	72 05                	jb     0x4036aa
4036a5:	89 7d d4             	mov    %edi,-0x2c(%ebp)
4036a8:	eb 06                	jmp    0x4036b0
4036aa:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4036ad:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
4036b0:	83 f8 10             	cmp    $0x10,%eax
4036b3:	73 03                	jae    0x4036b8
4036b5:	8d 7d d8             	lea    -0x28(%ebp),%edi
4036b8:	8b 4e 40             	mov    0x40(%esi),%ecx
4036bb:	8d 45 d0             	lea    -0x30(%ebp),%eax
4036be:	8b 11                	mov    (%ecx),%edx
4036c0:	50                   	push   %eax
4036c1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4036c4:	03 45 d4             	add    -0x2c(%ebp),%eax
4036c7:	50                   	push   %eax
4036c8:	57                   	push   %edi
4036c9:	8d 46 48             	lea    0x48(%esi),%eax
4036cc:	50                   	push   %eax
4036cd:	ff 52 20             	call   *0x20(%edx)
4036d0:	2b c3                	sub    %ebx,%eax
4036d2:	74 0a                	je     0x4036de
4036d4:	48                   	dec    %eax
4036d5:	74 0a                	je     0x4036e1
4036d7:	48                   	dec    %eax
4036d8:	48                   	dec    %eax
4036d9:	75 68                	jne    0x403743
4036db:	40                   	inc    %eax
4036dc:	eb 63                	jmp    0x403741
4036de:	88 5e 45             	mov    %bl,0x45(%esi)
4036e1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4036e4:	8b 7d d8             	mov    -0x28(%ebp),%edi
4036e7:	8b d7                	mov    %edi,%edx
4036e9:	83 f8 10             	cmp    $0x10,%eax
4036ec:	73 03                	jae    0x4036f1
4036ee:	8d 55 d8             	lea    -0x28(%ebp),%edx
4036f1:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4036f4:	2b ca                	sub    %edx,%ecx
4036f6:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
4036f9:	74 24                	je     0x40371f
4036fb:	83 f8 10             	cmp    $0x10,%eax
4036fe:	73 03                	jae    0x403703
403700:	8d 7d d8             	lea    -0x28(%ebp),%edi
403703:	ff 76 50             	push   0x50(%esi)
403706:	51                   	push   %ecx
403707:	6a 01                	push   $0x1
403709:	57                   	push   %edi
40370a:	e8 d5 34 00 00       	call   0x406be4
40370f:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
403712:	83 c4 10             	add    $0x10,%esp
403715:	3b c8                	cmp    %eax,%ecx
403717:	75 26                	jne    0x40373f
403719:	8b 45 ec             	mov    -0x14(%ebp),%eax
40371c:	8b 7d d8             	mov    -0x28(%ebp),%edi
40371f:	80 7e 45 00          	cmpb   $0x0,0x45(%esi)
403723:	74 18                	je     0x40373d
403725:	85 c9                	test   %ecx,%ecx
403727:	0f 85 73 ff ff ff    	jne    0x4036a0
40372d:	53                   	push   %ebx
40372e:	6a 08                	push   $0x8
403730:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403733:	e8 75 01 00 00       	call   0x4038ad
403738:	e9 5d ff ff ff       	jmp    0x40369a
40373d:	b3 01                	mov    $0x1,%bl
40373f:	8a c3                	mov    %bl,%al
403741:	8a d8                	mov    %al,%bl
403743:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403746:	e8 51 da ff ff       	call   0x40119c
40374b:	8a c3                	mov    %bl,%al
40374d:	eb 02                	jmp    0x403751
40374f:	b0 01                	mov    $0x1,%al
403751:	e8 94 26 00 00       	call   0x405dea
403756:	c3                   	ret
403757:	6a 38                	push   $0x38
403759:	b8 85 7b 41 00       	mov    $0x417b85,%eax
40375e:	e8 96 26 00 00       	call   0x405df9
403763:	8b 7d 08             	mov    0x8(%ebp),%edi
403766:	33 db                	xor    %ebx,%ebx
403768:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40376b:	85 ff                	test   %edi,%edi
40376d:	74 47                	je     0x4037b6
40376f:	39 1f                	cmp    %ebx,(%edi)
403771:	75 43                	jne    0x4037b6
403773:	6a 08                	push   $0x8
403775:	e8 ce 17 00 00       	call   0x404f48
40377a:	8b f0                	mov    %eax,%esi
40377c:	59                   	pop    %ecx
40377d:	89 75 08             	mov    %esi,0x8(%ebp)
403780:	21 5d fc             	and    %ebx,-0x4(%ebp)
403783:	85 f6                	test   %esi,%esi
403785:	74 1e                	je     0x4037a5
403787:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40378a:	e8 54 ed ff ff       	call   0x4024e3
40378f:	50                   	push   %eax
403790:	8d 4d bc             	lea    -0x44(%ebp),%ecx
403793:	e8 bb eb ff ff       	call   0x402353
403798:	43                   	inc    %ebx
403799:	83 66 04 00          	andl   $0x0,0x4(%esi)
40379d:	c7 06 14 a1 41 00    	movl   $0x41a114,(%esi)
4037a3:	eb 02                	jmp    0x4037a7
4037a5:	33 f6                	xor    %esi,%esi
4037a7:	89 37                	mov    %esi,(%edi)
4037a9:	f6 c3 01             	test   $0x1,%bl
4037ac:	74 08                	je     0x4037b6
4037ae:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4037b1:	e8 27 ec ff ff       	call   0x4023dd
4037b6:	6a 02                	push   $0x2
4037b8:	58                   	pop    %eax
4037b9:	e8 18 26 00 00       	call   0x405dd6
4037be:	c3                   	ret
4037bf:	55                   	push   %ebp
4037c0:	8b ec                	mov    %esp,%ebp
4037c2:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
4037c6:	56                   	push   %esi
4037c7:	8b f1                	mov    %ecx,%esi
4037c9:	0f 94 c0             	sete   %al
4037cc:	88 46 4c             	mov    %al,0x4c(%esi)
4037cf:	c6 46 45 00          	movb   $0x0,0x45(%esi)
4037d3:	e8 74 fa ff ff       	call   0x40324c
4037d8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4037db:	85 c9                	test   %ecx,%ecx
4037dd:	74 18                	je     0x4037f7
4037df:	8d 41 08             	lea    0x8(%ecx),%eax
4037e2:	89 46 0c             	mov    %eax,0xc(%esi)
4037e5:	89 46 10             	mov    %eax,0x10(%esi)
4037e8:	8d 41 04             	lea    0x4(%ecx),%eax
4037eb:	89 4e 1c             	mov    %ecx,0x1c(%esi)