451a36:	73 0a                	jae    0x451a42
451a38:	8b 4d 0c             	mov    0xc(%ebp),%ecx
451a3b:	89 31                	mov    %esi,(%ecx)
451a3d:	5e                   	pop    %esi
451a3e:	8b e5                	mov    %ebp,%esp
451a40:	5d                   	pop    %ebp
451a41:	c3                   	ret
451a42:	0f b6 08             	movzbl (%eax),%ecx
451a45:	83 c6 80             	add    $0xffffff80,%esi
451a48:	8b c1                	mov    %ecx,%eax
451a4a:	c1 e0 07             	shl    $0x7,%eax
451a4d:	03 f0                	add    %eax,%esi
451a4f:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
451a55:	73 0d                	jae    0x451a64
451a57:	8b 45 0c             	mov    0xc(%ebp),%eax
451a5a:	89 30                	mov    %esi,(%eax)
451a5c:	8d 42 02             	lea    0x2(%edx),%eax
451a5f:	5e                   	pop    %esi
451a60:	8b e5                	mov    %ebp,%esp
451a62:	5d                   	pop    %ebp
451a63:	c3                   	ret
451a64:	56                   	push   %esi
451a65:	52                   	push   %edx
451a66:	8d 45 f8             	lea    -0x8(%ebp),%eax
451a69:	50                   	push   %eax
451a6a:	e8 71 df 00 00       	call   0x45f9e0
451a6f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
451a72:	83 c4 0c             	add    $0xc,%esp
451a75:	8b 45 fc             	mov    -0x4(%ebp),%eax
451a78:	89 01                	mov    %eax,(%ecx)
451a7a:	8b 45 f8             	mov    -0x8(%ebp),%eax
451a7d:	5e                   	pop    %esi
451a7e:	8b e5                	mov    %ebp,%esp
451a80:	5d                   	pop    %ebp
451a81:	c3                   	ret
451a82:	cc                   	int3
451a83:	cc                   	int3
451a84:	cc                   	int3
451a85:	cc                   	int3
451a86:	cc                   	int3
451a87:	cc                   	int3
451a88:	cc                   	int3
451a89:	cc                   	int3
451a8a:	cc                   	int3
451a8b:	cc                   	int3
451a8c:	cc                   	int3
451a8d:	cc                   	int3
451a8e:	cc                   	int3
451a8f:	cc                   	int3
451a90:	55                   	push   %ebp
451a91:	8b ec                	mov    %esp,%ebp
451a93:	8b 45 08             	mov    0x8(%ebp),%eax
451a96:	ff 75 10             	push   0x10(%ebp)
451a99:	c1 e0 03             	shl    $0x3,%eax
451a9c:	50                   	push   %eax
451a9d:	e8 1e f0 ff ff       	call   0x450ac0
451aa2:	50                   	push   %eax
451aa3:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
451aa7:	50                   	push   %eax
451aa8:	e8 13 f0 ff ff       	call   0x450ac0
451aad:	83 c4 10             	add    $0x10,%esp
451ab0:	5d                   	pop    %ebp
451ab1:	c3                   	ret
451ab2:	cc                   	int3
451ab3:	cc                   	int3
451ab4:	cc                   	int3
451ab5:	cc                   	int3
451ab6:	cc                   	int3
451ab7:	cc                   	int3
451ab8:	cc                   	int3
451ab9:	cc                   	int3
451aba:	cc                   	int3
451abb:	cc                   	int3
451abc:	cc                   	int3
451abd:	cc                   	int3
451abe:	cc                   	int3
451abf:	cc                   	int3
451ac0:	55                   	push   %ebp
451ac1:	8b ec                	mov    %esp,%ebp
451ac3:	8b 45 08             	mov    0x8(%ebp),%eax
451ac6:	ff 75 10             	push   0x10(%ebp)
451ac9:	c1 e0 03             	shl    $0x3,%eax
451acc:	50                   	push   %eax
451acd:	e8 ee ef ff ff       	call   0x450ac0
451ad2:	83 c4 08             	add    $0x8,%esp
451ad5:	89 45 10             	mov    %eax,0x10(%ebp)
451ad8:	8b 45 0c             	mov    0xc(%ebp),%eax
451adb:	99                   	cltd
451adc:	89 55 0c             	mov    %edx,0xc(%ebp)
451adf:	89 45 08             	mov    %eax,0x8(%ebp)
451ae2:	5d                   	pop    %ebp
451ae3:	e9 e8 00 00 00       	jmp    0x451bd0
451ae8:	cc                   	int3
451ae9:	cc                   	int3
451aea:	cc                   	int3
451aeb:	cc                   	int3
451aec:	cc                   	int3
451aed:	cc                   	int3
451aee:	cc                   	int3
451aef:	cc                   	int3
451af0:	55                   	push   %ebp
451af1:	8b ec                	mov    %esp,%ebp
451af3:	51                   	push   %ecx
451af4:	53                   	push   %ebx
451af5:	56                   	push   %esi
451af6:	8b 75 0c             	mov    0xc(%ebp),%esi
451af9:	8b c1                	mov    %ecx,%eax
451afb:	57                   	push   %edi
451afc:	8b 7d 10             	mov    0x10(%ebp),%edi
451aff:	89 45 fc             	mov    %eax,-0x4(%ebp)
451b02:	8b 5e 10             	mov    0x10(%esi),%ebx
451b05:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
451b0b:	7d 7f                	jge    0x451b8c
451b0d:	8b 55 08             	mov    0x8(%ebp),%edx
451b10:	c1 e2 03             	shl    $0x3,%edx
451b13:	81 fa 80 00 00 00    	cmp    $0x80,%edx
451b19:	73 07                	jae    0x451b22
451b1b:	b9 01 00 00 00       	mov    $0x1,%ecx
451b20:	eb 29                	jmp    0x451b4b
451b22:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
451b28:	73 07                	jae    0x451b31
451b2a:	b9 02 00 00 00       	mov    $0x2,%ecx
451b2f:	eb 1a                	jmp    0x451b4b
451b31:	81 fa 00 00 20 00    	cmp    $0x200000,%edx
451b37:	73 07                	jae    0x451b40
451b39:	b9 03 00 00 00       	mov    $0x3,%ecx
451b3e:	eb 0b                	jmp    0x451b4b
451b40:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
451b46:	1b c9                	sbb    %ecx,%ecx
451b48:	83 c1 05             	add    $0x5,%ecx
451b4b:	8b 00                	mov    (%eax),%eax
451b4d:	2b c1                	sub    %ecx,%eax
451b4f:	2b c7                	sub    %edi,%eax
451b51:	83 c0 0f             	add    $0xf,%eax
451b54:	3b c3                	cmp    %ebx,%eax
451b56:	7c 31                	jl     0x451b89
451b58:	83 ca 02             	or     $0x2,%edx
451b5b:	57                   	push   %edi
451b5c:	52                   	push   %edx
451b5d:	e8 5e ef ff ff       	call   0x450ac0
451b62:	8b f8                	mov    %eax,%edi
451b64:	83 c4 08             	add    $0x8,%esp
451b67:	88 1f                	mov    %bl,(%edi)
451b69:	47                   	inc    %edi
451b6a:	83 7e 14 0f          	cmpl   $0xf,0x14(%esi)
451b6e:	76 02                	jbe    0x451b72
451b70:	8b 36                	mov    (%esi),%esi
451b72:	53                   	push   %ebx
451b73:	56                   	push   %esi
451b74:	57                   	push   %edi
451b75:	e8 56 12 18 00       	call   0x5d2dd0
451b7a:	83 c4 0c             	add    $0xc,%esp
451b7d:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
451b80:	5f                   	pop    %edi
451b81:	5e                   	pop    %esi
451b82:	5b                   	pop    %ebx
451b83:	8b e5                	mov    %ebp,%esp
451b85:	5d                   	pop    %ebp
451b86:	c2 0c 00             	ret    $0xc
451b89:	8b 45 fc             	mov    -0x4(%ebp),%eax
451b8c:	57                   	push   %edi
451b8d:	56                   	push   %esi
451b8e:	ff 75 08             	push   0x8(%ebp)
451b91:	8b c8                	mov    %eax,%ecx
451b93:	e8 68 8f 00 00       	call   0x45ab00
451b98:	5f                   	pop    %edi
451b99:	5e                   	pop    %esi
451b9a:	5b                   	pop    %ebx
451b9b:	8b e5                	mov    %ebp,%esp
451b9d:	5d                   	pop    %ebp
451b9e:	c2 0c 00             	ret    $0xc
451ba1:	cc                   	int3
451ba2:	cc                   	int3
451ba3:	cc                   	int3
451ba4:	cc                   	int3
451ba5:	cc                   	int3
451ba6:	cc                   	int3
451ba7:	cc                   	int3
451ba8:	cc                   	int3
451ba9:	cc                   	int3
451baa:	cc                   	int3
451bab:	cc                   	int3
451bac:	cc                   	int3
451bad:	cc                   	int3
451bae:	cc                   	int3
451baf:	cc                   	int3
451bb0:	55                   	push   %ebp
451bb1:	8b ec                	mov    %esp,%ebp
451bb3:	8b 45 08             	mov    0x8(%ebp),%eax
451bb6:	ff 75 10             	push   0x10(%ebp)
451bb9:	c1 e0 03             	shl    $0x3,%eax
451bbc:	50                   	push   %eax
451bbd:	e8 fe ee ff ff       	call   0x450ac0
451bc2:	50                   	push   %eax
451bc3:	ff 75 0c             	push   0xc(%ebp)
451bc6:	e8 f5 ee ff ff       	call   0x450ac0
451bcb:	83 c4 10             	add    $0x10,%esp
451bce:	5d                   	pop    %ebp
451bcf:	c3                   	ret
451bd0:	55                   	push   %ebp
451bd1:	8b ec                	mov    %esp,%ebp
451bd3:	8b 55 0c             	mov    0xc(%ebp),%edx
451bd6:	8b 45 08             	mov    0x8(%ebp),%eax
451bd9:	56                   	push   %esi
451bda:	57                   	push   %edi
451bdb:	8b 7d 10             	mov    0x10(%ebp),%edi
451bde:	8d 77 01             	lea    0x1(%edi),%esi
451be1:	85 d2                	test   %edx,%edx
451be3:	77 11                	ja     0x451bf6
451be5:	72 07                	jb     0x451bee
451be7:	3d 80 00 00 00       	cmp    $0x80,%eax
451bec:	73 08                	jae    0x451bf6
451bee:	88 07                	mov    %al,(%edi)
451bf0:	8b c6                	mov    %esi,%eax
451bf2:	5f                   	pop    %edi
451bf3:	5e                   	pop    %esi
451bf4:	5d                   	pop    %ebp
451bf5:	c3                   	ret
451bf6:	8a c8                	mov    %al,%cl
451bf8:	0f ac d0 07          	shrd   $0x7,%edx,%eax
451bfc:	80 c9 80             	or     $0x80,%cl
451bff:	c1 ea 07             	shr    $0x7,%edx
451c02:	88 0f                	mov    %cl,(%edi)
451c04:	85 d2                	test   %edx,%edx
451c06:	77 18                	ja     0x451c20
451c08:	72 07                	jb     0x451c11
451c0a:	3d 80 00 00 00       	cmp    $0x80,%eax
451c0f:	73 0f                	jae    0x451c20
451c11:	88 06                	mov    %al,(%esi)
451c13:	8d 47 02             	lea    0x2(%edi),%eax
451c16:	5f                   	pop    %edi
451c17:	5e                   	pop    %esi
451c18:	5d                   	pop    %ebp
451c19:	c3                   	ret
451c1a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
451c20:	8a c8                	mov    %al,%cl
451c22:	8d 76 01             	lea    0x1(%esi),%esi
451c25:	0f ac d0 07          	shrd   $0x7,%edx,%eax
451c29:	80 c9 80             	or     $0x80,%cl
451c2c:	c1 ea 07             	shr    $0x7,%edx
451c2f:	88 4e ff             	mov    %cl,-0x1(%esi)
451c32:	85 d2                	test   %edx,%edx
451c34:	77 ea                	ja     0x451c20
451c36:	72 07                	jb     0x451c3f
451c38:	3d 80 00 00 00       	cmp    $0x80,%eax
451c3d:	73 e1                	jae    0x451c20
451c3f:	88 06                	mov    %al,(%esi)
451c41:	8d 46 01             	lea    0x1(%esi),%eax
451c44:	5f                   	pop    %edi
451c45:	5e                   	pop    %esi
451c46:	5d                   	pop    %ebp
451c47:	c3                   	ret
451c48:	cc                   	int3
451c49:	cc                   	int3
451c4a:	cc                   	int3
451c4b:	cc                   	int3
451c4c:	cc                   	int3
451c4d:	cc                   	int3
451c4e:	cc                   	int3
451c4f:	cc                   	int3
451c50:	56                   	push   %esi
451c51:	8b f1                	mov    %ecx,%esi
451c53:	83 7e 10 05          	cmpl   $0x5,0x10(%esi)
451c57:	74 4e                	je     0x451ca7
451c59:	e8 b2 06 00 00       	call   0x452310
451c5e:	c7 46 10 05 00 00 00 	movl   $0x5,0x10(%esi)
451c65:	8b 4e 04             	mov    0x4(%esi),%ecx
451c68:	f6 c1 03             	test   $0x3,%cl
451c6b:	75 11                	jne    0x451c7e
451c6d:	83 e1 fc             	and    $0xfffffffc,%ecx
451c70:	51                   	push   %ecx
451c71:	e8 ca e1 ff ff       	call   0x44fe40
451c76:	83 c4 04             	add    $0x4,%esp
451c79:	89 46 08             	mov    %eax,0x8(%esi)
451c7c:	5e                   	pop    %esi
451c7d:	c3                   	ret
451c7e:	8b c1                	mov    %ecx,%eax
451c80:	d1 e8                	shr    $1,%eax
451c82:	a8 01                	test   $0x1,%al
451c84:	74 10                	je     0x451c96
451c86:	33 c9                	xor    %ecx,%ecx
451c88:	51                   	push   %ecx
451c89:	e8 b2 e1 ff ff       	call   0x44fe40
451c8e:	83 c4 04             	add    $0x4,%esp
451c91:	89 46 08             	mov    %eax,0x8(%esi)
451c94:	5e                   	pop    %esi
451c95:	c3                   	ret
451c96:	83 e1 fc             	and    $0xfffffffc,%ecx
451c99:	8b 09                	mov    (%ecx),%ecx
451c9b:	51                   	push   %ecx
451c9c:	e8 9f e1 ff ff       	call   0x44fe40
451ca1:	83 c4 04             	add    $0x4,%esp
451ca4:	89 46 08             	mov    %eax,0x8(%esi)
451ca7:	8b 46 08             	mov    0x8(%esi),%eax
451caa:	5e                   	pop    %esi
451cab:	c3                   	ret
451cac:	cc                   	int3
451cad:	cc                   	int3
451cae:	cc                   	int3
451caf:	cc                   	int3
451cb0:	56                   	push   %esi
451cb1:	8b f1                	mov    %ecx,%esi
451cb3:	83 7e 10 04          	cmpl   $0x4,0x10(%esi)
451cb7:	74 4e                	je     0x451d07
451cb9:	e8 52 06 00 00       	call   0x452310
451cbe:	c7 46 10 04 00 00 00 	movl   $0x4,0x10(%esi)
451cc5:	8b 4e 04             	mov    0x4(%esi),%ecx
451cc8:	f6 c1 03             	test   $0x3,%cl
451ccb:	75 11                	jne    0x451cde
451ccd:	83 e1 fc             	and    $0xfffffffc,%ecx
451cd0:	51                   	push   %ecx
451cd1:	e8 ba e1 ff ff       	call   0x44fe90
451cd6:	83 c4 04             	add    $0x4,%esp
451cd9:	89 46 08             	mov    %eax,0x8(%esi)
451cdc:	5e                   	pop    %esi
451cdd:	c3                   	ret
451cde:	8b c1                	mov    %ecx,%eax
451ce0:	d1 e8                	shr    $1,%eax
451ce2:	a8 01                	test   $0x1,%al
451ce4:	74 10                	je     0x451cf6
451ce6:	33 c9                	xor    %ecx,%ecx
451ce8:	51                   	push   %ecx
451ce9:	e8 a2 e1 ff ff       	call   0x44fe90
451cee:	83 c4 04             	add    $0x4,%esp
451cf1:	89 46 08             	mov    %eax,0x8(%esi)
451cf4:	5e                   	pop    %esi
451cf5:	c3                   	ret
451cf6:	83 e1 fc             	and    $0xfffffffc,%ecx
451cf9:	8b 09                	mov    (%ecx),%ecx
451cfb:	51                   	push   %ecx
451cfc:	e8 8f e1 ff ff       	call   0x44fe90
451d01:	83 c4 04             	add    $0x4,%esp
451d04:	89 46 08             	mov    %eax,0x8(%esi)
451d07:	8b 46 08             	mov    0x8(%esi),%eax
451d0a:	5e                   	pop    %esi
451d0b:	c3                   	ret
451d0c:	cc                   	int3
451d0d:	cc                   	int3
451d0e:	cc                   	int3
451d0f:	cc                   	int3
451d10:	56                   	push   %esi
451d11:	8b f1                	mov    %ecx,%esi
451d13:	83 7e 18 03          	cmpl   $0x3,0x18(%esi)
451d17:	74 4e                	je     0x451d67
451d19:	e8 52 06 00 00       	call   0x452370
451d1e:	c7 46 18 03 00 00 00 	movl   $0x3,0x18(%esi)
451d25:	8b 4e 04             	mov    0x4(%esi),%ecx
451d28:	f6 c1 03             	test   $0x3,%cl
451d2b:	75 11                	jne    0x451d3e
451d2d:	83 e1 fc             	and    $0xfffffffc,%ecx