415c43:	5f                   	pop    %edi
415c44:	5e                   	pop    %esi
415c45:	5b                   	pop    %ebx
415c46:	c3                   	ret
415c47:	90                   	nop
415c48:	53                   	push   %ebx
415c49:	56                   	push   %esi
415c4a:	57                   	push   %edi
415c4b:	8b d9                	mov    %ecx,%ebx
415c4d:	8b fa                	mov    %edx,%edi
415c4f:	8b f0                	mov    %eax,%esi
415c51:	85 db                	test   %ebx,%ebx
415c53:	74 26                	je     0x415c7b
415c55:	8b d7                	mov    %edi,%edx
415c57:	8b cb                	mov    %ebx,%ecx
415c59:	8b c6                	mov    %esi,%eax
415c5b:	8b 30                	mov    (%eax),%esi
415c5d:	ff 56 10             	call   *0x10(%esi)
415c60:	3b d8                	cmp    %eax,%ebx
415c62:	74 17                	je     0x415c7b
415c64:	8b 0d 8c 7e 46 00    	mov    0x467e8c,%ecx
415c6a:	b2 01                	mov    $0x1,%dl
415c6c:	a1 ec 16 41 00       	mov    0x4116ec,%eax
415c71:	e8 a6 5b ff ff       	call   0x40b81c
415c76:	e8 7d dd fe ff       	call   0x4039f8
415c7b:	5f                   	pop    %edi
415c7c:	5e                   	pop    %esi
415c7d:	5b                   	pop    %ebx
415c7e:	c3                   	ret
415c7f:	90                   	nop
415c80:	55                   	push   %ebp
415c81:	8b ec                	mov    %esp,%ebp
415c83:	83 c4 e8             	add    $0xffffffe8,%esp
415c86:	53                   	push   %ebx
415c87:	56                   	push   %esi
415c88:	57                   	push   %edi
415c89:	8b fa                	mov    %edx,%edi
415c8b:	89 45 fc             	mov    %eax,-0x4(%ebp)
415c8e:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
415c92:	75 1d                	jne    0x415cb1
415c94:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
415c98:	75 17                	jne    0x415cb1
415c9a:	6a 00                	push   $0x0
415c9c:	6a 00                	push   $0x0
415c9e:	8b c7                	mov    %edi,%eax
415ca0:	e8 5f fd ff ff       	call   0x415a04
415ca5:	8b c7                	mov    %edi,%eax
415ca7:	8b 10                	mov    (%eax),%edx
415ca9:	ff 12                	call   *(%edx)
415cab:	89 45 08             	mov    %eax,0x8(%ebp)
415cae:	89 55 0c             	mov    %edx,0xc(%ebp)
415cb1:	8b 45 08             	mov    0x8(%ebp),%eax
415cb4:	89 45 f0             	mov    %eax,-0x10(%ebp)
415cb7:	8b 45 0c             	mov    0xc(%ebp),%eax
415cba:	89 45 f4             	mov    %eax,-0xc(%ebp)
415cbd:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
415cc1:	75 0b                	jne    0x415cce
415cc3:	81 7d 08 00 f0 00 00 	cmpl   $0xf000,0x8(%ebp)
415cca:	76 0d                	jbe    0x415cd9
415ccc:	eb 02                	jmp    0x415cd0
415cce:	7e 09                	jle    0x415cd9
415cd0:	c7 45 ec 00 f0 00 00 	movl   $0xf000,-0x14(%ebp)
415cd7:	eb 06                	jmp    0x415cdf
415cd9:	8b 45 08             	mov    0x8(%ebp),%eax
415cdc:	89 45 ec             	mov    %eax,-0x14(%ebp)
415cdf:	8b 45 ec             	mov    -0x14(%ebp),%eax
415ce2:	e8 d5 c9 fe ff       	call   0x4026bc
415ce7:	89 45 e8             	mov    %eax,-0x18(%ebp)
415cea:	33 c0                	xor    %eax,%eax
415cec:	55                   	push   %ebp
415ced:	68 5c 5d 41 00       	push   $0x415d5c
415cf2:	64 ff 30             	push   %fs:(%eax)
415cf5:	64 89 20             	mov    %esp,%fs:(%eax)
415cf8:	eb 3d                	jmp    0x415d37
415cfa:	8b 45 ec             	mov    -0x14(%ebp),%eax
415cfd:	99                   	cltd
415cfe:	3b 55 0c             	cmp    0xc(%ebp),%edx
415d01:	75 07                	jne    0x415d0a
415d03:	3b 45 08             	cmp    0x8(%ebp),%eax
415d06:	73 09                	jae    0x415d11
415d08:	eb 02                	jmp    0x415d0c
415d0a:	7d 05                	jge    0x415d11
415d0c:	8b 5d ec             	mov    -0x14(%ebp),%ebx
415d0f:	eb 03                	jmp    0x415d14
415d11:	8b 5d 08             	mov    0x8(%ebp),%ebx
415d14:	8b 75 e8             	mov    -0x18(%ebp),%esi
415d17:	8b d6                	mov    %esi,%edx
415d19:	8b cb                	mov    %ebx,%ecx
415d1b:	8b c7                	mov    %edi,%eax
415d1d:	e8 ee fe ff ff       	call   0x415c10
415d22:	8b d6                	mov    %esi,%edx
415d24:	8b cb                	mov    %ebx,%ecx
415d26:	8b 45 fc             	mov    -0x4(%ebp),%eax
415d29:	e8 1a ff ff ff       	call   0x415c48
415d2e:	8b c3                	mov    %ebx,%eax
415d30:	99                   	cltd
415d31:	29 45 08             	sub    %eax,0x8(%ebp)
415d34:	19 55 0c             	sbb    %edx,0xc(%ebp)
415d37:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
415d3b:	75 bd                	jne    0x415cfa
415d3d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
415d41:	75 b7                	jne    0x415cfa
415d43:	33 c0                	xor    %eax,%eax
415d45:	5a                   	pop    %edx
415d46:	59                   	pop    %ecx
415d47:	59                   	pop    %ecx
415d48:	64 89 10             	mov    %edx,%fs:(%eax)
415d4b:	68 63 5d 41 00       	push   $0x415d63
415d50:	8b 55 ec             	mov    -0x14(%ebp),%edx
415d53:	8b 45 e8             	mov    -0x18(%ebp),%eax
415d56:	e8 81 c9 fe ff       	call   0x4026dc
415d5b:	c3                   	ret
415d5c:	e9 5f dc fe ff       	jmp    0x4039c0
415d61:	eb ed                	jmp    0x415d50
415d63:	8b 45 f0             	mov    -0x10(%ebp),%eax
415d66:	8b 55 f4             	mov    -0xc(%ebp),%edx
415d69:	5f                   	pop    %edi
415d6a:	5e                   	pop    %esi
415d6b:	5b                   	pop    %ebx
415d6c:	8b e5                	mov    %ebp,%esp
415d6e:	5d                   	pop    %ebp
415d6f:	c2 08 00             	ret    $0x8
415d72:	8b c0                	mov    %eax,%eax
415d74:	55                   	push   %ebp
415d75:	8b ec                	mov    %esp,%ebp
415d77:	83 c4 f8             	add    $0xfffffff8,%esp
415d7a:	53                   	push   %ebx
415d7b:	8b da                	mov    %edx,%ebx
415d7d:	68 00 10 00 00       	push   $0x1000
415d82:	8b c8                	mov    %eax,%ecx
415d84:	b2 01                	mov    $0x1,%dl
415d86:	a1 80 24 41 00       	mov    0x412480,%eax
415d8b:	e8 68 06 00 00       	call   0x4163f8
415d90:	89 45 f8             	mov    %eax,-0x8(%ebp)
415d93:	33 c0                	xor    %eax,%eax
415d95:	55                   	push   %ebp
415d96:	68 c4 5d 41 00       	push   $0x415dc4
415d9b:	64 ff 30             	push   %fs:(%eax)
415d9e:	64 89 20             	mov    %esp,%fs:(%eax)
415da1:	8b d3                	mov    %ebx,%edx
415da3:	8b 45 f8             	mov    -0x8(%ebp),%eax
415da6:	e8 81 26 00 00       	call   0x41842c
415dab:	89 45 fc             	mov    %eax,-0x4(%ebp)
415dae:	33 c0                	xor    %eax,%eax
415db0:	5a                   	pop    %edx
415db1:	59                   	pop    %ecx
415db2:	59                   	pop    %ecx
415db3:	64 89 10             	mov    %edx,%fs:(%eax)
415db6:	68 cb 5d 41 00       	push   $0x415dcb
415dbb:	8b 45 f8             	mov    -0x8(%ebp),%eax
415dbe:	e8 a9 d4 fe ff       	call   0x40326c
415dc3:	c3                   	ret
415dc4:	e9 f7 db fe ff       	jmp    0x4039c0
415dc9:	eb f0                	jmp    0x415dbb
415dcb:	8b 45 fc             	mov    -0x4(%ebp),%eax
415dce:	5b                   	pop    %ebx
415dcf:	59                   	pop    %ecx
415dd0:	59                   	pop    %ecx
415dd1:	5d                   	pop    %ebp
415dd2:	c3                   	ret
415dd3:	90                   	nop
415dd4:	53                   	push   %ebx
415dd5:	56                   	push   %esi
415dd6:	57                   	push   %edi
415dd7:	84 d2                	test   %dl,%dl
415dd9:	74 08                	je     0x415de3
415ddb:	83 c4 f0             	add    $0xfffffff0,%esp
415dde:	e8 ad d7 fe ff       	call   0x403590
415de3:	8b f1                	mov    %ecx,%esi
415de5:	8b da                	mov    %edx,%ebx
415de7:	8b f8                	mov    %eax,%edi
415de9:	33 d2                	xor    %edx,%edx
415deb:	8b c7                	mov    %edi,%eax
415ded:	e8 4a d4 fe ff       	call   0x40323c
415df2:	89 77 04             	mov    %esi,0x4(%edi)
415df5:	8b c7                	mov    %edi,%eax
415df7:	84 db                	test   %bl,%bl
415df9:	74 0f                	je     0x415e0a
415dfb:	e8 e8 d7 fe ff       	call   0x4035e8
415e00:	64 8f 05 00 00 00 00 	pop    %fs:0x0
415e07:	83 c4 0c             	add    $0xc,%esp
415e0a:	8b c7                	mov    %edi,%eax
415e0c:	5f                   	pop    %edi
415e0d:	5e                   	pop    %esi
415e0e:	5b                   	pop    %ebx
415e0f:	c3                   	ret
415e10:	8b 40 04             	mov    0x4(%eax),%eax
415e13:	e8 50 25 ff ff       	call   0x408368
415e18:	83 f8 ff             	cmp    $0xffffffff,%eax
415e1b:	75 02                	jne    0x415e1f
415e1d:	33 c0                	xor    %eax,%eax
415e1f:	c3                   	ret
415e20:	8b 40 04             	mov    0x4(%eax),%eax
415e23:	e8 6c 25 ff ff       	call   0x408394
415e28:	83 f8 ff             	cmp    $0xffffffff,%eax
415e2b:	75 02                	jne    0x415e2f
415e2d:	33 c0                	xor    %eax,%eax
415e2f:	c3                   	ret
415e30:	55                   	push   %ebp
415e31:	8b ec                	mov    %esp,%ebp
415e33:	83 c4 f8             	add    $0xfffffff8,%esp
415e36:	ff 75 0c             	push   0xc(%ebp)
415e39:	ff 75 08             	push   0x8(%ebp)
415e3c:	83 e2 7f             	and    $0x7f,%edx
415e3f:	8b 40 04             	mov    0x4(%eax),%eax
415e42:	e8 79 25 ff ff       	call   0x4083c0
415e47:	89 45 f8             	mov    %eax,-0x8(%ebp)
415e4a:	89 55 fc             	mov    %edx,-0x4(%ebp)
415e4d:	8b 45 f8             	mov    -0x8(%ebp),%eax
415e50:	8b 55 fc             	mov    -0x4(%ebp),%edx
415e53:	59                   	pop    %ecx
415e54:	59                   	pop    %ecx
415e55:	5d                   	pop    %ebp
415e56:	c2 08 00             	ret    $0x8
415e59:	8d 40 00             	lea    0x0(%eax),%eax
415e5c:	53                   	push   %ebx
415e5d:	8b da                	mov    %edx,%ebx
415e5f:	8b c8                	mov    %eax,%ecx
415e61:	8b c3                	mov    %ebx,%eax
415e63:	99                   	cltd
415e64:	52                   	push   %edx
415e65:	50                   	push   %eax
415e66:	8b c1                	mov    %ecx,%eax
415e68:	8b 10                	mov    (%eax),%edx
415e6a:	ff 52 08             	call   *0x8(%edx)
415e6d:	5b                   	pop    %ebx
415e6e:	c3                   	ret
415e6f:	90                   	nop
415e70:	55                   	push   %ebp
415e71:	8b ec                	mov    %esp,%ebp
415e73:	53                   	push   %ebx
415e74:	8b d8                	mov    %eax,%ebx
415e76:	ff 75 0c             	push   0xc(%ebp)
415e79:	ff 75 08             	push   0x8(%ebp)
415e7c:	33 d2                	xor    %edx,%edx
415e7e:	8b c3                	mov    %ebx,%eax
415e80:	8b 08                	mov    (%eax),%ecx
415e82:	ff 51 18             	call   *0x18(%ecx)
415e85:	8b 43 04             	mov    0x4(%ebx),%eax
415e88:	50                   	push   %eax
415e89:	e8 f2 02 ff ff       	call   0x406180
415e8e:	e8 f1 6d ff ff       	call   0x40cc84
415e93:	5b                   	pop    %ebx
415e94:	5d                   	pop    %ebp
415e95:	c2 08 00             	ret    $0x8
415e98:	55                   	push   %ebp
415e99:	8b ec                	mov    %esp,%ebp
415e9b:	53                   	push   %ebx
415e9c:	56                   	push   %esi
415e9d:	84 d2                	test   %dl,%dl
415e9f:	74 08                	je     0x415ea9
415ea1:	83 c4 f0             	add    $0xfffffff0,%esp
415ea4:	e8 e7 d6 fe ff       	call   0x403590
415ea9:	8b da                	mov    %edx,%ebx
415eab:	8b f0                	mov    %eax,%esi
415ead:	66 8b 45 08          	mov    0x8(%ebp),%ax
415eb1:	50                   	push   %eax
415eb2:	6a 00                	push   $0x0
415eb4:	33 d2                	xor    %edx,%edx
415eb6:	8b c6                	mov    %esi,%eax
415eb8:	e8 1f 00 00 00       	call   0x415edc
415ebd:	8b c6                	mov    %esi,%eax
415ebf:	84 db                	test   %bl,%bl
415ec1:	74 0f                	je     0x415ed2
415ec3:	e8 20 d7 fe ff       	call   0x4035e8
415ec8:	64 8f 05 00 00 00 00 	pop    %fs:0x0
415ecf:	83 c4 0c             	add    $0xc,%esp
415ed2:	8b c6                	mov    %esi,%eax
415ed4:	5e                   	pop    %esi
415ed5:	5b                   	pop    %ebx
415ed6:	5d                   	pop    %ebp
415ed7:	c2 04 00             	ret    $0x4
415eda:	8b c0                	mov    %eax,%eax
415edc:	55                   	push   %ebp
415edd:	8b ec                	mov    %esp,%ebp
415edf:	83 c4 dc             	add    $0xffffffdc,%esp
415ee2:	53                   	push   %ebx
415ee3:	56                   	push   %esi
415ee4:	57                   	push   %edi
415ee5:	33 db                	xor    %ebx,%ebx
415ee7:	89 5d e0             	mov    %ebx,-0x20(%ebp)
415eea:	89 5d dc             	mov    %ebx,-0x24(%ebp)
415eed:	89 5d e8             	mov    %ebx,-0x18(%ebp)
415ef0:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
415ef3:	84 d2                	test   %dl,%dl
415ef5:	74 08                	je     0x415eff
415ef7:	83 c4 f0             	add    $0xfffffff0,%esp
415efa:	e8 91 d6 fe ff       	call   0x403590
415eff:	8b f1                	mov    %ecx,%esi
415f01:	88 55 ff             	mov    %dl,-0x1(%ebp)
415f04:	8b d8                	mov    %eax,%ebx
415f06:	8b 7d 0c             	mov    0xc(%ebp),%edi
415f09:	33 c0                	xor    %eax,%eax
415f0b:	55                   	push   %ebp
415f0c:	68 05 60 41 00       	push   $0x416005
415f11:	64 ff 30             	push   %fs:(%eax)
415f14:	64 89 20             	mov    %esp,%fs:(%eax)
415f17:	66 81 ff ff ff       	cmp    $0xffff,%di
415f1c:	75 69                	jne    0x415f87
415f1e:	8b 55 08             	mov    0x8(%ebp),%edx
415f21:	8b c6                	mov    %esi,%eax
415f23:	e8 38 24 ff ff       	call   0x408360
415f28:	8b c8                	mov    %eax,%ecx
415f2a:	33 d2                	xor    %edx,%edx
415f2c:	8b c3                	mov    %ebx,%eax
415f2e:	e8 a1 fe ff ff       	call   0x415dd4
415f33:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
415f37:	0f 8d ad 00 00 00    	jge    0x415fea
415f3d:	8d 55 e8             	lea    -0x18(%ebp),%edx
415f40:	8b c6                	mov    %esi,%eax
415f42:	e8 31 26 ff ff       	call   0x408578
415f47:	8b 45 e8             	mov    -0x18(%ebp),%eax
415f4a:	89 45 ec             	mov    %eax,-0x14(%ebp)
415f4d:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
415f51:	e8 2a 01 ff ff       	call   0x406080
415f56:	8d 55 e4             	lea    -0x1c(%ebp),%edx
415f59:	e8 fa 4f ff ff       	call   0x40af58
415f5e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
415f61:	89 45 f4             	mov    %eax,-0xc(%ebp)
415f64:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)
415f68:	8d 45 ec             	lea    -0x14(%ebp),%eax
415f6b:	50                   	push   %eax
415f6c:	6a 01                	push   $0x1
415f6e:	8b 0d 90 80 46 00    	mov    0x468090,%ecx
415f74:	b2 01                	mov    $0x1,%dl
415f76:	a1 88 15 41 00       	mov    0x411588,%eax
415f7b:	e8 d8 58 ff ff       	call   0x40b858
415f80:	e8 73 da fe ff       	call   0x4039f8
415f85:	eb 63                	jmp    0x415fea
415f87:	0f b7 d7             	movzwl %di,%edx
415f8a:	8b c6                	mov    %esi,%eax
415f8c:	e8 53 23 ff ff       	call   0x4082e4
415f91:	8b c8                	mov    %eax,%ecx
415f93:	33 d2                	xor    %edx,%edx
415f95:	8b c3                	mov    %ebx,%eax
415f97:	e8 38 fe ff ff       	call   0x415dd4
415f9c:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
415fa0:	7d 48                	jge    0x415fea
415fa2:	8d 55 e0             	lea    -0x20(%ebp),%edx
415fa5:	8b c6                	mov    %esi,%eax
415fa7:	e8 cc 25 ff ff       	call   0x408578
415fac:	8b 45 e0             	mov    -0x20(%ebp),%eax
415faf:	89 45 ec             	mov    %eax,-0x14(%ebp)
415fb2:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
415fb6:	e8 c5 00 ff ff       	call   0x406080
415fbb:	8d 55 dc             	lea    -0x24(%ebp),%edx
415fbe:	e8 95 4f ff ff       	call   0x40af58
415fc3:	8b 45 dc             	mov    -0x24(%ebp),%eax
415fc6:	89 45 f4             	mov    %eax,-0xc(%ebp)
415fc9:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)