439681:	85 c9                	test   %ecx,%ecx
439683:	0f 8e a4 00 00 00    	jle    0x43972d
439689:	8b 45 b8             	mov    -0x48(%ebp),%eax
43968c:	0f b6 00             	movzbl (%eax),%eax
43968f:	0f be 80 68 44 45 00 	movsbl 0x454468(%eax),%eax
439696:	40                   	inc    %eax
439697:	89 45 c8             	mov    %eax,-0x38(%ebp)
43969a:	2b c1                	sub    %ecx,%eax
43969c:	89 45 b4             	mov    %eax,-0x4c(%ebp)
43969f:	3b c7                	cmp    %edi,%eax
4396a1:	0f 8f 21 02 00 00    	jg     0x4398c8
4396a7:	8b fb                	mov    %ebx,%edi
4396a9:	8b 5d b8             	mov    -0x48(%ebp),%ebx
4396ac:	8a 03                	mov    (%ebx),%al
4396ae:	88 44 3d e8          	mov    %al,-0x18(%ebp,%edi,1)
4396b2:	47                   	inc    %edi
4396b3:	43                   	inc    %ebx
4396b4:	3b f9                	cmp    %ecx,%edi
4396b6:	7c f4                	jl     0x4396ac
4396b8:	8b 75 b4             	mov    -0x4c(%ebp),%esi
4396bb:	33 db                	xor    %ebx,%ebx
4396bd:	85 f6                	test   %esi,%esi
4396bf:	7e 13                	jle    0x4396d4
4396c1:	56                   	push   %esi
4396c2:	8d 45 e8             	lea    -0x18(%ebp),%eax
4396c5:	03 c1                	add    %ecx,%eax
4396c7:	52                   	push   %edx
4396c8:	50                   	push   %eax
4396c9:	e8 82 3d fe ff       	call   0x41d450
4396ce:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4396d1:	83 c4 0c             	add    $0xc,%esp
4396d4:	8b 7d b0             	mov    -0x50(%ebp),%edi
4396d7:	8b d3                	mov    %ebx,%edx
4396d9:	8b 75 bc             	mov    -0x44(%ebp),%esi
4396dc:	8b 04 b5 38 5d 45 00 	mov    0x455d38(,%esi,4),%eax
4396e3:	03 c7                	add    %edi,%eax
4396e5:	88 5c 10 2e          	mov    %bl,0x2e(%eax,%edx,1)
4396e9:	42                   	inc    %edx
4396ea:	3b d1                	cmp    %ecx,%edx
4396ec:	7c ee                	jl     0x4396dc
4396ee:	ff 75 c4             	push   -0x3c(%ebp)
4396f1:	8b 75 08             	mov    0x8(%ebp),%esi
4396f4:	8d 45 e8             	lea    -0x18(%ebp),%eax
4396f7:	89 45 98             	mov    %eax,-0x68(%ebp)
4396fa:	8d 4d 88             	lea    -0x78(%ebp),%ecx
4396fd:	33 c0                	xor    %eax,%eax
4396ff:	89 5d 88             	mov    %ebx,-0x78(%ebp)
439702:	83 7d c8 04          	cmpl   $0x4,-0x38(%ebp)
439706:	51                   	push   %ecx
439707:	0f 94 c0             	sete   %al
43970a:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
43970d:	40                   	inc    %eax
43970e:	50                   	push   %eax
43970f:	89 45 cc             	mov    %eax,-0x34(%ebp)
439712:	8d 45 98             	lea    -0x68(%ebp),%eax
439715:	50                   	push   %eax
439716:	8d 45 c0             	lea    -0x40(%ebp),%eax
439719:	50                   	push   %eax
43971a:	e8 2d f1 ff ff       	call   0x43884c
43971f:	83 c4 14             	add    $0x14,%esp
439722:	83 f8 ff             	cmp    $0xffffffff,%eax
439725:	0f 84 14 02 00 00    	je     0x43993f
43972b:	eb 4f                	jmp    0x43977c
43972d:	0f b6 02             	movzbl (%edx),%eax
439730:	0f be 88 68 44 45 00 	movsbl 0x454468(%eax),%ecx
439737:	41                   	inc    %ecx
439738:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
43973b:	3b cf                	cmp    %edi,%ecx
43973d:	0f 8f b2 01 00 00    	jg     0x4398f5
439743:	ff 75 c4             	push   -0x3c(%ebp)
439746:	33 c0                	xor    %eax,%eax
439748:	89 5d 80             	mov    %ebx,-0x80(%ebp)
43974b:	83 f9 04             	cmp    $0x4,%ecx
43974e:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
439751:	8d 4d 80             	lea    -0x80(%ebp),%ecx
439754:	89 55 c8             	mov    %edx,-0x38(%ebp)
439757:	0f 94 c0             	sete   %al
43975a:	40                   	inc    %eax
43975b:	51                   	push   %ecx
43975c:	50                   	push   %eax
43975d:	89 45 cc             	mov    %eax,-0x34(%ebp)
439760:	8d 45 c8             	lea    -0x38(%ebp),%eax
439763:	50                   	push   %eax
439764:	8d 45 c0             	lea    -0x40(%ebp),%eax
439767:	50                   	push   %eax
439768:	e8 df f0 ff ff       	call   0x43884c
43976d:	83 c4 14             	add    $0x14,%esp
439770:	83 f8 ff             	cmp    $0xffffffff,%eax
439773:	0f 84 c6 01 00 00    	je     0x43993f
439779:	8b 7d b0             	mov    -0x50(%ebp),%edi
43977c:	8b 45 d4             	mov    -0x2c(%ebp),%eax
43977f:	03 45 b4             	add    -0x4c(%ebp),%eax
439782:	48                   	dec    %eax
439783:	e9 8f 00 00 00       	jmp    0x439817
439788:	8b 0c 85 38 5d 45 00 	mov    0x455d38(,%eax,4),%ecx
43978f:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
439792:	8a 64 39 2d          	mov    0x2d(%ecx,%edi,1),%ah
439796:	f6 c4 04             	test   $0x4,%ah
439799:	74 1e                	je     0x4397b9
43979b:	8a 44 39 2e          	mov    0x2e(%ecx,%edi,1),%al
43979f:	80 e4 fb             	and    $0xfb,%ah
4397a2:	ff 75 c4             	push   -0x3c(%ebp)
4397a5:	88 45 e0             	mov    %al,-0x20(%ebp)
4397a8:	8a 02                	mov    (%edx),%al
4397aa:	88 45 e1             	mov    %al,-0x1f(%ebp)
4397ad:	88 64 39 2d          	mov    %ah,0x2d(%ecx,%edi,1)
4397b1:	8d 45 e0             	lea    -0x20(%ebp),%eax
4397b4:	6a 02                	push   $0x2
4397b6:	50                   	push   %eax
4397b7:	eb 46                	jmp    0x4397ff
4397b9:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4397bc:	0f b6 0a             	movzbl (%edx),%ecx
4397bf:	8b 40 0c             	mov    0xc(%eax),%eax
4397c2:	8b 00                	mov    (%eax),%eax
4397c4:	66 39 1c 48          	cmp    %bx,(%eax,%ecx,2)
4397c8:	7d 2f                	jge    0x4397f9
4397ca:	8d 42 01             	lea    0x1(%edx),%eax
4397cd:	89 45 c8             	mov    %eax,-0x38(%ebp)
4397d0:	3b 45 ac             	cmp    -0x54(%ebp),%eax
4397d3:	0f 83 3d 01 00 00    	jae    0x439916
4397d9:	ff 75 c4             	push   -0x3c(%ebp)
4397dc:	8d 45 c0             	lea    -0x40(%ebp),%eax
4397df:	6a 02                	push   $0x2
4397e1:	52                   	push   %edx
4397e2:	50                   	push   %eax
4397e3:	e8 96 3a ff ff       	call   0x42d27e
4397e8:	83 c4 10             	add    $0x10,%esp
4397eb:	83 f8 ff             	cmp    $0xffffffff,%eax
4397ee:	0f 84 4b 01 00 00    	je     0x43993f
4397f4:	8b 45 c8             	mov    -0x38(%ebp),%eax
4397f7:	eb 1e                	jmp    0x439817
4397f9:	ff 75 c4             	push   -0x3c(%ebp)
4397fc:	6a 01                	push   $0x1
4397fe:	52                   	push   %edx
4397ff:	8d 45 c0             	lea    -0x40(%ebp),%eax
439802:	50                   	push   %eax
439803:	e8 76 3a ff ff       	call   0x42d27e
439808:	83 c4 10             	add    $0x10,%esp
43980b:	83 f8 ff             	cmp    $0xffffffff,%eax
43980e:	0f 84 2b 01 00 00    	je     0x43993f
439814:	8b 45 d4             	mov    -0x2c(%ebp),%eax
439817:	53                   	push   %ebx
439818:	53                   	push   %ebx
439819:	40                   	inc    %eax
43981a:	6a 05                	push   $0x5
43981c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
43981f:	8d 45 d8             	lea    -0x28(%ebp),%eax
439822:	50                   	push   %eax
439823:	ff 75 cc             	push   -0x34(%ebp)
439826:	8d 45 c0             	lea    -0x40(%ebp),%eax
439829:	50                   	push   %eax
43982a:	53                   	push   %ebx
43982b:	ff 75 94             	push   -0x6c(%ebp)
43982e:	e8 47 98 ff ff       	call   0x43307a
439833:	83 c4 20             	add    $0x20,%esp
439836:	89 45 c8             	mov    %eax,-0x38(%ebp)
439839:	85 c0                	test   %eax,%eax
43983b:	0f 84 fe 00 00 00    	je     0x43993f
439841:	53                   	push   %ebx
439842:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
439845:	51                   	push   %ecx
439846:	50                   	push   %eax
439847:	8d 45 d8             	lea    -0x28(%ebp),%eax
43984a:	50                   	push   %eax
43984b:	ff 75 9c             	push   -0x64(%ebp)
43984e:	ff 15 4c f0 43 00    	call   *0x43f04c
439854:	85 c0                	test   %eax,%eax
439856:	0f 84 db 00 00 00    	je     0x439937
43985c:	8b 46 08             	mov    0x8(%esi),%eax
43985f:	2b 45 a0             	sub    -0x60(%ebp),%eax
439862:	8b 55 d4             	mov    -0x2c(%ebp),%edx
439865:	03 c2                	add    %edx,%eax
439867:	89 45 b8             	mov    %eax,-0x48(%ebp)
43986a:	89 46 04             	mov    %eax,0x4(%esi)
43986d:	8b 45 c8             	mov    -0x38(%ebp),%eax
439870:	39 45 a4             	cmp    %eax,-0x5c(%ebp)
439873:	0f 82 c6 00 00 00    	jb     0x43993f
439879:	80 7d d3 0a          	cmpb   $0xa,-0x2d(%ebp)
43987d:	75 3c                	jne    0x4398bb
43987f:	6a 0d                	push   $0xd
439881:	58                   	pop    %eax
439882:	53                   	push   %ebx
439883:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
439887:	8d 45 a4             	lea    -0x5c(%ebp),%eax
43988a:	50                   	push   %eax
43988b:	6a 01                	push   $0x1
43988d:	8d 45 a8             	lea    -0x58(%ebp),%eax
439890:	50                   	push   %eax
439891:	ff 75 9c             	push   -0x64(%ebp)
439894:	ff 15 4c f0 43 00    	call   *0x43f04c
43989a:	85 c0                	test   %eax,%eax
43989c:	0f 84 95 00 00 00    	je     0x439937
4398a2:	83 7d a4 01          	cmpl   $0x1,-0x5c(%ebp)
4398a6:	0f 82 93 00 00 00    	jb     0x43993f
4398ac:	ff 46 08             	incl   0x8(%esi)
4398af:	ff 46 04             	incl   0x4(%esi)
4398b2:	8b 46 04             	mov    0x4(%esi),%eax
4398b5:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4398b8:	89 45 b8             	mov    %eax,-0x48(%ebp)
4398bb:	3b 55 ac             	cmp    -0x54(%ebp),%edx
4398be:	73 7f                	jae    0x43993f
4398c0:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4398c3:	e9 76 fd ff ff       	jmp    0x43963e
4398c8:	85 ff                	test   %edi,%edi
4398ca:	7e 24                	jle    0x4398f0
4398cc:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4398cf:	8b 75 cc             	mov    -0x34(%ebp),%esi
4398d2:	8b 4d bc             	mov    -0x44(%ebp),%ecx
4398d5:	8b 14 8d 38 5d 45 00 	mov    0x455d38(,%ecx,4),%edx
4398dc:	03 55 b0             	add    -0x50(%ebp),%edx
4398df:	8a 0c 03             	mov    (%ebx,%eax,1),%cl
4398e2:	03 d3                	add    %ebx,%edx
4398e4:	43                   	inc    %ebx
4398e5:	88 4c 32 2e          	mov    %cl,0x2e(%edx,%esi,1)
4398e9:	3b df                	cmp    %edi,%ebx
4398eb:	7c e5                	jl     0x4398d2
4398ed:	8b 75 08             	mov    0x8(%ebp),%esi
4398f0:	01 7e 04             	add    %edi,0x4(%esi)
4398f3:	eb 4a                	jmp    0x43993f
4398f5:	85 ff                	test   %edi,%edi
4398f7:	7e f7                	jle    0x4398f0
4398f9:	8b 75 b0             	mov    -0x50(%ebp),%esi
4398fc:	8b 45 bc             	mov    -0x44(%ebp),%eax
4398ff:	8b 0c 85 38 5d 45 00 	mov    0x455d38(,%eax,4),%ecx
439906:	8a 04 13             	mov    (%ebx,%edx,1),%al
439909:	03 ce                	add    %esi,%ecx
43990b:	88 44 19 2e          	mov    %al,0x2e(%ecx,%ebx,1)
43990f:	43                   	inc    %ebx
439910:	3b df                	cmp    %edi,%ebx
439912:	7c e8                	jl     0x4398fc
439914:	eb d7                	jmp    0x4398ed
439916:	8b 45 b4             	mov    -0x4c(%ebp),%eax
439919:	8a 0a                	mov    (%edx),%cl
43991b:	88 4c 38 2e          	mov    %cl,0x2e(%eax,%edi,1)
43991f:	8b 45 bc             	mov    -0x44(%ebp),%eax
439922:	8b 04 85 38 5d 45 00 	mov    0x455d38(,%eax,4),%eax
439929:	80 4c 38 2d 04       	orb    $0x4,0x2d(%eax,%edi,1)
43992e:	8b 45 b8             	mov    -0x48(%ebp),%eax
439931:	40                   	inc    %eax
439932:	89 46 04             	mov    %eax,0x4(%esi)
439935:	eb 08                	jmp    0x43993f
439937:	ff 15 60 f0 43 00    	call   *0x43f060
43993d:	89 06                	mov    %eax,(%esi)
43993f:	8b c6                	mov    %esi,%eax
439941:	8b 4d f4             	mov    -0xc(%ebp),%ecx
439944:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43994b:	59                   	pop    %ecx
43994c:	5f                   	pop    %edi
43994d:	5e                   	pop    %esi
43994e:	5b                   	pop    %ebx
43994f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
439952:	33 cd                	xor    %ebp,%ecx
439954:	e8 77 1f fe ff       	call   0x41b8d0
439959:	c9                   	leave
43995a:	c3                   	ret
43995b:	cc                   	int3
43995c:	cc                   	int3
43995d:	cc                   	int3
43995e:	cc                   	int3
43995f:	cc                   	int3
439960:	8b ff                	mov    %edi,%edi
439962:	55                   	push   %ebp
439963:	8b ec                	mov    %esp,%ebp
439965:	51                   	push   %ecx
439966:	53                   	push   %ebx
439967:	56                   	push   %esi
439968:	8b 75 08             	mov    0x8(%ebp),%esi
43996b:	33 c0                	xor    %eax,%eax
43996d:	57                   	push   %edi
43996e:	8b fe                	mov    %esi,%edi
439970:	ab                   	stos   %eax,%es:(%edi)
439971:	ab                   	stos   %eax,%es:(%edi)
439972:	ab                   	stos   %eax,%es:(%edi)
439973:	8b 7d 0c             	mov    0xc(%ebp),%edi
439976:	8b 45 10             	mov    0x10(%ebp),%eax
439979:	03 c7                	add    %edi,%eax
43997b:	89 45 fc             	mov    %eax,-0x4(%ebp)
43997e:	3b f8                	cmp    %eax,%edi
439980:	73 3f                	jae    0x4399c1
439982:	0f b7 1f             	movzwl (%edi),%ebx
439985:	53                   	push   %ebx
439986:	e8 f1 20 00 00       	call   0x43ba7c
43998b:	59                   	pop    %ecx
43998c:	66 3b c3             	cmp    %bx,%ax
43998f:	75 28                	jne    0x4399b9
439991:	83 46 04 02          	addl   $0x2,0x4(%esi)
439995:	83 fb 0a             	cmp    $0xa,%ebx
439998:	75 15                	jne    0x4399af
43999a:	6a 0d                	push   $0xd
43999c:	5b                   	pop    %ebx
43999d:	53                   	push   %ebx
43999e:	e8 d9 20 00 00       	call   0x43ba7c
4399a3:	59                   	pop    %ecx
4399a4:	66 3b c3             	cmp    %bx,%ax
4399a7:	75 10                	jne    0x4399b9
4399a9:	ff 46 04             	incl   0x4(%esi)
4399ac:	ff 46 08             	incl   0x8(%esi)
4399af:	83 c7 02             	add    $0x2,%edi
4399b2:	3b 7d fc             	cmp    -0x4(%ebp),%edi
4399b5:	72 cb                	jb     0x439982
4399b7:	eb 08                	jmp    0x4399c1
4399b9:	ff 15 60 f0 43 00    	call   *0x43f060
4399bf:	89 06                	mov    %eax,(%esi)
4399c1:	5f                   	pop    %edi
4399c2:	8b c6                	mov    %esi,%eax
4399c4:	5e                   	pop    %esi
4399c5:	5b                   	pop    %ebx
4399c6:	c9                   	leave
4399c7:	c3                   	ret
4399c8:	8b ff                	mov    %edi,%edi
4399ca:	55                   	push   %ebp
4399cb:	8b ec                	mov    %esp,%ebp
4399cd:	51                   	push   %ecx
4399ce:	53                   	push   %ebx
4399cf:	56                   	push   %esi
4399d0:	8b 75 08             	mov    0x8(%ebp),%esi
4399d3:	57                   	push   %edi
4399d4:	56                   	push   %esi
4399d5:	e8 7a ef ff ff       	call   0x438954
4399da:	59                   	pop    %ecx
4399db:	85 c0                	test   %eax,%eax
4399dd:	74 5f                	je     0x439a3e
4399df:	8b fe                	mov    %esi,%edi
4399e1:	83 e6 3f             	and    $0x3f,%esi
4399e4:	c1 ff 06             	sar    $0x6,%edi
4399e7:	6b de 38             	imul   $0x38,%esi,%ebx
4399ea:	8b 04 bd 38 5d 45 00 	mov    0x455d38(,%edi,4),%eax
4399f1:	80 7c 18 28 00       	cmpb   $0x0,0x28(%eax,%ebx,1)
4399f6:	7d 46                	jge    0x439a3e
4399f8:	8b 75 0c             	mov    0xc(%ebp),%esi
4399fb:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
4399ff:	75 07                	jne    0x439a08
439a01:	8b ce                	mov    %esi,%ecx
439a03:	e8 98 ab fe ff       	call   0x4245a0
439a08:	8b 46 0c             	mov    0xc(%esi),%eax
439a0b:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
439a12:	75 0e                	jne    0x439a22
439a14:	8b 04 bd 38 5d 45 00 	mov    0x455d38(,%edi,4),%eax
439a1b:	80 7c 18 29 00       	cmpb   $0x0,0x29(%eax,%ebx,1)
439a20:	74 1c                	je     0x439a3e
439a22:	8d 45 fc             	lea    -0x4(%ebp),%eax
439a25:	50                   	push   %eax
439a26:	8b 04 bd 38 5d 45 00 	mov    0x455d38(,%edi,4),%eax
439a2d:	ff 74 18 18          	push   0x18(%eax,%ebx,1)
439a31:	ff 15 ac f1 43 00    	call   *0x43f1ac
439a37:	85 c0                	test   %eax,%eax
439a39:	0f 95 c0             	setne  %al
439a3c:	eb 02                	jmp    0x439a40
439a3e:	32 c0                	xor    %al,%al
439a40:	5f                   	pop    %edi