44a843:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
44a847:	8b 7d f4             	mov    -0xc(%ebp),%edi
44a84a:	0f 85 8b 00 00 00    	jne    0x44a8db
44a850:	0f b6 1f             	movzbl (%edi),%ebx
44a853:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
44a859:	73 03                	jae    0x44a85e
44a85b:	47                   	inc    %edi
44a85c:	eb 2f                	jmp    0x44a88d
44a85e:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
44a862:	83 c3 80             	add    $0xffffff80,%ebx
44a865:	8b c1                	mov    %ecx,%eax
44a867:	c1 e0 07             	shl    $0x7,%eax
44a86a:	03 d8                	add    %eax,%ebx
44a86c:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
44a872:	73 05                	jae    0x44a879
44a874:	83 c7 02             	add    $0x2,%edi
44a877:	eb 14                	jmp    0x44a88d
44a879:	53                   	push   %ebx
44a87a:	8d 45 ec             	lea    -0x14(%ebp),%eax
44a87d:	57                   	push   %edi
44a87e:	50                   	push   %eax
44a87f:	e8 5c 51 01 00       	call   0x45f9e0
44a884:	8b 5d f0             	mov    -0x10(%ebp),%ebx
44a887:	83 c4 0c             	add    $0xc,%esp
44a88a:	8b 7d ec             	mov    -0x14(%ebp),%edi
44a88d:	85 ff                	test   %edi,%edi
44a88f:	74 48                	je     0x44a8d9
44a891:	8b c3                	mov    %ebx,%eax
44a893:	c1 e8 03             	shr    $0x3,%eax
44a896:	83 e8 01             	sub    $0x1,%eax
44a899:	0f 84 a2 00 00 00    	je     0x44a941
44a89f:	83 e8 01             	sub    $0x1,%eax
44a8a2:	74 48                	je     0x44a8ec
44a8a4:	83 e8 01             	sub    $0x1,%eax
44a8a7:	0f 85 ee 00 00 00    	jne    0x44a99b
44a8ad:	80 fb 18             	cmp    $0x18,%bl
44a8b0:	0f 85 e5 00 00 00    	jne    0x44a99b
44a8b6:	8d 45 d4             	lea    -0x2c(%ebp),%eax
44a8b9:	83 ce 04             	or     $0x4,%esi
44a8bc:	50                   	push   %eax
44a8bd:	57                   	push   %edi
44a8be:	e8 bd 62 00 00       	call   0x450b80
44a8c3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44a8c6:	8b f8                	mov    %eax,%edi
44a8c8:	8b 45 d4             	mov    -0x2c(%ebp),%eax
44a8cb:	83 c4 08             	add    $0x8,%esp
44a8ce:	89 41 18             	mov    %eax,0x18(%ecx)
44a8d1:	85 ff                	test   %edi,%edi
44a8d3:	0f 85 48 ff ff ff    	jne    0x44a821
44a8d9:	33 ff                	xor    %edi,%edi
44a8db:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a8de:	09 70 08             	or     %esi,0x8(%eax)
44a8e1:	8b c7                	mov    %edi,%eax
44a8e3:	5f                   	pop    %edi
44a8e4:	5e                   	pop    %esi
44a8e5:	5b                   	pop    %ebx
44a8e6:	8b e5                	mov    %ebp,%esp
44a8e8:	5d                   	pop    %ebp
44a8e9:	c2 08 00             	ret    $0x8
44a8ec:	80 fb 10             	cmp    $0x10,%bl
44a8ef:	0f 85 a6 00 00 00    	jne    0x44a99b
44a8f5:	0f b6 17             	movzbl (%edi),%edx
44a8f8:	83 ce 02             	or     $0x2,%esi
44a8fb:	84 d2                	test   %dl,%dl
44a8fd:	78 09                	js     0x44a908
44a8ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a902:	47                   	inc    %edi
44a903:	89 50 14             	mov    %edx,0x14(%eax)
44a906:	eb c9                	jmp    0x44a8d1
44a908:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
44a90c:	83 c2 80             	add    $0xffffff80,%edx
44a90f:	8b c1                	mov    %ecx,%eax
44a911:	c1 e0 07             	shl    $0x7,%eax
44a914:	03 d0                	add    %eax,%edx
44a916:	84 c9                	test   %cl,%cl
44a918:	78 0b                	js     0x44a925
44a91a:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a91d:	83 c7 02             	add    $0x2,%edi
44a920:	89 50 14             	mov    %edx,0x14(%eax)
44a923:	eb ac                	jmp    0x44a8d1
44a925:	52                   	push   %edx
44a926:	8d 45 e4             	lea    -0x1c(%ebp),%eax
44a929:	57                   	push   %edi
44a92a:	50                   	push   %eax
44a92b:	e8 30 51 01 00       	call   0x45fa60
44a930:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a933:	83 c4 0c             	add    $0xc,%esp
44a936:	8b 55 e8             	mov    -0x18(%ebp),%edx
44a939:	8b 7d e4             	mov    -0x1c(%ebp),%edi
44a93c:	89 50 14             	mov    %edx,0x14(%eax)
44a93f:	eb 90                	jmp    0x44a8d1
44a941:	80 fb 08             	cmp    $0x8,%bl
44a944:	75 55                	jne    0x44a99b
44a946:	0f b6 17             	movzbl (%edi),%edx
44a949:	83 ce 01             	or     $0x1,%esi
44a94c:	84 d2                	test   %dl,%dl
44a94e:	78 0c                	js     0x44a95c
44a950:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a953:	47                   	inc    %edi
44a954:	89 50 10             	mov    %edx,0x10(%eax)
44a957:	e9 75 ff ff ff       	jmp    0x44a8d1
44a95c:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
44a960:	83 c2 80             	add    $0xffffff80,%edx
44a963:	8b c1                	mov    %ecx,%eax
44a965:	c1 e0 07             	shl    $0x7,%eax
44a968:	03 d0                	add    %eax,%edx
44a96a:	84 c9                	test   %cl,%cl
44a96c:	78 0e                	js     0x44a97c
44a96e:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a971:	83 c7 02             	add    $0x2,%edi
44a974:	89 50 10             	mov    %edx,0x10(%eax)
44a977:	e9 55 ff ff ff       	jmp    0x44a8d1
44a97c:	52                   	push   %edx
44a97d:	8d 45 dc             	lea    -0x24(%ebp),%eax
44a980:	57                   	push   %edi
44a981:	50                   	push   %eax
44a982:	e8 d9 50 01 00       	call   0x45fa60
44a987:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a98a:	83 c4 0c             	add    $0xc,%esp
44a98d:	8b 55 e0             	mov    -0x20(%ebp),%edx
44a990:	8b 7d dc             	mov    -0x24(%ebp),%edi
44a993:	89 50 10             	mov    %edx,0x10(%eax)
44a996:	e9 36 ff ff ff       	jmp    0x44a8d1
44a99b:	8b c3                	mov    %ebx,%eax
44a99d:	24 07                	and    $0x7,%al
44a99f:	3c 04                	cmp    $0x4,%al
44a9a1:	74 5b                	je     0x44a9fe
44a9a3:	85 db                	test   %ebx,%ebx
44a9a5:	74 57                	je     0x44a9fe
44a9a7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44a9aa:	83 c1 04             	add    $0x4,%ecx
44a9ad:	f6 01 01             	testb  $0x1,(%ecx)
44a9b0:	74 0a                	je     0x44a9bc
44a9b2:	8b 01                	mov    (%ecx),%eax
44a9b4:	83 e0 fc             	and    $0xfffffffc,%eax
44a9b7:	83 c0 04             	add    $0x4,%eax
44a9ba:	eb 05                	jmp    0x44a9c1
44a9bc:	e8 6f 62 00 00       	call   0x450c30
44a9c1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44a9c4:	51                   	push   %ecx
44a9c5:	57                   	push   %edi
44a9c6:	50                   	push   %eax
44a9c7:	6a 00                	push   $0x0
44a9c9:	53                   	push   %ebx
44a9ca:	e8 e1 65 01 00       	call   0x460fb0
44a9cf:	83 c4 14             	add    $0x14,%esp
44a9d2:	8b f8                	mov    %eax,%edi
44a9d4:	e9 f8 fe ff ff       	jmp    0x44a8d1
44a9d9:	85 c0                	test   %eax,%eax
44a9db:	0f 8e fa fe ff ff    	jle    0x44a8db
44a9e1:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
44a9e5:	0f 85 f0 fe ff ff    	jne    0x44a8db
44a9eb:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a9ee:	33 ff                	xor    %edi,%edi
44a9f0:	09 70 08             	or     %esi,0x8(%eax)
44a9f3:	8b c7                	mov    %edi,%eax
44a9f5:	5f                   	pop    %edi
44a9f6:	5e                   	pop    %esi
44a9f7:	5b                   	pop    %ebx
44a9f8:	8b e5                	mov    %ebp,%esp
44a9fa:	5d                   	pop    %ebp
44a9fb:	c2 08 00             	ret    $0x8
44a9fe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44aa01:	8d 43 ff             	lea    -0x1(%ebx),%eax
44aa04:	89 41 3c             	mov    %eax,0x3c(%ecx)
44aa07:	8b 45 fc             	mov    -0x4(%ebp),%eax
44aa0a:	09 70 08             	or     %esi,0x8(%eax)
44aa0d:	8b c7                	mov    %edi,%eax
44aa0f:	5f                   	pop    %edi
44aa10:	5e                   	pop    %esi
44aa11:	5b                   	pop    %ebx
44aa12:	8b e5                	mov    %ebp,%esp
44aa14:	5d                   	pop    %ebp
44aa15:	c2 08 00             	ret    $0x8
44aa18:	cc                   	int3
44aa19:	cc                   	int3
44aa1a:	cc                   	int3
44aa1b:	cc                   	int3
44aa1c:	cc                   	int3
44aa1d:	cc                   	int3
44aa1e:	cc                   	int3
44aa1f:	cc                   	int3
44aa20:	55                   	push   %ebp
44aa21:	8b ec                	mov    %esp,%ebp
44aa23:	51                   	push   %ecx
44aa24:	53                   	push   %ebx
44aa25:	8b d9                	mov    %ecx,%ebx
44aa27:	56                   	push   %esi
44aa28:	57                   	push   %edi
44aa29:	8b 7d 0c             	mov    0xc(%ebp),%edi
44aa2c:	8b 43 08             	mov    0x8(%ebx),%eax
44aa2f:	89 45 fc             	mov    %eax,-0x4(%ebp)
44aa32:	a8 01                	test   $0x1,%al
44aa34:	74 2b                	je     0x44aa61
44aa36:	8b 45 08             	mov    0x8(%ebp),%eax
44aa39:	3b 07                	cmp    (%edi),%eax
44aa3b:	72 08                	jb     0x44aa45
44aa3d:	50                   	push   %eax
44aa3e:	8b cf                	mov    %edi,%ecx
44aa40:	e8 2b eb 00 00       	call   0x459570
44aa45:	8b 73 10             	mov    0x10(%ebx),%esi
44aa48:	50                   	push   %eax
44aa49:	6a 08                	push   $0x8
44aa4b:	e8 70 60 00 00       	call   0x450ac0
44aa50:	50                   	push   %eax
44aa51:	56                   	push   %esi
44aa52:	e8 69 60 00 00       	call   0x450ac0
44aa57:	8b c8                	mov    %eax,%ecx
44aa59:	83 c4 10             	add    $0x10,%esp
44aa5c:	8b 45 fc             	mov    -0x4(%ebp),%eax
44aa5f:	eb 03                	jmp    0x44aa64
44aa61:	8b 4d 08             	mov    0x8(%ebp),%ecx
44aa64:	a8 02                	test   $0x2,%al
44aa66:	74 28                	je     0x44aa90
44aa68:	3b 0f                	cmp    (%edi),%ecx
44aa6a:	72 0a                	jb     0x44aa76
44aa6c:	51                   	push   %ecx
44aa6d:	8b cf                	mov    %edi,%ecx
44aa6f:	e8 fc ea 00 00       	call   0x459570
44aa74:	8b c8                	mov    %eax,%ecx
44aa76:	8b 73 14             	mov    0x14(%ebx),%esi
44aa79:	51                   	push   %ecx
44aa7a:	6a 10                	push   $0x10
44aa7c:	e8 3f 60 00 00       	call   0x450ac0
44aa81:	50                   	push   %eax
44aa82:	56                   	push   %esi
44aa83:	e8 38 60 00 00       	call   0x450ac0
44aa88:	8b c8                	mov    %eax,%ecx
44aa8a:	83 c4 10             	add    $0x10,%esp
44aa8d:	8b 45 fc             	mov    -0x4(%ebp),%eax
44aa90:	a8 04                	test   $0x4,%al
44aa92:	74 29                	je     0x44aabd
44aa94:	3b 0f                	cmp    (%edi),%ecx
44aa96:	72 0a                	jb     0x44aaa2
44aa98:	51                   	push   %ecx
44aa99:	8b cf                	mov    %edi,%ecx
44aa9b:	e8 d0 ea 00 00       	call   0x459570
44aaa0:	8b c8                	mov    %eax,%ecx
44aaa2:	8b 73 18             	mov    0x18(%ebx),%esi
44aaa5:	51                   	push   %ecx
44aaa6:	6a 18                	push   $0x18
44aaa8:	e8 13 60 00 00       	call   0x450ac0
44aaad:	50                   	push   %eax
44aaae:	8b c6                	mov    %esi,%eax
44aab0:	99                   	cltd
44aab1:	52                   	push   %edx
44aab2:	50                   	push   %eax
44aab3:	e8 18 71 00 00       	call   0x451bd0
44aab8:	83 c4 14             	add    $0x14,%esp
44aabb:	8b c8                	mov    %eax,%ecx
44aabd:	f6 43 04 01          	testb  $0x1,0x4(%ebx)
44aac1:	74 1d                	je     0x44aae0
44aac3:	8b 43 04             	mov    0x4(%ebx),%eax
44aac6:	83 e0 fc             	and    $0xfffffffc,%eax
44aac9:	57                   	push   %edi
44aaca:	83 c0 04             	add    $0x4,%eax
44aacd:	51                   	push   %ecx
44aace:	50                   	push   %eax
44aacf:	e8 6c 7a 02 00       	call   0x472540
44aad4:	83 c4 0c             	add    $0xc,%esp
44aad7:	5f                   	pop    %edi
44aad8:	5e                   	pop    %esi
44aad9:	5b                   	pop    %ebx
44aada:	8b e5                	mov    %ebp,%esp
44aadc:	5d                   	pop    %ebp
44aadd:	c2 08 00             	ret    $0x8
44aae0:	5f                   	pop    %edi
44aae1:	5e                   	pop    %esi
44aae2:	8b c1                	mov    %ecx,%eax
44aae4:	5b                   	pop    %ebx
44aae5:	8b e5                	mov    %ebp,%esp
44aae7:	5d                   	pop    %ebp
44aae8:	c2 08 00             	ret    $0x8
44aaeb:	cc                   	int3
44aaec:	cc                   	int3
44aaed:	cc                   	int3
44aaee:	cc                   	int3
44aaef:	cc                   	int3
44aaf0:	55                   	push   %ebp
44aaf1:	8b ec                	mov    %esp,%ebp
44aaf3:	6a 00                	push   $0x0
44aaf5:	68 18 d0 68 00       	push   $0x68d018
44aafa:	e8 81 88 01 00       	call   0x463380
44aaff:	a1 44 d0 68 00       	mov    0x68d044,%eax
44ab04:	83 c4 08             	add    $0x8,%esp
44ab07:	8b 48 28             	mov    0x28(%eax),%ecx
44ab0a:	8b 50 2c             	mov    0x2c(%eax),%edx
44ab0d:	8b 45 08             	mov    0x8(%ebp),%eax
44ab10:	89 08                	mov    %ecx,(%eax)
44ab12:	89 50 04             	mov    %edx,0x4(%eax)
44ab15:	5d                   	pop    %ebp
44ab16:	c2 04 00             	ret    $0x4
44ab19:	cc                   	int3
44ab1a:	cc                   	int3
44ab1b:	cc                   	int3
44ab1c:	cc                   	int3
44ab1d:	cc                   	int3
44ab1e:	cc                   	int3
44ab1f:	cc                   	int3
44ab20:	55                   	push   %ebp
44ab21:	8b ec                	mov    %esp,%ebp
44ab23:	51                   	push   %ecx
44ab24:	56                   	push   %esi
44ab25:	8b f1                	mov    %ecx,%esi
44ab27:	8d 4e 04             	lea    0x4(%esi),%ecx
44ab2a:	c7 06 78 41 60 00    	movl   $0x604178,(%esi)
44ab30:	f6 01 01             	testb  $0x1,(%ecx)
44ab33:	74 22                	je     0x44ab57
44ab35:	8b 11                	mov    (%ecx),%edx
44ab37:	f6 c2 03             	test   $0x3,%dl
44ab3a:	75 05                	jne    0x44ab41
44ab3c:	83 e2 fc             	and    $0xfffffffc,%edx
44ab3f:	eb 0d                	jmp    0x44ab4e
44ab41:	8b c2                	mov    %edx,%eax
44ab43:	d1 e8                	shr    $1,%eax
44ab45:	a8 01                	test   $0x1,%al
44ab47:	75 09                	jne    0x44ab52
44ab49:	83 e2 fc             	and    $0xfffffffc,%edx
44ab4c:	8b 12                	mov    (%edx),%edx
44ab4e:	85 d2                	test   %edx,%edx
44ab50:	75 05                	jne    0x44ab57
44ab52:	e8 39 5b 00 00       	call   0x450690
44ab57:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
44ab5b:	74 0b                	je     0x44ab68
44ab5d:	6a 1c                	push   $0x1c
44ab5f:	56                   	push   %esi
44ab60:	e8 f0 66 18 00       	call   0x5d1255
44ab65:	83 c4 08             	add    $0x8,%esp
44ab68:	8b c6                	mov    %esi,%eax
44ab6a:	5e                   	pop    %esi
44ab6b:	8b e5                	mov    %ebp,%esp
44ab6d:	5d                   	pop    %ebp
44ab6e:	c2 04 00             	ret    $0x4
44ab71:	cc                   	int3
44ab72:	cc                   	int3
44ab73:	cc                   	int3
44ab74:	cc                   	int3
44ab75:	cc                   	int3
44ab76:	cc                   	int3
44ab77:	cc                   	int3
44ab78:	cc                   	int3
44ab79:	cc                   	int3
44ab7a:	cc                   	int3
44ab7b:	cc                   	int3
44ab7c:	cc                   	int3
44ab7d:	cc                   	int3
44ab7e:	cc                   	int3
44ab7f:	cc                   	int3
44ab80:	6a 00                	push   $0x0
44ab82:	e8 b9 59 00 00       	call   0x450540