4135c1:	85 c0                	test   %eax,%eax
4135c3:	75 11                	jne    0x4135d6
4135c5:	ff 15 48 b0 41 00    	call   *0x41b048
4135cb:	50                   	push   %eax
4135cc:	e8 00 47 ff ff       	call   0x407cd1
4135d1:	59                   	pop    %ecx
4135d2:	33 c0                	xor    %eax,%eax
4135d4:	eb 55                	jmp    0x41362b
4135d6:	53                   	push   %ebx
4135d7:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4135da:	56                   	push   %esi
4135db:	3b d8                	cmp    %eax,%ebx
4135dd:	77 02                	ja     0x4135e1
4135df:	8b d8                	mov    %eax,%ebx
4135e1:	6a 02                	push   $0x2
4135e3:	53                   	push   %ebx
4135e4:	e8 39 01 00 00       	call   0x413722
4135e9:	8b f0                	mov    %eax,%esi
4135eb:	59                   	pop    %ecx
4135ec:	59                   	pop    %ecx
4135ed:	85 f6                	test   %esi,%esi
4135ef:	75 18                	jne    0x413609
4135f1:	e8 fe 46 ff ff       	call   0x407cf4
4135f6:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
4135fc:	e8 06 47 ff ff       	call   0x407d07
413601:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
413607:	eb 17                	jmp    0x413620
413609:	53                   	push   %ebx
41360a:	56                   	push   %esi
41360b:	ff 75 08             	push   0x8(%ebp)
41360e:	e8 1b 00 00 00       	call   0x41362e
413613:	83 c4 0c             	add    $0xc,%esp
413616:	85 c0                	test   %eax,%eax
413618:	74 06                	je     0x413620
41361a:	8b ce                	mov    %esi,%ecx
41361c:	8b f7                	mov    %edi,%esi
41361e:	8b f9                	mov    %ecx,%edi
413620:	56                   	push   %esi
413621:	e8 39 44 ff ff       	call   0x407a5f
413626:	59                   	pop    %ecx
413627:	5e                   	pop    %esi
413628:	8b c7                	mov    %edi,%eax
41362a:	5b                   	pop    %ebx
41362b:	5f                   	pop    %edi
41362c:	5d                   	pop    %ebp
41362d:	c3                   	ret
41362e:	8b ff                	mov    %edi,%edi
413630:	55                   	push   %ebp
413631:	8b ec                	mov    %esp,%ebp
413633:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
413637:	77 14                	ja     0x41364d
413639:	e8 c9 46 ff ff       	call   0x407d07
41363e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413644:	e8 e5 45 ff ff       	call   0x407c2e
413649:	33 c0                	xor    %eax,%eax
41364b:	5d                   	pop    %ebp
41364c:	c3                   	ret
41364d:	6a 00                	push   $0x0
41364f:	ff 75 0c             	push   0xc(%ebp)
413652:	ff 75 10             	push   0x10(%ebp)
413655:	ff 75 08             	push   0x8(%ebp)
413658:	ff 15 4c b1 41 00    	call   *0x41b14c
41365e:	3b 45 10             	cmp    0x10(%ebp),%eax
413661:	72 0d                	jb     0x413670
413663:	e8 9f 46 ff ff       	call   0x407d07
413668:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
41366e:	eb d9                	jmp    0x413649
413670:	85 c0                	test   %eax,%eax
413672:	75 0f                	jne    0x413683
413674:	ff 15 48 b0 41 00    	call   *0x41b048
41367a:	50                   	push   %eax
41367b:	e8 51 46 ff ff       	call   0x407cd1
413680:	59                   	pop    %ecx
413681:	eb c6                	jmp    0x413649
413683:	8b 45 0c             	mov    0xc(%ebp),%eax
413686:	5d                   	pop    %ebp
413687:	c3                   	ret
413688:	8b ff                	mov    %edi,%edi
41368a:	55                   	push   %ebp
41368b:	8b ec                	mov    %esp,%ebp
41368d:	83 ec 0c             	sub    $0xc,%esp
413690:	a1 0c 30 42 00       	mov    0x42300c,%eax
413695:	33 c5                	xor    %ebp,%eax
413697:	89 45 fc             	mov    %eax,-0x4(%ebp)
41369a:	8b 45 08             	mov    0x8(%ebp),%eax
41369d:	83 f8 1a             	cmp    $0x1a,%eax
4136a0:	76 1d                	jbe    0x4136bf
4136a2:	e8 4d 46 ff ff       	call   0x407cf4
4136a7:	c7 00 0f 00 00 00    	movl   $0xf,(%eax)
4136ad:	e8 55 46 ff ff       	call   0x407d07
4136b2:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
4136b8:	e8 71 45 ff ff       	call   0x407c2e
4136bd:	eb 37                	jmp    0x4136f6
4136bf:	85 c0                	test   %eax,%eax
4136c1:	75 05                	jne    0x4136c8
4136c3:	33 c0                	xor    %eax,%eax
4136c5:	40                   	inc    %eax
4136c6:	eb 30                	jmp    0x4136f8
4136c8:	83 c0 40             	add    $0x40,%eax
4136cb:	6a 3a                	push   $0x3a
4136cd:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
4136d1:	58                   	pop    %eax
4136d2:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
4136d6:	6a 5c                	push   $0x5c
4136d8:	58                   	pop    %eax
4136d9:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
4136dd:	33 c0                	xor    %eax,%eax
4136df:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
4136e3:	8d 45 f4             	lea    -0xc(%ebp),%eax
4136e6:	50                   	push   %eax
4136e7:	ff 15 10 b1 41 00    	call   *0x41b110
4136ed:	85 c0                	test   %eax,%eax
4136ef:	74 05                	je     0x4136f6
4136f1:	83 f8 01             	cmp    $0x1,%eax
4136f4:	75 cd                	jne    0x4136c3
4136f6:	33 c0                	xor    %eax,%eax
4136f8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4136fb:	33 cd                	xor    %ebp,%ecx
4136fd:	e8 54 f8 fe ff       	call   0x402f56
413702:	8b e5                	mov    %ebp,%esp
413704:	5d                   	pop    %ebp
413705:	c3                   	ret
413706:	8b ff                	mov    %edi,%edi
413708:	55                   	push   %ebp
413709:	8b ec                	mov    %esp,%ebp
41370b:	33 c0                	xor    %eax,%eax
41370d:	50                   	push   %eax
41370e:	50                   	push   %eax
41370f:	6a 01                	push   $0x1
413711:	ff 75 0c             	push   0xc(%ebp)
413714:	ff 75 08             	push   0x8(%ebp)
413717:	50                   	push   %eax
413718:	e8 a3 fd ff ff       	call   0x4134c0
41371d:	83 c4 18             	add    $0x18,%esp
413720:	5d                   	pop    %ebp
413721:	c3                   	ret
413722:	8b ff                	mov    %edi,%edi
413724:	55                   	push   %ebp
413725:	8b ec                	mov    %esp,%ebp
413727:	5d                   	pop    %ebp
413728:	e9 7f 61 ff ff       	jmp    0x4098ac
41372d:	8b ff                	mov    %edi,%edi
41372f:	55                   	push   %ebp
413730:	8b ec                	mov    %esp,%ebp
413732:	83 ec 10             	sub    $0x10,%esp
413735:	53                   	push   %ebx
413736:	56                   	push   %esi
413737:	57                   	push   %edi
413738:	33 ff                	xor    %edi,%edi
41373a:	bb e3 00 00 00       	mov    $0xe3,%ebx
41373f:	89 7d f4             	mov    %edi,-0xc(%ebp)
413742:	89 5d f8             	mov    %ebx,-0x8(%ebp)
413745:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
413748:	c7 45 fc 55 00 00 00 	movl   $0x55,-0x4(%ebp)
41374f:	99                   	cltd
413750:	2b c2                	sub    %edx,%eax
413752:	8b c8                	mov    %eax,%ecx
413754:	d1 f9                	sar    $1,%ecx
413756:	6a 41                	push   $0x41
413758:	5f                   	pop    %edi
413759:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41375c:	8b 34 cd f8 ed 41 00 	mov    0x41edf8(,%ecx,8),%esi
413763:	8b 4d 08             	mov    0x8(%ebp),%ecx
413766:	6a 5a                	push   $0x5a
413768:	2b ce                	sub    %esi,%ecx
41376a:	5b                   	pop    %ebx
41376b:	0f b7 04 31          	movzwl (%ecx,%esi,1),%eax
41376f:	66 3b c7             	cmp    %di,%ax
413772:	72 0d                	jb     0x413781
413774:	66 3b c3             	cmp    %bx,%ax
413777:	77 08                	ja     0x413781
413779:	83 c0 20             	add    $0x20,%eax
41377c:	0f b7 d0             	movzwl %ax,%edx
41377f:	eb 02                	jmp    0x413783
413781:	8b d0                	mov    %eax,%edx
413783:	0f b7 06             	movzwl (%esi),%eax
413786:	66 3b c7             	cmp    %di,%ax
413789:	72 0b                	jb     0x413796
41378b:	66 3b c3             	cmp    %bx,%ax
41378e:	77 06                	ja     0x413796
413790:	83 c0 20             	add    $0x20,%eax
413793:	0f b7 c0             	movzwl %ax,%eax
413796:	83 c6 02             	add    $0x2,%esi
413799:	83 6d fc 01          	subl   $0x1,-0x4(%ebp)
41379d:	74 0a                	je     0x4137a9
41379f:	66 85 d2             	test   %dx,%dx
4137a2:	74 05                	je     0x4137a9
4137a4:	66 3b d0             	cmp    %ax,%dx
4137a7:	74 c2                	je     0x41376b
4137a9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4137ac:	8b 7d f4             	mov    -0xc(%ebp),%edi
4137af:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4137b2:	0f b7 c0             	movzwl %ax,%eax
4137b5:	0f b7 d2             	movzwl %dx,%edx
4137b8:	2b d0                	sub    %eax,%edx
4137ba:	74 1f                	je     0x4137db
4137bc:	85 d2                	test   %edx,%edx
4137be:	79 08                	jns    0x4137c8
4137c0:	8d 59 ff             	lea    -0x1(%ecx),%ebx
4137c3:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4137c6:	eb 06                	jmp    0x4137ce
4137c8:	8d 79 01             	lea    0x1(%ecx),%edi
4137cb:	89 7d f4             	mov    %edi,-0xc(%ebp)
4137ce:	3b fb                	cmp    %ebx,%edi
4137d0:	0f 8e 6f ff ff ff    	jle    0x413745
4137d6:	83 c8 ff             	or     $0xffffffff,%eax
4137d9:	eb 07                	jmp    0x4137e2
4137db:	8b 04 cd fc ed 41 00 	mov    0x41edfc(,%ecx,8),%eax
4137e2:	5f                   	pop    %edi
4137e3:	5e                   	pop    %esi
4137e4:	5b                   	pop    %ebx
4137e5:	8b e5                	mov    %ebp,%esp
4137e7:	5d                   	pop    %ebp
4137e8:	c3                   	ret
4137e9:	8b ff                	mov    %edi,%edi
4137eb:	55                   	push   %ebp
4137ec:	8b ec                	mov    %esp,%ebp
4137ee:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4137f2:	74 1d                	je     0x413811
4137f4:	ff 75 08             	push   0x8(%ebp)
4137f7:	e8 31 ff ff ff       	call   0x41372d
4137fc:	59                   	pop    %ecx
4137fd:	85 c0                	test   %eax,%eax
4137ff:	78 10                	js     0x413811
413801:	3d e4 00 00 00       	cmp    $0xe4,%eax
413806:	73 09                	jae    0x413811
413808:	8b 04 c5 d8 dc 41 00 	mov    0x41dcd8(,%eax,8),%eax
41380f:	5d                   	pop    %ebp
413810:	c3                   	ret
413811:	33 c0                	xor    %eax,%eax
413813:	5d                   	pop    %ebp
413814:	c3                   	ret
413815:	8b ff                	mov    %edi,%edi
413817:	55                   	push   %ebp
413818:	8b ec                	mov    %esp,%ebp
41381a:	51                   	push   %ecx
41381b:	56                   	push   %esi
41381c:	57                   	push   %edi
41381d:	e8 8b 54 ff ff       	call   0x408cad
413822:	8b f8                	mov    %eax,%edi
413824:	85 ff                	test   %edi,%edi
413826:	74 4e                	je     0x413876
413828:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41382c:	74 48                	je     0x413876
41382e:	8b 75 08             	mov    0x8(%ebp),%esi
413831:	8d 4e 01             	lea    0x1(%esi),%ecx
413834:	8a 06                	mov    (%esi),%al
413836:	46                   	inc    %esi
413837:	84 c0                	test   %al,%al
413839:	75 f9                	jne    0x413834
41383b:	2b f1                	sub    %ecx,%esi
41383d:	eb 32                	jmp    0x413871
41383f:	8b 17                	mov    (%edi),%edx
413841:	8b ca                	mov    %edx,%ecx
413843:	8d 41 01             	lea    0x1(%ecx),%eax
413846:	89 45 fc             	mov    %eax,-0x4(%ebp)
413849:	8a 01                	mov    (%ecx),%al
41384b:	41                   	inc    %ecx
41384c:	84 c0                	test   %al,%al
41384e:	75 f9                	jne    0x413849
413850:	2b 4d fc             	sub    -0x4(%ebp),%ecx
413853:	3b ce                	cmp    %esi,%ecx
413855:	76 17                	jbe    0x41386e
413857:	80 3c 32 3d          	cmpb   $0x3d,(%edx,%esi,1)
41385b:	75 11                	jne    0x41386e
41385d:	56                   	push   %esi
41385e:	ff 75 08             	push   0x8(%ebp)
413861:	52                   	push   %edx
413862:	e8 e5 1f 00 00       	call   0x41584c
413867:	83 c4 0c             	add    $0xc,%esp
41386a:	85 c0                	test   %eax,%eax
41386c:	74 10                	je     0x41387e
41386e:	83 c7 04             	add    $0x4,%edi
413871:	83 3f 00             	cmpl   $0x0,(%edi)
413874:	75 c9                	jne    0x41383f
413876:	33 c0                	xor    %eax,%eax
413878:	5f                   	pop    %edi
413879:	5e                   	pop    %esi
41387a:	8b e5                	mov    %ebp,%esp
41387c:	5d                   	pop    %ebp
41387d:	c3                   	ret
41387e:	8b 07                	mov    (%edi),%eax
413880:	40                   	inc    %eax
413881:	03 c6                	add    %esi,%eax
413883:	eb f3                	jmp    0x413878
413885:	6a 0c                	push   $0xc
413887:	68 28 1f 42 00       	push   $0x421f28
41388c:	e8 bf 02 ff ff       	call   0x403b50
413891:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
413895:	6a 0b                	push   $0xb
413897:	e8 09 b6 ff ff       	call   0x40eea5
41389c:	59                   	pop    %ecx
41389d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4138a1:	ff 75 14             	push   0x14(%ebp)
4138a4:	ff 75 10             	push   0x10(%ebp)
4138a7:	ff 75 0c             	push   0xc(%ebp)
4138aa:	ff 75 08             	push   0x8(%ebp)
4138ad:	e8 28 00 00 00       	call   0x4138da
4138b2:	83 c4 10             	add    $0x10,%esp
4138b5:	8b f0                	mov    %eax,%esi
4138b7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4138ba:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4138c1:	e8 0b 00 00 00       	call   0x4138d1
4138c6:	8b c6                	mov    %esi,%eax
4138c8:	e8 c9 02 ff ff       	call   0x403b96
4138cd:	c3                   	ret
4138ce:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4138d1:	6a 0b                	push   $0xb
4138d3:	e8 15 b6 ff ff       	call   0x40eeed
4138d8:	59                   	pop    %ecx
4138d9:	c3                   	ret
4138da:	8b ff                	mov    %edi,%edi
4138dc:	55                   	push   %ebp
4138dd:	8b ec                	mov    %esp,%ebp
4138df:	51                   	push   %ecx
4138e0:	53                   	push   %ebx
4138e1:	8b 5d 08             	mov    0x8(%ebp),%ebx
4138e4:	56                   	push   %esi
4138e5:	85 db                	test   %ebx,%ebx
4138e7:	75 13                	jne    0x4138fc
4138e9:	e8 19 44 ff ff       	call   0x407d07
4138ee:	6a 16                	push   $0x16
4138f0:	5e                   	pop    %esi
4138f1:	89 30                	mov    %esi,(%eax)
4138f3:	e8 36 43 ff ff       	call   0x407c2e
4138f8:	8b c6                	mov    %esi,%eax
4138fa:	eb 49                	jmp    0x413945
4138fc:	83 23 00             	andl   $0x0,(%ebx)
4138ff:	8b 75 10             	mov    0x10(%ebp),%esi
413902:	57                   	push   %edi
413903:	8b 7d 0c             	mov    0xc(%ebp),%edi
413906:	85 ff                	test   %edi,%edi
413908:	74 41                	je     0x41394b
41390a:	85 f6                	test   %esi,%esi
41390c:	74 41                	je     0x41394f
41390e:	85 ff                	test   %edi,%edi
413910:	74 03                	je     0x413915
413912:	c6 07 00             	movb   $0x0,(%edi)
413915:	ff 75 14             	push   0x14(%ebp)
413918:	e8 f8 fe ff ff       	call   0x413815
41391d:	8b d0                	mov    %eax,%edx
41391f:	59                   	pop    %ecx
413920:	85 d2                	test   %edx,%edx
413922:	74 4d                	je     0x413971
413924:	8b ca                	mov    %edx,%ecx
413926:	8d 41 01             	lea    0x1(%ecx),%eax
413929:	89 45 fc             	mov    %eax,-0x4(%ebp)
41392c:	8a 01                	mov    (%ecx),%al
41392e:	41                   	inc    %ecx
41392f:	84 c0                	test   %al,%al