4236f8:	83 c4 0c             	add    $0xc,%esp
4236fb:	89 06                	mov    %eax,(%esi)
4236fd:	85 c0                	test   %eax,%eax
4236ff:	75 09                	jne    0x42370a
423701:	e8 2a 03 00 00       	call   0x423a30
423706:	8b 30                	mov    (%eax),%esi
423708:	eb 02                	jmp    0x42370c
42370a:	33 f6                	xor    %esi,%esi
42370c:	8b c6                	mov    %esi,%eax
42370e:	5e                   	pop    %esi
42370f:	5d                   	pop    %ebp
423710:	c3                   	ret
423711:	6a 10                	push   $0x10
423713:	68 48 2f 45 00       	push   $0x452f48
423718:	e8 f3 71 ff ff       	call   0x41a910
42371d:	8b 75 08             	mov    0x8(%ebp),%esi
423720:	89 75 e0             	mov    %esi,-0x20(%ebp)
423723:	85 f6                	test   %esi,%esi
423725:	75 23                	jne    0x42374a
423727:	8b 45 0c             	mov    0xc(%ebp),%eax
42372a:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42372e:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
423735:	50                   	push   %eax
423736:	33 ff                	xor    %edi,%edi
423738:	57                   	push   %edi
423739:	57                   	push   %edi
42373a:	57                   	push   %edi
42373b:	57                   	push   %edi
42373c:	57                   	push   %edi
42373d:	e8 c4 c1 ff ff       	call   0x41f906
423742:	83 c4 18             	add    $0x18,%esp
423745:	83 c8 ff             	or     $0xffffffff,%eax
423748:	eb 40                	jmp    0x42378a
42374a:	8b 46 0c             	mov    0xc(%esi),%eax
42374d:	90                   	nop
42374e:	c1 e8 0c             	shr    $0xc,%eax
423751:	56                   	push   %esi
423752:	a8 01                	test   $0x1,%al
423754:	74 08                	je     0x42375e
423756:	e8 7a 82 00 00       	call   0x42b9d5
42375b:	59                   	pop    %ecx
42375c:	eb e7                	jmp    0x423745
42375e:	33 ff                	xor    %edi,%edi
423760:	89 7d e4             	mov    %edi,-0x1c(%ebp)
423763:	e8 84 08 00 00       	call   0x423fec
423768:	59                   	pop    %ecx
423769:	89 7d fc             	mov    %edi,-0x4(%ebp)
42376c:	ff 75 0c             	push   0xc(%ebp)
42376f:	56                   	push   %esi
423770:	e8 33 00 00 00       	call   0x4237a8
423775:	59                   	pop    %ecx
423776:	59                   	pop    %ecx
423777:	8b f8                	mov    %eax,%edi
423779:	89 7d e4             	mov    %edi,-0x1c(%ebp)
42377c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
423783:	e8 18 00 00 00       	call   0x4237a0
423788:	8b c7                	mov    %edi,%eax
42378a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42378d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
423794:	59                   	pop    %ecx
423795:	5f                   	pop    %edi
423796:	5e                   	pop    %esi
423797:	5b                   	pop    %ebx
423798:	c9                   	leave
423799:	c3                   	ret
42379a:	8b 75 e0             	mov    -0x20(%ebp),%esi
42379d:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4237a0:	56                   	push   %esi
4237a1:	e8 5a 08 00 00       	call   0x424000
4237a6:	59                   	pop    %ecx
4237a7:	c3                   	ret
4237a8:	8b ff                	mov    %edi,%edi
4237aa:	55                   	push   %ebp
4237ab:	8b ec                	mov    %esp,%ebp
4237ad:	56                   	push   %esi
4237ae:	8b 75 08             	mov    0x8(%ebp),%esi
4237b1:	85 f6                	test   %esi,%esi
4237b3:	75 23                	jne    0x4237d8
4237b5:	8b 45 0c             	mov    0xc(%ebp),%eax
4237b8:	50                   	push   %eax
4237b9:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4237bd:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
4237c4:	33 c0                	xor    %eax,%eax
4237c6:	50                   	push   %eax
4237c7:	50                   	push   %eax
4237c8:	50                   	push   %eax
4237c9:	50                   	push   %eax
4237ca:	50                   	push   %eax
4237cb:	e8 36 c1 ff ff       	call   0x41f906
4237d0:	83 c4 18             	add    $0x18,%esp
4237d3:	83 c8 ff             	or     $0xffffffff,%eax
4237d6:	eb 5b                	jmp    0x423833
4237d8:	8b 46 0c             	mov    0xc(%esi),%eax
4237db:	57                   	push   %edi
4237dc:	83 cf ff             	or     $0xffffffff,%edi
4237df:	90                   	nop
4237e0:	c1 e8 0d             	shr    $0xd,%eax
4237e3:	a8 01                	test   $0x1,%al
4237e5:	74 42                	je     0x423829
4237e7:	ff 75 0c             	push   0xc(%ebp)
4237ea:	56                   	push   %esi
4237eb:	e8 52 04 00 00       	call   0x423c42
4237f0:	56                   	push   %esi
4237f1:	8b f8                	mov    %eax,%edi
4237f3:	e8 eb 88 00 00       	call   0x42c0e3
4237f8:	83 c4 0c             	add    $0xc,%esp
4237fb:	ff 75 0c             	push   0xc(%ebp)
4237fe:	56                   	push   %esi
4237ff:	e8 34 7f 00 00       	call   0x42b738
423804:	59                   	pop    %ecx
423805:	50                   	push   %eax
423806:	e8 65 87 00 00       	call   0x42bf70
42380b:	59                   	pop    %ecx
42380c:	59                   	pop    %ecx
42380d:	85 c0                	test   %eax,%eax
42380f:	79 05                	jns    0x423816
423811:	83 cf ff             	or     $0xffffffff,%edi
423814:	eb 13                	jmp    0x423829
423816:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
42381a:	74 0d                	je     0x423829
42381c:	ff 76 1c             	push   0x1c(%esi)
42381f:	e8 96 70 00 00       	call   0x42a8ba
423824:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
423828:	59                   	pop    %ecx
423829:	56                   	push   %esi
42382a:	e8 a6 81 00 00       	call   0x42b9d5
42382f:	59                   	pop    %ecx
423830:	8b c7                	mov    %edi,%eax
423832:	5f                   	pop    %edi
423833:	5e                   	pop    %esi
423834:	5d                   	pop    %ebp
423835:	c3                   	ret
423836:	8b ff                	mov    %edi,%edi
423838:	55                   	push   %ebp
423839:	8b ec                	mov    %esp,%ebp
42383b:	83 ec 28             	sub    $0x28,%esp
42383e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
423841:	56                   	push   %esi
423842:	6a 00                	push   $0x0
423844:	e8 87 bc ff ff       	call   0x41f4d0
423849:	8d 45 d8             	lea    -0x28(%ebp),%eax
42384c:	50                   	push   %eax
42384d:	ff 75 08             	push   0x8(%ebp)
423850:	e8 bc fe ff ff       	call   0x423711
423855:	59                   	pop    %ecx
423856:	59                   	pop    %ecx
423857:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42385a:	8b f0                	mov    %eax,%esi
42385c:	e8 cf bc ff ff       	call   0x41f530
423861:	8b c6                	mov    %esi,%eax
423863:	5e                   	pop    %esi
423864:	c9                   	leave
423865:	c3                   	ret
423866:	8b ff                	mov    %edi,%edi
423868:	55                   	push   %ebp
423869:	8b ec                	mov    %esp,%ebp
42386b:	8b 55 08             	mov    0x8(%ebp),%edx
42386e:	56                   	push   %esi
42386f:	57                   	push   %edi
423870:	85 d2                	test   %edx,%edx
423872:	74 13                	je     0x423887
423874:	8b 4d 0c             	mov    0xc(%ebp),%ecx
423877:	85 c9                	test   %ecx,%ecx
423879:	74 0c                	je     0x423887
42387b:	8b 75 10             	mov    0x10(%ebp),%esi
42387e:	85 f6                	test   %esi,%esi
423880:	75 1a                	jne    0x42389c
423882:	33 c0                	xor    %eax,%eax
423884:	66 89 02             	mov    %ax,(%edx)
423887:	e8 a4 01 00 00       	call   0x423a30
42388c:	6a 16                	push   $0x16
42388e:	5e                   	pop    %esi
42388f:	89 30                	mov    %esi,(%eax)
423891:	e8 ed c0 ff ff       	call   0x41f983
423896:	5f                   	pop    %edi
423897:	8b c6                	mov    %esi,%eax
423899:	5e                   	pop    %esi
42389a:	5d                   	pop    %ebp
42389b:	c3                   	ret
42389c:	8b fa                	mov    %edx,%edi
42389e:	2b f2                	sub    %edx,%esi
4238a0:	0f b7 04 3e          	movzwl (%esi,%edi,1),%eax
4238a4:	66 89 07             	mov    %ax,(%edi)
4238a7:	8d 7f 02             	lea    0x2(%edi),%edi
4238aa:	66 85 c0             	test   %ax,%ax
4238ad:	74 17                	je     0x4238c6
4238af:	83 e9 01             	sub    $0x1,%ecx
4238b2:	75 ec                	jne    0x4238a0
4238b4:	85 c9                	test   %ecx,%ecx
4238b6:	75 0e                	jne    0x4238c6
4238b8:	33 c0                	xor    %eax,%eax
4238ba:	66 89 02             	mov    %ax,(%edx)
4238bd:	e8 6e 01 00 00       	call   0x423a30
4238c2:	6a 22                	push   $0x22
4238c4:	eb c8                	jmp    0x42388e
4238c6:	33 f6                	xor    %esi,%esi
4238c8:	eb cc                	jmp    0x423896
4238ca:	8b ff                	mov    %edi,%edi
4238cc:	55                   	push   %ebp
4238cd:	8b ec                	mov    %esp,%ebp
4238cf:	8b 55 08             	mov    0x8(%ebp),%edx
4238d2:	53                   	push   %ebx
4238d3:	56                   	push   %esi
4238d4:	57                   	push   %edi
4238d5:	85 d2                	test   %edx,%edx
4238d7:	74 13                	je     0x4238ec
4238d9:	8b 7d 0c             	mov    0xc(%ebp),%edi
4238dc:	85 ff                	test   %edi,%edi
4238de:	74 0c                	je     0x4238ec
4238e0:	8b 5d 10             	mov    0x10(%ebp),%ebx
4238e3:	85 db                	test   %ebx,%ebx
4238e5:	75 1b                	jne    0x423902
4238e7:	33 c0                	xor    %eax,%eax
4238e9:	66 89 02             	mov    %ax,(%edx)
4238ec:	e8 3f 01 00 00       	call   0x423a30
4238f1:	6a 16                	push   $0x16
4238f3:	5e                   	pop    %esi
4238f4:	89 30                	mov    %esi,(%eax)
4238f6:	e8 88 c0 ff ff       	call   0x41f983
4238fb:	5f                   	pop    %edi
4238fc:	8b c6                	mov    %esi,%eax
4238fe:	5e                   	pop    %esi
4238ff:	5b                   	pop    %ebx
423900:	5d                   	pop    %ebp
423901:	c3                   	ret
423902:	8b ca                	mov    %edx,%ecx
423904:	33 f6                	xor    %esi,%esi
423906:	66 39 31             	cmp    %si,(%ecx)
423909:	74 0a                	je     0x423915
42390b:	83 c1 02             	add    $0x2,%ecx
42390e:	83 ef 01             	sub    $0x1,%edi
423911:	75 f3                	jne    0x423906
423913:	eb d2                	jmp    0x4238e7
423915:	2b d9                	sub    %ecx,%ebx
423917:	0f b7 04 0b          	movzwl (%ebx,%ecx,1),%eax
42391b:	66 89 01             	mov    %ax,(%ecx)
42391e:	8d 49 02             	lea    0x2(%ecx),%ecx
423921:	66 85 c0             	test   %ax,%ax
423924:	74 d5                	je     0x4238fb
423926:	83 ef 01             	sub    $0x1,%edi
423929:	75 ec                	jne    0x423917
42392b:	33 c0                	xor    %eax,%eax
42392d:	66 89 02             	mov    %ax,(%edx)
423930:	e8 fb 00 00 00       	call   0x423a30
423935:	6a 22                	push   $0x22
423937:	eb ba                	jmp    0x4238f3
423939:	8b ff                	mov    %edi,%edi
42393b:	55                   	push   %ebp
42393c:	8b ec                	mov    %esp,%ebp
42393e:	8b 55 08             	mov    0x8(%ebp),%edx
423941:	56                   	push   %esi
423942:	57                   	push   %edi
423943:	85 d2                	test   %edx,%edx
423945:	74 11                	je     0x423958
423947:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42394a:	85 c9                	test   %ecx,%ecx
42394c:	74 0a                	je     0x423958
42394e:	8b 75 10             	mov    0x10(%ebp),%esi
423951:	85 f6                	test   %esi,%esi
423953:	75 18                	jne    0x42396d
423955:	c6 02 00             	movb   $0x0,(%edx)
423958:	e8 d3 00 00 00       	call   0x423a30
42395d:	6a 16                	push   $0x16
42395f:	5e                   	pop    %esi
423960:	89 30                	mov    %esi,(%eax)
423962:	e8 1c c0 ff ff       	call   0x41f983
423967:	5f                   	pop    %edi
423968:	8b c6                	mov    %esi,%eax
42396a:	5e                   	pop    %esi
42396b:	5d                   	pop    %ebp
42396c:	c3                   	ret
42396d:	8b fa                	mov    %edx,%edi
42396f:	2b f2                	sub    %edx,%esi
423971:	8a 04 3e             	mov    (%esi,%edi,1),%al
423974:	88 07                	mov    %al,(%edi)
423976:	47                   	inc    %edi
423977:	84 c0                	test   %al,%al
423979:	74 14                	je     0x42398f
42397b:	83 e9 01             	sub    $0x1,%ecx
42397e:	75 f1                	jne    0x423971
423980:	85 c9                	test   %ecx,%ecx
423982:	75 0b                	jne    0x42398f
423984:	88 0a                	mov    %cl,(%edx)
423986:	e8 a5 00 00 00       	call   0x423a30
42398b:	6a 22                	push   $0x22
42398d:	eb d0                	jmp    0x42395f
42398f:	33 f6                	xor    %esi,%esi
423991:	eb d4                	jmp    0x423967
423993:	8b ff                	mov    %edi,%edi
423995:	55                   	push   %ebp
423996:	8b ec                	mov    %esp,%ebp
423998:	8b 4d 08             	mov    0x8(%ebp),%ecx
42399b:	33 c0                	xor    %eax,%eax
42399d:	3b 0c c5 40 04 44 00 	cmp    0x440440(,%eax,8),%ecx
4239a4:	74 27                	je     0x4239cd
4239a6:	40                   	inc    %eax
4239a7:	83 f8 2d             	cmp    $0x2d,%eax
4239aa:	72 f1                	jb     0x42399d
4239ac:	8d 41 ed             	lea    -0x13(%ecx),%eax
4239af:	83 f8 11             	cmp    $0x11,%eax
4239b2:	77 05                	ja     0x4239b9
4239b4:	6a 0d                	push   $0xd
4239b6:	58                   	pop    %eax
4239b7:	5d                   	pop    %ebp
4239b8:	c3                   	ret
4239b9:	8d 81 44 ff ff ff    	lea    -0xbc(%ecx),%eax
4239bf:	6a 0e                	push   $0xe
4239c1:	59                   	pop    %ecx
4239c2:	3b c8                	cmp    %eax,%ecx
4239c4:	1b c0                	sbb    %eax,%eax
4239c6:	23 c1                	and    %ecx,%eax
4239c8:	83 c0 08             	add    $0x8,%eax
4239cb:	5d                   	pop    %ebp
4239cc:	c3                   	ret
4239cd:	8b 04 c5 44 04 44 00 	mov    0x440444(,%eax,8),%eax
4239d4:	5d                   	pop    %ebp
4239d5:	c3                   	ret
4239d6:	8b ff                	mov    %edi,%edi
4239d8:	55                   	push   %ebp
4239d9:	8b ec                	mov    %esp,%ebp
4239db:	56                   	push   %esi
4239dc:	e8 3c 00 00 00       	call   0x423a1d
4239e1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4239e4:	51                   	push   %ecx
4239e5:	89 08                	mov    %ecx,(%eax)
4239e7:	e8 a7 ff ff ff       	call   0x423993
4239ec:	59                   	pop    %ecx
4239ed:	8b f0                	mov    %eax,%esi
4239ef:	e8 3c 00 00 00       	call   0x423a30
4239f4:	89 30                	mov    %esi,(%eax)
4239f6:	5e                   	pop    %esi
4239f7:	5d                   	pop    %ebp
4239f8:	c3                   	ret
4239f9:	8b ff                	mov    %edi,%edi
4239fb:	55                   	push   %ebp
4239fc:	8b ec                	mov    %esp,%ebp
4239fe:	8b 45 08             	mov    0x8(%ebp),%eax
423a01:	56                   	push   %esi
423a02:	8b 75 0c             	mov    0xc(%ebp),%esi
423a05:	50                   	push   %eax
423a06:	c6 46 24 01          	movb   $0x1,0x24(%esi)
423a0a:	89 46 20             	mov    %eax,0x20(%esi)
423a0d:	e8 81 ff ff ff       	call   0x423993
423a12:	59                   	pop    %ecx
423a13:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
423a17:	89 46 18             	mov    %eax,0x18(%esi)
423a1a:	5e                   	pop    %esi
423a1b:	5d                   	pop    %ebp
423a1c:	c3                   	ret
423a1d:	e8 f8 6c 00 00       	call   0x42a71a