4397de:	83 c4 0c             	add    $0xc,%esp
4397e1:	eb 10                	jmp    0x4397f3
4397e3:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4397e9:	0f b6 cb             	movzbl %bl,%ecx
4397ec:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
4397f0:	83 e0 08             	and    $0x8,%eax
4397f3:	85 c0                	test   %eax,%eax
4397f5:	74 05                	je     0x4397fc
4397f7:	8a 1e                	mov    (%esi),%bl
4397f9:	46                   	inc    %esi
4397fa:	eb ca                	jmp    0x4397c6
4397fc:	8b 45 18             	mov    0x18(%ebp),%eax
4397ff:	88 5d ff             	mov    %bl,-0x1(%ebp)
439802:	80 fb 2d             	cmp    $0x2d,%bl
439805:	75 0b                	jne    0x439812
439807:	83 c8 02             	or     $0x2,%eax
43980a:	8a 0e                	mov    (%esi),%cl
43980c:	46                   	inc    %esi
43980d:	88 4d ff             	mov    %cl,-0x1(%ebp)
439810:	eb 08                	jmp    0x43981a
439812:	80 fb 2b             	cmp    $0x2b,%bl
439815:	74 f3                	je     0x43980a
439817:	8a 4d ff             	mov    -0x1(%ebp),%cl
43981a:	8b 7d 14             	mov    0x14(%ebp),%edi
43981d:	8b 5d f4             	mov    -0xc(%ebp),%ebx
439820:	89 45 f8             	mov    %eax,-0x8(%ebp)
439823:	85 ff                	test   %edi,%edi
439825:	0f 88 43 01 00 00    	js     0x43996e
43982b:	83 ff 01             	cmp    $0x1,%edi
43982e:	0f 84 3a 01 00 00    	je     0x43996e
439834:	83 ff 24             	cmp    $0x24,%edi
439837:	0f 8f 31 01 00 00    	jg     0x43996e
43983d:	85 ff                	test   %edi,%edi
43983f:	75 1d                	jne    0x43985e
439841:	80 f9 30             	cmp    $0x30,%cl
439844:	74 05                	je     0x43984b
439846:	6a 0a                	push   $0xa
439848:	5f                   	pop    %edi
439849:	eb 30                	jmp    0x43987b
43984b:	8a 06                	mov    (%esi),%al
43984d:	3c 78                	cmp    $0x78,%al
43984f:	74 08                	je     0x439859
439851:	3c 58                	cmp    $0x58,%al
439853:	74 04                	je     0x439859
439855:	6a 08                	push   $0x8
439857:	eb ef                	jmp    0x439848
439859:	6a 10                	push   $0x10
43985b:	5f                   	pop    %edi
43985c:	eb 0a                	jmp    0x439868
43985e:	83 ff 10             	cmp    $0x10,%edi
439861:	75 18                	jne    0x43987b
439863:	80 f9 30             	cmp    $0x30,%cl
439866:	75 13                	jne    0x43987b
439868:	8a 06                	mov    (%esi),%al
43986a:	3c 78                	cmp    $0x78,%al
43986c:	74 04                	je     0x439872
43986e:	3c 58                	cmp    $0x58,%al
439870:	75 09                	jne    0x43987b
439872:	8a 4e 01             	mov    0x1(%esi),%cl
439875:	83 c6 02             	add    $0x2,%esi
439878:	88 4d ff             	mov    %cl,-0x1(%ebp)
43987b:	83 c8 ff             	or     $0xffffffff,%eax
43987e:	33 d2                	xor    %edx,%edx
439880:	f7 f7                	div    %edi
439882:	89 45 f4             	mov    %eax,-0xc(%ebp)
439885:	8b 45 dc             	mov    -0x24(%ebp),%eax
439888:	89 55 f0             	mov    %edx,-0x10(%ebp)
43988b:	8b 55 f8             	mov    -0x8(%ebp),%edx
43988e:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
439894:	89 45 ec             	mov    %eax,-0x14(%ebp)
439897:	0f b6 c9             	movzbl %cl,%ecx
43989a:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
43989e:	8b c8                	mov    %eax,%ecx
4398a0:	83 e1 04             	and    $0x4,%ecx
4398a3:	74 09                	je     0x4398ae
4398a5:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
4398a9:	83 e8 30             	sub    $0x30,%eax
4398ac:	eb 1a                	jmp    0x4398c8
4398ae:	25 03 01 00 00       	and    $0x103,%eax
4398b3:	74 44                	je     0x4398f9
4398b5:	8a 4d ff             	mov    -0x1(%ebp),%cl
4398b8:	8d 41 9f             	lea    -0x61(%ecx),%eax
4398bb:	3c 19                	cmp    $0x19,%al
4398bd:	0f be c1             	movsbl %cl,%eax
4398c0:	77 03                	ja     0x4398c5
4398c2:	83 e8 20             	sub    $0x20,%eax
4398c5:	83 c0 c9             	add    $0xffffffc9,%eax
4398c8:	3b c7                	cmp    %edi,%eax
4398ca:	73 2d                	jae    0x4398f9
4398cc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4398cf:	83 ca 08             	or     $0x8,%edx
4398d2:	3b d9                	cmp    %ecx,%ebx
4398d4:	72 13                	jb     0x4398e9
4398d6:	75 05                	jne    0x4398dd
4398d8:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4398db:	76 0c                	jbe    0x4398e9
4398dd:	8b 45 10             	mov    0x10(%ebp),%eax
4398e0:	83 ca 04             	or     $0x4,%edx
4398e3:	85 c0                	test   %eax,%eax
4398e5:	74 15                	je     0x4398fc
4398e7:	eb 05                	jmp    0x4398ee
4398e9:	0f af df             	imul   %edi,%ebx
4398ec:	03 d8                	add    %eax,%ebx
4398ee:	8a 0e                	mov    (%esi),%cl
4398f0:	46                   	inc    %esi
4398f1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4398f4:	88 4d ff             	mov    %cl,-0x1(%ebp)
4398f7:	eb 9e                	jmp    0x439897
4398f9:	8b 45 10             	mov    0x10(%ebp),%eax
4398fc:	4e                   	dec    %esi
4398fd:	89 55 f8             	mov    %edx,-0x8(%ebp)
439900:	89 55 f8             	mov    %edx,-0x8(%ebp)
439903:	f6 c2 08             	test   $0x8,%dl
439906:	75 0b                	jne    0x439913
439908:	85 c0                	test   %eax,%eax
43990a:	74 03                	je     0x43990f
43990c:	8b 75 0c             	mov    0xc(%ebp),%esi
43990f:	33 db                	xor    %ebx,%ebx
439911:	eb 49                	jmp    0x43995c
439913:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
439918:	f6 c2 04             	test   $0x4,%dl
43991b:	75 1c                	jne    0x439939
43991d:	f6 c2 01             	test   $0x1,%dl
439920:	75 3a                	jne    0x43995c
439922:	8b c2                	mov    %edx,%eax
439924:	83 e0 02             	and    $0x2,%eax
439927:	74 08                	je     0x439931
439929:	81 fb 00 00 00 80    	cmp    $0x80000000,%ebx
43992f:	77 08                	ja     0x439939
439931:	85 c0                	test   %eax,%eax
439933:	75 27                	jne    0x43995c
439935:	3b df                	cmp    %edi,%ebx
439937:	76 23                	jbe    0x43995c
439939:	e8 2a f4 fe ff       	call   0x428d68
43993e:	8b 55 f8             	mov    -0x8(%ebp),%edx
439941:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
439947:	f6 c2 01             	test   $0x1,%dl
43994a:	74 05                	je     0x439951
43994c:	83 cb ff             	or     $0xffffffff,%ebx
43994f:	eb 0b                	jmp    0x43995c
439951:	f6 c2 02             	test   $0x2,%dl
439954:	6a 00                	push   $0x0
439956:	5b                   	pop    %ebx
439957:	0f 95 c3             	setne  %bl
43995a:	03 df                	add    %edi,%ebx
43995c:	8b 45 10             	mov    0x10(%ebp),%eax
43995f:	85 c0                	test   %eax,%eax
439961:	74 02                	je     0x439965
439963:	89 30                	mov    %esi,(%eax)
439965:	f6 c2 02             	test   $0x2,%dl
439968:	74 12                	je     0x43997c
43996a:	f7 db                	neg    %ebx
43996c:	eb 0e                	jmp    0x43997c
43996e:	8b 45 10             	mov    0x10(%ebp),%eax
439971:	85 c0                	test   %eax,%eax
439973:	74 05                	je     0x43997a
439975:	8b 4d 0c             	mov    0xc(%ebp),%ecx
439978:	89 08                	mov    %ecx,(%eax)
43997a:	33 db                	xor    %ebx,%ebx
43997c:	80 7d e8 00          	cmpb   $0x0,-0x18(%ebp)
439980:	74 07                	je     0x439989
439982:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
439985:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
439989:	5f                   	pop    %edi
43998a:	5e                   	pop    %esi
43998b:	8b c3                	mov    %ebx,%eax
43998d:	5b                   	pop    %ebx
43998e:	8b e5                	mov    %ebp,%esp
439990:	5d                   	pop    %ebp
439991:	c3                   	ret
439992:	55                   	push   %ebp
439993:	8b ec                	mov    %esp,%ebp
439995:	83 3d 28 42 4c 00 00 	cmpl   $0x0,0x4c4228
43999c:	6a 00                	push   $0x0
43999e:	ff 75 10             	push   0x10(%ebp)
4399a1:	ff 75 0c             	push   0xc(%ebp)
4399a4:	ff 75 08             	push   0x8(%ebp)
4399a7:	75 07                	jne    0x4399b0
4399a9:	68 f0 fb 4b 00       	push   $0x4bfbf0
4399ae:	eb 02                	jmp    0x4399b2
4399b0:	6a 00                	push   $0x0
4399b2:	e8 b5 fd ff ff       	call   0x43976c
4399b7:	83 c4 14             	add    $0x14,%esp
4399ba:	5d                   	pop    %ebp
4399bb:	c3                   	ret
4399bc:	a1 80 04 4c 00       	mov    0x4c0480,%eax
4399c1:	83 f8 ff             	cmp    $0xffffffff,%eax
4399c4:	74 0c                	je     0x4399d2
4399c6:	83 f8 fe             	cmp    $0xfffffffe,%eax
4399c9:	74 07                	je     0x4399d2
4399cb:	50                   	push   %eax
4399cc:	ff 15 5c f3 48 00    	call   *0x48f35c
4399d2:	c3                   	ret
4399d3:	33 c0                	xor    %eax,%eax
4399d5:	50                   	push   %eax
4399d6:	50                   	push   %eax
4399d7:	6a 03                	push   $0x3
4399d9:	50                   	push   %eax
4399da:	6a 03                	push   $0x3
4399dc:	68 00 00 00 40       	push   $0x40000000
4399e1:	68 e4 2d 4a 00       	push   $0x4a2de4
4399e6:	ff 15 d4 f1 48 00    	call   *0x48f1d4
4399ec:	a3 80 04 4c 00       	mov    %eax,0x4c0480
4399f1:	c3                   	ret
4399f2:	55                   	push   %ebp
4399f3:	8b ec                	mov    %esp,%ebp
4399f5:	83 ec 18             	sub    $0x18,%esp
4399f8:	53                   	push   %ebx
4399f9:	56                   	push   %esi
4399fa:	57                   	push   %edi
4399fb:	8b 7d 08             	mov    0x8(%ebp),%edi
4399fe:	33 f6                	xor    %esi,%esi
439a00:	6a 01                	push   $0x1
439a02:	56                   	push   %esi
439a03:	56                   	push   %esi
439a04:	57                   	push   %edi
439a05:	8b de                	mov    %esi,%ebx
439a07:	89 75 f8             	mov    %esi,-0x8(%ebp)
439a0a:	e8 02 81 ff ff       	call   0x431b11
439a0f:	8b ca                	mov    %edx,%ecx
439a11:	89 45 e8             	mov    %eax,-0x18(%ebp)
439a14:	23 c1                	and    %ecx,%eax
439a16:	89 4d ec             	mov    %ecx,-0x14(%ebp)
439a19:	83 c4 10             	add    $0x10,%esp
439a1c:	83 f8 ff             	cmp    $0xffffffff,%eax
439a1f:	74 59                	je     0x439a7a
439a21:	6a 02                	push   $0x2
439a23:	56                   	push   %esi
439a24:	56                   	push   %esi
439a25:	57                   	push   %edi
439a26:	e8 e6 80 ff ff       	call   0x431b11
439a2b:	8b c8                	mov    %eax,%ecx
439a2d:	83 c4 10             	add    $0x10,%esp
439a30:	23 c2                	and    %edx,%eax
439a32:	83 f8 ff             	cmp    $0xffffffff,%eax
439a35:	74 43                	je     0x439a7a
439a37:	8b 75 0c             	mov    0xc(%ebp),%esi
439a3a:	8b 45 10             	mov    0x10(%ebp),%eax
439a3d:	2b f1                	sub    %ecx,%esi
439a3f:	1b c2                	sbb    %edx,%eax
439a41:	89 45 fc             	mov    %eax,-0x4(%ebp)
439a44:	0f 88 c9 00 00 00    	js     0x439b13
439a4a:	7f 08                	jg     0x439a54
439a4c:	85 f6                	test   %esi,%esi
439a4e:	0f 84 bf 00 00 00    	je     0x439b13
439a54:	68 00 10 00 00       	push   $0x1000
439a59:	6a 08                	push   $0x8
439a5b:	ff 15 74 f1 48 00    	call   *0x48f174
439a61:	50                   	push   %eax
439a62:	ff 15 70 f1 48 00    	call   *0x48f170
439a68:	89 45 f4             	mov    %eax,-0xc(%ebp)
439a6b:	85 c0                	test   %eax,%eax
439a6d:	75 19                	jne    0x439a88
439a6f:	e8 f4 f2 fe ff       	call   0x428d68
439a74:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
439a7a:	e8 e9 f2 fe ff       	call   0x428d68
439a7f:	8b 00                	mov    (%eax),%eax
439a81:	5f                   	pop    %edi
439a82:	5e                   	pop    %esi
439a83:	5b                   	pop    %ebx
439a84:	8b e5                	mov    %ebp,%esp
439a86:	5d                   	pop    %ebp
439a87:	c3                   	ret
439a88:	68 00 80 00 00       	push   $0x8000
439a8d:	57                   	push   %edi
439a8e:	e8 b6 ad fe ff       	call   0x424849
439a93:	59                   	pop    %ecx
439a94:	89 45 f0             	mov    %eax,-0x10(%ebp)
439a97:	8b 45 fc             	mov    -0x4(%ebp),%eax
439a9a:	59                   	pop    %ecx
439a9b:	85 c0                	test   %eax,%eax
439a9d:	7c 11                	jl     0x439ab0
439a9f:	7f 08                	jg     0x439aa9
439aa1:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
439aa7:	72 07                	jb     0x439ab0
439aa9:	b8 00 10 00 00       	mov    $0x1000,%eax
439aae:	eb 02                	jmp    0x439ab2
439ab0:	8b c6                	mov    %esi,%eax
439ab2:	50                   	push   %eax
439ab3:	ff 75 f4             	push   -0xc(%ebp)
439ab6:	57                   	push   %edi
439ab7:	e8 f9 40 ff ff       	call   0x42dbb5
439abc:	83 c4 0c             	add    $0xc,%esp
439abf:	83 f8 ff             	cmp    $0xffffffff,%eax
439ac2:	74 15                	je     0x439ad9
439ac4:	99                   	cltd
439ac5:	2b f0                	sub    %eax,%esi
439ac7:	8b 45 fc             	mov    -0x4(%ebp),%eax
439aca:	1b c2                	sbb    %edx,%eax
439acc:	89 45 fc             	mov    %eax,-0x4(%ebp)
439acf:	78 23                	js     0x439af4
439ad1:	7f c8                	jg     0x439a9b
439ad3:	85 f6                	test   %esi,%esi
439ad5:	74 1d                	je     0x439af4
439ad7:	eb c2                	jmp    0x439a9b
439ad9:	e8 56 f2 fe ff       	call   0x428d34
439ade:	83 38 05             	cmpl   $0x5,(%eax)
439ae1:	75 0b                	jne    0x439aee
439ae3:	e8 80 f2 fe ff       	call   0x428d68
439ae8:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
439aee:	83 cb ff             	or     $0xffffffff,%ebx
439af1:	09 5d f8             	or     %ebx,-0x8(%ebp)
439af4:	ff 75 f0             	push   -0x10(%ebp)
439af7:	57                   	push   %edi
439af8:	e8 4c ad fe ff       	call   0x424849
439afd:	59                   	pop    %ecx
439afe:	59                   	pop    %ecx
439aff:	ff 75 f4             	push   -0xc(%ebp)
439b02:	6a 00                	push   $0x0
439b04:	ff 15 74 f1 48 00    	call   *0x48f174
439b0a:	50                   	push   %eax
439b0b:	ff 15 78 f1 48 00    	call   *0x48f178
439b11:	eb 66                	jmp    0x439b79
439b13:	85 c0                	test   %eax,%eax
439b15:	7f 6e                	jg     0x439b85
439b17:	7c 04                	jl     0x439b1d
439b19:	85 f6                	test   %esi,%esi
439b1b:	73 68                	jae    0x439b85
439b1d:	6a 00                	push   $0x0
439b1f:	ff 75 10             	push   0x10(%ebp)
439b22:	ff 75 0c             	push   0xc(%ebp)
439b25:	57                   	push   %edi
439b26:	e8 e6 7f ff ff       	call   0x431b11
439b2b:	23 c2                	and    %edx,%eax
439b2d:	83 c4 10             	add    $0x10,%esp
439b30:	83 f8 ff             	cmp    $0xffffffff,%eax
439b33:	0f 84 41 ff ff ff    	je     0x439a7a
439b39:	57                   	push   %edi
439b3a:	e8 c4 3b ff ff       	call   0x42d703
439b3f:	59                   	pop    %ecx
439b40:	50                   	push   %eax
439b41:	ff 15 dc f1 48 00    	call   *0x48f1dc
439b47:	f7 d8                	neg    %eax
439b49:	1b c0                	sbb    %eax,%eax
439b4b:	f7 d8                	neg    %eax
439b4d:	48                   	dec    %eax
439b4e:	99                   	cltd
439b4f:	8b d8                	mov    %eax,%ebx
439b51:	8b c2                	mov    %edx,%eax
439b53:	8b cb                	mov    %ebx,%ecx
439b55:	89 45 f8             	mov    %eax,-0x8(%ebp)
439b58:	23 c8                	and    %eax,%ecx
439b5a:	83 f9 ff             	cmp    $0xffffffff,%ecx
439b5d:	75 26                	jne    0x439b85
439b5f:	e8 04 f2 fe ff       	call   0x428d68
439b64:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
439b6a:	e8 c5 f1 fe ff       	call   0x428d34
439b6f:	8b f0                	mov    %eax,%esi
439b71:	ff 15 40 f3 48 00    	call   *0x48f340
439b77:	89 06                	mov    %eax,(%esi)