457889:	00 02                	add    %al,(%edx)
45788b:	00 07                	add    %al,(%edi)
45788d:	49                   	dec    %ecx
45788e:	6d                   	insl   (%dx),%es:(%edi)
45788f:	67 4c                	addr16 dec %esp
457891:	69 73 74 00 00 8b c0 	imul   $0xc08b0000,0x74(%ebx),%esi
457898:	e8 cb c2 fc ff       	call   0x423b68
45789d:	8b d0                	mov    %eax,%edx
45789f:	81 ea ff ff ff 1f    	sub    $0x1fffffff,%edx
4578a5:	74 05                	je     0x4578ac
4578a7:	4a                   	dec    %edx
4578a8:	74 06                	je     0x4578b0
4578aa:	eb 09                	jmp    0x4578b5
4578ac:	83 c8 ff             	or     $0xffffffff,%eax
4578af:	c3                   	ret
4578b0:	b8 00 00 00 ff       	mov    $0xff000000,%eax
4578b5:	c3                   	ret
4578b6:	8b c0                	mov    %eax,%eax
4578b8:	8b d0                	mov    %eax,%edx
4578ba:	81 ea 00 00 00 ff    	sub    $0xff000000,%edx
4578c0:	74 0e                	je     0x4578d0
4578c2:	81 ea ff ff ff 00    	sub    $0xffffff,%edx
4578c8:	75 0b                	jne    0x4578d5
4578ca:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
4578cf:	c3                   	ret
4578d0:	b8 00 00 00 20       	mov    $0x20000000,%eax
4578d5:	c3                   	ret
4578d6:	8b c0                	mov    %eax,%eax
4578d8:	53                   	push   %ebx
4578d9:	56                   	push   %esi
4578da:	84 d2                	test   %dl,%dl
4578dc:	74 08                	je     0x4578e6
4578de:	83 c4 f0             	add    $0xfffffff0,%esp
4578e1:	e8 5a c3 fa ff       	call   0x403c40
4578e6:	8b da                	mov    %edx,%ebx
4578e8:	8b f0                	mov    %eax,%esi
4578ea:	33 d2                	xor    %edx,%edx
4578ec:	8b c6                	mov    %esi,%eax
4578ee:	e8 1d 6f fc ff       	call   0x41e810
4578f3:	c7 46 34 10 00 00 00 	movl   $0x10,0x34(%esi)
4578fa:	c7 46 30 10 00 00 00 	movl   $0x10,0x30(%esi)
457901:	8b c6                	mov    %esi,%eax
457903:	8b 10                	mov    (%eax),%edx
457905:	ff 52 34             	call   *0x34(%edx)
457908:	8b c6                	mov    %esi,%eax
45790a:	84 db                	test   %bl,%bl
45790c:	74 0f                	je     0x45791d
45790e:	e8 85 c3 fa ff       	call   0x403c98
457913:	64 8f 05 00 00 00 00 	pop    %fs:0x0
45791a:	83 c4 0c             	add    $0xc,%esp
45791d:	8b c6                	mov    %esi,%eax
45791f:	5e                   	pop    %esi
457920:	5b                   	pop    %ebx
457921:	c3                   	ret
457922:	8b c0                	mov    %eax,%eax
457924:	53                   	push   %ebx
457925:	56                   	push   %esi
457926:	57                   	push   %edi
457927:	e8 bc c3 fa ff       	call   0x403ce8
45792c:	8b da                	mov    %edx,%ebx
45792e:	8b f8                	mov    %eax,%edi
457930:	eb 10                	jmp    0x457942
457932:	8b c6                	mov    %esi,%eax
457934:	e8 87 09 fc ff       	call   0x4182c0
457939:	8b d0                	mov    %eax,%edx
45793b:	8b c7                	mov    %edi,%eax
45793d:	e8 de 0b 00 00       	call   0x458520
457942:	8b 77 4c             	mov    0x4c(%edi),%esi
457945:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
457949:	7f e7                	jg     0x457932
45794b:	8b 47 50             	mov    0x50(%edi),%eax
45794e:	e8 c9 bf fa ff       	call   0x40391c
457953:	8b c7                	mov    %edi,%eax
457955:	e8 8e 02 00 00       	call   0x457be8
45795a:	8b 47 4c             	mov    0x4c(%edi),%eax
45795d:	e8 ba bf fa ff       	call   0x40391c
457962:	33 c0                	xor    %eax,%eax
457964:	89 47 4c             	mov    %eax,0x4c(%edi)
457967:	8b 47 54             	mov    0x54(%edi),%eax
45796a:	85 c0                	test   %eax,%eax
45796c:	74 05                	je     0x457973
45796e:	e8 a9 bf fa ff       	call   0x40391c
457973:	8b d3                	mov    %ebx,%edx
457975:	80 e2 fc             	and    $0xfc,%dl
457978:	8b c7                	mov    %edi,%eax
45797a:	e8 dd 6e fc ff       	call   0x41e85c
45797f:	84 db                	test   %bl,%bl
457981:	7e 07                	jle    0x45798a
457983:	8b c7                	mov    %edi,%eax
457985:	e8 06 c3 fa ff       	call   0x403c90
45798a:	5f                   	pop    %edi
45798b:	5e                   	pop    %esi
45798c:	5b                   	pop    %ebx
45798d:	c3                   	ret
45798e:	8b c0                	mov    %eax,%eax
457990:	55                   	push   %ebp
457991:	8b ec                	mov    %esp,%ebp
457993:	6a 00                	push   $0x0
457995:	53                   	push   %ebx
457996:	8b d8                	mov    %eax,%ebx
457998:	33 c0                	xor    %eax,%eax
45799a:	55                   	push   %ebp
45799b:	68 3d 7a 45 00       	push   $0x457a3d
4579a0:	64 ff 30             	push   %fs:(%eax)
4579a3:	64 89 20             	mov    %esp,%fs:(%eax)
4579a6:	b2 01                	mov    $0x1,%dl
4579a8:	a1 a0 5c 41 00       	mov    0x415ca0,%eax
4579ad:	e8 3a bf fa ff       	call   0x4038ec
4579b2:	89 43 4c             	mov    %eax,0x4c(%ebx)
4579b5:	8b 43 30             	mov    0x30(%ebx),%eax
4579b8:	83 f8 01             	cmp    $0x1,%eax
4579bb:	7c 0d                	jl     0x4579ca
4579bd:	3d 00 80 00 00       	cmp    $0x8000,%eax
4579c2:	7f 06                	jg     0x4579ca
4579c4:	83 7b 34 01          	cmpl   $0x1,0x34(%ebx)
4579c8:	7d 21                	jge    0x4579eb
4579ca:	8d 55 fc             	lea    -0x4(%ebp),%edx
4579cd:	a1 d0 74 4a 00       	mov    0x4a74d0,%eax
4579d2:	e8 9d ec fa ff       	call   0x406674
4579d7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4579da:	b2 01                	mov    $0x1,%dl
4579dc:	a1 40 5c 41 00       	mov    0x415c40,%eax
4579e1:	e8 2a 4a fb ff       	call   0x40c410
4579e6:	e8 a5 c7 fa ff       	call   0x404190
4579eb:	c7 43 38 04 00 00 00 	movl   $0x4,0x38(%ebx)
4579f2:	c6 43 41 01          	movb   $0x1,0x41(%ebx)
4579f6:	b2 02                	mov    $0x2,%dl
4579f8:	8b c3                	mov    %ebx,%eax
4579fa:	e8 a9 0a 00 00       	call   0x4584a8
4579ff:	c6 43 43 00          	movb   $0x0,0x43(%ebx)
457a03:	c7 43 44 ff ff ff 1f 	movl   $0x1fffffff,0x44(%ebx)
457a0a:	c7 43 48 ff ff ff 1f 	movl   $0x1fffffff,0x48(%ebx)
457a11:	b2 01                	mov    $0x1,%dl
457a13:	a1 d4 2f 42 00       	mov    0x422fd4,%eax
457a18:	e8 6b 1c fd ff       	call   0x429688
457a1d:	89 43 50             	mov    %eax,0x50(%ebx)
457a20:	8b c3                	mov    %ebx,%eax
457a22:	e8 35 00 00 00       	call   0x457a5c
457a27:	33 c0                	xor    %eax,%eax
457a29:	5a                   	pop    %edx
457a2a:	59                   	pop    %ecx
457a2b:	59                   	pop    %ecx
457a2c:	64 89 10             	mov    %edx,%fs:(%eax)
457a2f:	68 44 7a 45 00       	push   $0x457a44
457a34:	8d 45 fc             	lea    -0x4(%ebp),%eax
457a37:	e8 0c cd fa ff       	call   0x404748
457a3c:	c3                   	ret
457a3d:	e9 6e c6 fa ff       	jmp    0x4040b0
457a42:	eb f0                	jmp    0x457a34
457a44:	5b                   	pop    %ebx
457a45:	59                   	pop    %ecx
457a46:	5d                   	pop    %ebp
457a47:	c3                   	ret
457a48:	83 78 3c 00          	cmpl   $0x0,0x3c(%eax)
457a4c:	0f 95 c0             	setne  %al
457a4f:	c3                   	ret
457a50:	83 78 3c 00          	cmpl   $0x0,0x3c(%eax)
457a54:	75 05                	jne    0x457a5b
457a56:	e8 c5 01 00 00       	call   0x457c20
457a5b:	c3                   	ret
457a5c:	55                   	push   %ebp
457a5d:	8b ec                	mov    %esp,%ebp
457a5f:	83 c4 e8             	add    $0xffffffe8,%esp
457a62:	53                   	push   %ebx
457a63:	89 45 fc             	mov    %eax,-0x4(%ebp)
457a66:	6a 00                	push   $0x0
457a68:	e8 13 f5 fa ff       	call   0x406f80
457a6d:	89 45 f8             	mov    %eax,-0x8(%ebp)
457a70:	33 c0                	xor    %eax,%eax
457a72:	55                   	push   %ebp
457a73:	68 fd 7a 45 00       	push   $0x457afd
457a78:	64 ff 30             	push   %fs:(%eax)
457a7b:	64 89 20             	mov    %esp,%fs:(%eax)
457a7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
457a81:	8b 58 50             	mov    0x50(%eax),%ebx
457a84:	8b 45 fc             	mov    -0x4(%ebp),%eax
457a87:	8b 40 30             	mov    0x30(%eax),%eax
457a8a:	50                   	push   %eax
457a8b:	8b 45 fc             	mov    -0x4(%ebp),%eax
457a8e:	8b 40 34             	mov    0x34(%eax),%eax
457a91:	50                   	push   %eax
457a92:	8b 45 f8             	mov    -0x8(%ebp),%eax
457a95:	50                   	push   %eax
457a96:	e8 15 f1 fa ff       	call   0x406bb0
457a9b:	8b d0                	mov    %eax,%edx
457a9d:	8b c3                	mov    %ebx,%eax
457a9f:	e8 e0 2c fd ff       	call   0x42a784
457aa4:	8b c3                	mov    %ebx,%eax
457aa6:	e8 b1 21 fd ff       	call   0x429c5c
457aab:	8b 40 14             	mov    0x14(%eax),%eax
457aae:	33 d2                	xor    %edx,%edx
457ab0:	e8 3b ce fc ff       	call   0x4248f0
457ab5:	8b c3                	mov    %ebx,%eax
457ab7:	8b 10                	mov    (%eax),%edx
457ab9:	ff 52 20             	call   *0x20(%edx)
457abc:	50                   	push   %eax
457abd:	8d 45 e8             	lea    -0x18(%ebp),%eax
457ac0:	50                   	push   %eax
457ac1:	8b c3                	mov    %ebx,%eax
457ac3:	8b 10                	mov    (%eax),%edx
457ac5:	ff 52 2c             	call   *0x2c(%edx)
457ac8:	8b c8                	mov    %eax,%ecx
457aca:	33 d2                	xor    %edx,%edx
457acc:	33 c0                	xor    %eax,%eax
457ace:	e8 ad f2 fb ff       	call   0x416d80
457ad3:	8d 45 e8             	lea    -0x18(%ebp),%eax
457ad6:	50                   	push   %eax
457ad7:	8b c3                	mov    %ebx,%eax
457ad9:	e8 7e 21 fd ff       	call   0x429c5c
457ade:	5a                   	pop    %edx
457adf:	e8 b0 d1 fc ff       	call   0x424c94
457ae4:	33 c0                	xor    %eax,%eax
457ae6:	5a                   	pop    %edx
457ae7:	59                   	pop    %ecx
457ae8:	59                   	pop    %ecx
457ae9:	64 89 10             	mov    %edx,%fs:(%eax)
457aec:	68 04 7b 45 00       	push   $0x457b04
457af1:	8b 45 f8             	mov    -0x8(%ebp),%eax
457af4:	50                   	push   %eax
457af5:	6a 00                	push   $0x0
457af7:	e8 0c f7 fa ff       	call   0x407208
457afc:	c3                   	ret
457afd:	e9 ae c5 fa ff       	jmp    0x4040b0
457b02:	eb ed                	jmp    0x457af1
457b04:	8b 45 fc             	mov    -0x4(%ebp),%eax
457b07:	8b 40 54             	mov    0x54(%eax),%eax
457b0a:	85 c0                	test   %eax,%eax
457b0c:	74 0d                	je     0x457b1b
457b0e:	e8 09 be fa ff       	call   0x40391c
457b13:	8b 45 fc             	mov    -0x4(%ebp),%eax
457b16:	33 d2                	xor    %edx,%edx
457b18:	89 50 54             	mov    %edx,0x54(%eax)
457b1b:	5b                   	pop    %ebx
457b1c:	8b e5                	mov    %ebp,%esp
457b1e:	5d                   	pop    %ebp
457b1f:	c3                   	ret
457b20:	53                   	push   %ebx
457b21:	83 c4 f8             	add    $0xfffffff8,%esp
457b24:	8b d8                	mov    %eax,%ebx
457b26:	8b 43 34             	mov    0x34(%ebx),%eax
457b29:	89 44 24 04          	mov    %eax,0x4(%esp)
457b2d:	8b 43 30             	mov    0x30(%ebx),%eax
457b30:	89 04 24             	mov    %eax,(%esp)
457b33:	54                   	push   %esp
457b34:	8d 44 24 08          	lea    0x8(%esp),%eax
457b38:	50                   	push   %eax
457b39:	52                   	push   %edx
457b3a:	e8 15 9c fc ff       	call   0x421754
457b3f:	8b 44 24 04          	mov    0x4(%esp),%eax
457b43:	89 43 34             	mov    %eax,0x34(%ebx)
457b46:	8b 04 24             	mov    (%esp),%eax
457b49:	89 43 30             	mov    %eax,0x30(%ebx)
457b4c:	8b c3                	mov    %ebx,%eax
457b4e:	e8 09 ff ff ff       	call   0x457a5c
457b53:	59                   	pop    %ecx
457b54:	5a                   	pop    %edx
457b55:	5b                   	pop    %ebx
457b56:	c3                   	ret
457b57:	90                   	nop
457b58:	53                   	push   %ebx
457b59:	56                   	push   %esi
457b5a:	8b f2                	mov    %edx,%esi
457b5c:	8b d8                	mov    %eax,%ebx
457b5e:	8b c3                	mov    %ebx,%eax
457b60:	e8 83 00 00 00       	call   0x457be8
457b65:	85 f6                	test   %esi,%esi
457b67:	74 17                	je     0x457b80
457b69:	8b d6                	mov    %esi,%edx
457b6b:	8b c3                	mov    %ebx,%eax
457b6d:	e8 ae ff ff ff       	call   0x457b20
457b72:	89 73 3c             	mov    %esi,0x3c(%ebx)
457b75:	8b c3                	mov    %ebx,%eax
457b77:	66 be ef ff          	mov    $0xffef,%si
457b7b:	e8 98 bf fa ff       	call   0x403b18
457b80:	5e                   	pop    %esi
457b81:	5b                   	pop    %ebx
457b82:	c3                   	ret
457b83:	90                   	nop
457b84:	53                   	push   %ebx
457b85:	8b d8                	mov    %eax,%ebx
457b87:	8b c3                	mov    %ebx,%eax
457b89:	e8 c2 fe ff ff       	call   0x457a50
457b8e:	8b 43 3c             	mov    0x3c(%ebx),%eax
457b91:	5b                   	pop    %ebx
457b92:	c3                   	ret
457b93:	90                   	nop
457b94:	53                   	push   %ebx
457b95:	56                   	push   %esi
457b96:	57                   	push   %edi
457b97:	8b f9                	mov    %ecx,%edi
457b99:	8b f2                	mov    %edx,%esi
457b9b:	8b d8                	mov    %eax,%ebx
457b9d:	8b d6                	mov    %esi,%edx
457b9f:	8b c3                	mov    %ebx,%eax
457ba1:	e8 8a 08 00 00       	call   0x458430
457ba6:	85 f6                	test   %esi,%esi
457ba8:	74 2f                	je     0x457bd9
457baa:	8b c6                	mov    %esi,%eax
457bac:	e8 17 21 fd ff       	call   0x429cc8
457bb1:	3c 01                	cmp    $0x1,%al
457bb3:	75 09                	jne    0x457bbe
457bb5:	8b c6                	mov    %esi,%eax
457bb7:	8b 10                	mov    (%eax),%edx
457bb9:	ff 52 68             	call   *0x68(%edx)
457bbc:	eb 23                	jmp    0x457be1
457bbe:	8b d6                	mov    %esi,%edx
457bc0:	8b c7                	mov    %edi,%eax
457bc2:	8b 08                	mov    (%eax),%ecx
457bc4:	ff 51 08             	call   *0x8(%ecx)
457bc7:	b2 01                	mov    $0x1,%dl
457bc9:	8b c7                	mov    %edi,%eax
457bcb:	8b 08                	mov    (%eax),%ecx
457bcd:	ff 51 70             	call   *0x70(%ecx)
457bd0:	8b c7                	mov    %edi,%eax
457bd2:	8b 10                	mov    (%eax),%edx
457bd4:	ff 52 68             	call   *0x68(%edx)
457bd7:	eb 08                	jmp    0x457be1
457bd9:	8b 43 50             	mov    0x50(%ebx),%eax
457bdc:	8b 10                	mov    (%eax),%edx
457bde:	ff 52 68             	call   *0x68(%edx)
457be1:	5f                   	pop    %edi
457be2:	5e                   	pop    %esi
457be3:	5b                   	pop    %ebx
457be4:	c3                   	ret
457be5:	8d 40 00             	lea    0x0(%eax),%eax
457be8:	53                   	push   %ebx
457be9:	56                   	push   %esi
457bea:	8b d8                	mov    %eax,%ebx
457bec:	8b c3                	mov    %ebx,%eax
457bee:	e8 55 fe ff ff       	call   0x457a48
457bf3:	84 c0                	test   %al,%al
457bf5:	74 13                	je     0x457c0a
457bf7:	80 7b 42 00          	cmpb   $0x0,0x42(%ebx)
457bfb:	75 0d                	jne    0x457c0a
457bfd:	8b c3                	mov    %ebx,%eax
457bff:	e8 80 ff ff ff       	call   0x457b84
457c04:	50                   	push   %eax
457c05:	e8 ca 9a fc ff       	call   0x4216d4
457c0a:	33 c0                	xor    %eax,%eax
457c0c:	89 43 3c             	mov    %eax,0x3c(%ebx)
457c0f:	8b c3                	mov    %ebx,%eax
457c11:	66 be ef ff          	mov    $0xffef,%si
457c15:	e8 fe be fa ff       	call   0x403b18
457c1a:	5e                   	pop    %esi
457c1b:	5b                   	pop    %ebx
457c1c:	c3                   	ret
457c1d:	8d 40 00             	lea    0x0(%eax),%eax
457c20:	55                   	push   %ebp
457c21:	8b ec                	mov    %esp,%ebp
457c23:	6a 00                	push   $0x0