436bd3:	23 45 fc             	and    -0x4(%ebp),%eax
436bd6:	23 d1                	and    %ecx,%edx
436bd8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
436bdb:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
436be1:	0f bf c9             	movswl %cx,%ecx
436be4:	e8 e7 31 01 00       	call   0x449dd0
436be9:	6a 30                	push   $0x30
436beb:	59                   	pop    %ecx
436bec:	66 03 c1             	add    %cx,%ax
436bef:	0f b7 c0             	movzwl %ax,%eax
436bf2:	83 f8 39             	cmp    $0x39,%eax
436bf5:	76 02                	jbe    0x436bf9
436bf7:	03 c3                	add    %ebx,%eax
436bf9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
436bfc:	8b 55 08             	mov    0x8(%ebp),%edx
436bff:	88 06                	mov    %al,(%esi)
436c01:	46                   	inc    %esi
436c02:	8b 45 fc             	mov    -0x4(%ebp),%eax
436c05:	0f ac c8 04          	shrd   $0x4,%ecx,%eax
436c09:	89 45 fc             	mov    %eax,-0x4(%ebp)
436c0c:	8b 45 f8             	mov    -0x8(%ebp),%eax
436c0f:	c1 e9 04             	shr    $0x4,%ecx
436c12:	83 e8 04             	sub    $0x4,%eax
436c15:	4f                   	dec    %edi
436c16:	89 4d f0             	mov    %ecx,-0x10(%ebp)
436c19:	89 45 f8             	mov    %eax,-0x8(%ebp)
436c1c:	66 85 c0             	test   %ax,%ax
436c1f:	79 a9                	jns    0x436bca
436c21:	66 85 c0             	test   %ax,%ax
436c24:	78 57                	js     0x436c7d
436c26:	8b 02                	mov    (%edx),%eax
436c28:	8b 52 04             	mov    0x4(%edx),%edx
436c2b:	23 45 fc             	and    -0x4(%ebp),%eax
436c2e:	23 d1                	and    %ecx,%edx
436c30:	8b 4d f8             	mov    -0x8(%ebp),%ecx
436c33:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
436c39:	0f bf c9             	movswl %cx,%ecx
436c3c:	e8 8f 31 01 00       	call   0x449dd0
436c41:	66 83 f8 08          	cmp    $0x8,%ax
436c45:	76 36                	jbe    0x436c7d
436c47:	6a 30                	push   $0x30
436c49:	8d 46 ff             	lea    -0x1(%esi),%eax
436c4c:	5b                   	pop    %ebx
436c4d:	8a 08                	mov    (%eax),%cl
436c4f:	80 f9 66             	cmp    $0x66,%cl
436c52:	74 05                	je     0x436c59
436c54:	80 f9 46             	cmp    $0x46,%cl
436c57:	75 05                	jne    0x436c5e
436c59:	88 18                	mov    %bl,(%eax)
436c5b:	48                   	dec    %eax
436c5c:	eb ef                	jmp    0x436c4d
436c5e:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
436c61:	3b 45 e8             	cmp    -0x18(%ebp),%eax
436c64:	74 14                	je     0x436c7a
436c66:	8a 08                	mov    (%eax),%cl
436c68:	80 f9 39             	cmp    $0x39,%cl
436c6b:	75 07                	jne    0x436c74
436c6d:	80 c3 3a             	add    $0x3a,%bl
436c70:	88 18                	mov    %bl,(%eax)
436c72:	eb 09                	jmp    0x436c7d
436c74:	fe c1                	inc    %cl
436c76:	88 08                	mov    %cl,(%eax)
436c78:	eb 03                	jmp    0x436c7d
436c7a:	fe 40 ff             	incb   -0x1(%eax)
436c7d:	85 ff                	test   %edi,%edi
436c7f:	7e 10                	jle    0x436c91
436c81:	57                   	push   %edi
436c82:	6a 30                	push   $0x30
436c84:	58                   	pop    %eax
436c85:	50                   	push   %eax
436c86:	56                   	push   %esi
436c87:	e8 e4 89 ff ff       	call   0x42f670
436c8c:	83 c4 0c             	add    $0xc,%esp
436c8f:	03 f7                	add    %edi,%esi
436c91:	8b 45 e8             	mov    -0x18(%ebp),%eax
436c94:	80 38 00             	cmpb   $0x0,(%eax)
436c97:	75 02                	jne    0x436c9b
436c99:	8b f0                	mov    %eax,%esi
436c9b:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
436c9f:	b1 34                	mov    $0x34,%cl
436ca1:	8b 55 08             	mov    0x8(%ebp),%edx
436ca4:	0f 94 c0             	sete   %al
436ca7:	fe c8                	dec    %al
436ca9:	24 e0                	and    $0xe0,%al
436cab:	04 70                	add    $0x70,%al
436cad:	88 06                	mov    %al,(%esi)
436caf:	8b 02                	mov    (%edx),%eax
436cb1:	8b 52 04             	mov    0x4(%edx),%edx
436cb4:	e8 17 31 01 00       	call   0x449dd0
436cb9:	8b c8                	mov    %eax,%ecx
436cbb:	33 db                	xor    %ebx,%ebx
436cbd:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
436cc3:	2b 4d f4             	sub    -0xc(%ebp),%ecx
436cc6:	1b db                	sbb    %ebx,%ebx
436cc8:	78 0f                	js     0x436cd9
436cca:	7f 04                	jg     0x436cd0
436ccc:	85 c9                	test   %ecx,%ecx
436cce:	72 09                	jb     0x436cd9
436cd0:	c6 46 01 2b          	movb   $0x2b,0x1(%esi)
436cd4:	83 c6 02             	add    $0x2,%esi
436cd7:	eb 0e                	jmp    0x436ce7
436cd9:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
436cdd:	83 c6 02             	add    $0x2,%esi
436ce0:	f7 d9                	neg    %ecx
436ce2:	83 d3 00             	adc    $0x0,%ebx
436ce5:	f7 db                	neg    %ebx
436ce7:	8b fe                	mov    %esi,%edi
436ce9:	6a 30                	push   $0x30
436ceb:	58                   	pop    %eax
436cec:	88 06                	mov    %al,(%esi)
436cee:	85 db                	test   %ebx,%ebx
436cf0:	7c 3f                	jl     0x436d31
436cf2:	b8 e8 03 00 00       	mov    $0x3e8,%eax
436cf7:	7f 04                	jg     0x436cfd
436cf9:	3b c8                	cmp    %eax,%ecx
436cfb:	72 16                	jb     0x436d13
436cfd:	6a 00                	push   $0x0
436cff:	50                   	push   %eax
436d00:	53                   	push   %ebx
436d01:	51                   	push   %ecx
436d02:	e8 e9 2f 01 00       	call   0x449cf0
436d07:	04 30                	add    $0x30,%al
436d09:	89 55 e4             	mov    %edx,-0x1c(%ebp)
436d0c:	88 06                	mov    %al,(%esi)
436d0e:	46                   	inc    %esi
436d0f:	3b f7                	cmp    %edi,%esi
436d11:	75 0b                	jne    0x436d1e
436d13:	85 db                	test   %ebx,%ebx
436d15:	7c 1a                	jl     0x436d31
436d17:	7f 05                	jg     0x436d1e
436d19:	83 f9 64             	cmp    $0x64,%ecx
436d1c:	72 13                	jb     0x436d31
436d1e:	6a 00                	push   $0x0
436d20:	6a 64                	push   $0x64
436d22:	53                   	push   %ebx
436d23:	51                   	push   %ecx
436d24:	e8 c7 2f 01 00       	call   0x449cf0
436d29:	04 30                	add    $0x30,%al
436d2b:	89 55 e4             	mov    %edx,-0x1c(%ebp)
436d2e:	88 06                	mov    %al,(%esi)
436d30:	46                   	inc    %esi
436d31:	3b f7                	cmp    %edi,%esi
436d33:	75 0b                	jne    0x436d40
436d35:	85 db                	test   %ebx,%ebx
436d37:	7c 1a                	jl     0x436d53
436d39:	7f 05                	jg     0x436d40
436d3b:	83 f9 0a             	cmp    $0xa,%ecx
436d3e:	72 13                	jb     0x436d53
436d40:	6a 00                	push   $0x0
436d42:	6a 0a                	push   $0xa
436d44:	53                   	push   %ebx
436d45:	51                   	push   %ecx
436d46:	e8 a5 2f 01 00       	call   0x449cf0
436d4b:	04 30                	add    $0x30,%al
436d4d:	89 55 e4             	mov    %edx,-0x1c(%ebp)
436d50:	88 06                	mov    %al,(%esi)
436d52:	46                   	inc    %esi
436d53:	6a 30                	push   $0x30
436d55:	58                   	pop    %eax
436d56:	02 c8                	add    %al,%cl
436d58:	33 ff                	xor    %edi,%edi
436d5a:	88 0e                	mov    %cl,(%esi)
436d5c:	c6 46 01 00          	movb   $0x0,0x1(%esi)
436d60:	80 7d dc 00          	cmpb   $0x0,-0x24(%ebp)
436d64:	74 0a                	je     0x436d70
436d66:	8b 4d d0             	mov    -0x30(%ebp),%ecx
436d69:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
436d70:	8b c7                	mov    %edi,%eax
436d72:	5f                   	pop    %edi
436d73:	5e                   	pop    %esi
436d74:	5b                   	pop    %ebx
436d75:	8b e5                	mov    %ebp,%esp
436d77:	5d                   	pop    %ebp
436d78:	c3                   	ret
436d79:	8b ff                	mov    %edi,%edi
436d7b:	55                   	push   %ebp
436d7c:	8b ec                	mov    %esp,%ebp
436d7e:	83 ec 0c             	sub    $0xc,%esp
436d81:	8d 45 f4             	lea    -0xc(%ebp),%eax
436d84:	56                   	push   %esi
436d85:	8b 75 1c             	mov    0x1c(%ebp),%esi
436d88:	57                   	push   %edi
436d89:	ff 75 18             	push   0x18(%ebp)
436d8c:	ff 75 14             	push   0x14(%ebp)
436d8f:	8d 7e 01             	lea    0x1(%esi),%edi
436d92:	50                   	push   %eax
436d93:	8b 45 08             	mov    0x8(%ebp),%eax
436d96:	57                   	push   %edi
436d97:	ff 70 04             	push   0x4(%eax)
436d9a:	ff 30                	push   (%eax)
436d9c:	e8 bd 3a 00 00       	call   0x43a85e
436da1:	83 c9 ff             	or     $0xffffffff,%ecx
436da4:	83 c4 18             	add    $0x18,%esp
436da7:	39 4d 10             	cmp    %ecx,0x10(%ebp)
436daa:	74 17                	je     0x436dc3
436dac:	8b 4d 10             	mov    0x10(%ebp),%ecx
436daf:	33 c0                	xor    %eax,%eax
436db1:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
436db5:	0f 94 c0             	sete   %al
436db8:	2b c8                	sub    %eax,%ecx
436dba:	33 c0                	xor    %eax,%eax
436dbc:	85 f6                	test   %esi,%esi
436dbe:	0f 9f c0             	setg   %al
436dc1:	2b c8                	sub    %eax,%ecx
436dc3:	8d 45 f4             	lea    -0xc(%ebp),%eax
436dc6:	50                   	push   %eax
436dc7:	57                   	push   %edi
436dc8:	8b 7d 0c             	mov    0xc(%ebp),%edi
436dcb:	51                   	push   %ecx
436dcc:	33 c9                	xor    %ecx,%ecx
436dce:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
436dd2:	0f 94 c1             	sete   %cl
436dd5:	33 c0                	xor    %eax,%eax
436dd7:	85 f6                	test   %esi,%esi
436dd9:	0f 9f c0             	setg   %al
436ddc:	03 cf                	add    %edi,%ecx
436dde:	03 c1                	add    %ecx,%eax
436de0:	50                   	push   %eax
436de1:	e8 db 34 00 00       	call   0x43a2c1
436de6:	83 c4 10             	add    $0x10,%esp
436de9:	85 c0                	test   %eax,%eax
436deb:	74 05                	je     0x436df2
436ded:	c6 07 00             	movb   $0x0,(%edi)
436df0:	eb 1c                	jmp    0x436e0e
436df2:	ff 75 28             	push   0x28(%ebp)
436df5:	8d 45 f4             	lea    -0xc(%ebp),%eax
436df8:	6a 00                	push   $0x0
436dfa:	50                   	push   %eax
436dfb:	ff 75 24             	push   0x24(%ebp)
436dfe:	ff 75 20             	push   0x20(%ebp)
436e01:	56                   	push   %esi
436e02:	ff 75 10             	push   0x10(%ebp)
436e05:	57                   	push   %edi
436e06:	e8 09 00 00 00       	call   0x436e14
436e0b:	83 c4 20             	add    $0x20,%esp
436e0e:	5f                   	pop    %edi
436e0f:	5e                   	pop    %esi
436e10:	8b e5                	mov    %ebp,%esp
436e12:	5d                   	pop    %ebp
436e13:	c3                   	ret
436e14:	8b ff                	mov    %edi,%edi
436e16:	55                   	push   %ebp
436e17:	8b ec                	mov    %esp,%ebp
436e19:	83 ec 10             	sub    $0x10,%esp
436e1c:	56                   	push   %esi
436e1d:	57                   	push   %edi
436e1e:	8b 7d 10             	mov    0x10(%ebp),%edi
436e21:	85 ff                	test   %edi,%edi
436e23:	7e 04                	jle    0x436e29
436e25:	8b c7                	mov    %edi,%eax
436e27:	eb 02                	jmp    0x436e2b
436e29:	33 c0                	xor    %eax,%eax
436e2b:	83 c0 09             	add    $0x9,%eax
436e2e:	39 45 0c             	cmp    %eax,0xc(%ebp)
436e31:	77 17                	ja     0x436e4a
436e33:	e8 fe cf ff ff       	call   0x433e36
436e38:	6a 22                	push   $0x22
436e3a:	5e                   	pop    %esi
436e3b:	89 30                	mov    %esi,(%eax)
436e3d:	e8 38 cf ff ff       	call   0x433d7a
436e42:	8b c6                	mov    %esi,%eax
436e44:	5f                   	pop    %edi
436e45:	5e                   	pop    %esi
436e46:	8b e5                	mov    %ebp,%esp
436e48:	5d                   	pop    %ebp
436e49:	c3                   	ret
436e4a:	53                   	push   %ebx
436e4b:	ff 75 24             	push   0x24(%ebp)
436e4e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
436e51:	e8 61 ab ff ff       	call   0x4319b7
436e56:	8a 55 20             	mov    0x20(%ebp),%dl
436e59:	8b 5d 08             	mov    0x8(%ebp),%ebx
436e5c:	84 d2                	test   %dl,%dl
436e5e:	74 25                	je     0x436e85
436e60:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
436e63:	33 c0                	xor    %eax,%eax
436e65:	85 ff                	test   %edi,%edi
436e67:	0f 9f c0             	setg   %al
436e6a:	50                   	push   %eax
436e6b:	33 c0                	xor    %eax,%eax
436e6d:	83 39 2d             	cmpl   $0x2d,(%ecx)
436e70:	0f 94 c0             	sete   %al
436e73:	03 c3                	add    %ebx,%eax
436e75:	50                   	push   %eax
436e76:	ff 75 0c             	push   0xc(%ebp)
436e79:	53                   	push   %ebx
436e7a:	e8 04 04 00 00       	call   0x437283
436e7f:	8a 55 20             	mov    0x20(%ebp),%dl
436e82:	83 c4 10             	add    $0x10,%esp
436e85:	8b 45 1c             	mov    0x1c(%ebp),%eax
436e88:	8b f3                	mov    %ebx,%esi
436e8a:	83 38 2d             	cmpl   $0x2d,(%eax)
436e8d:	75 06                	jne    0x436e95
436e8f:	c6 03 2d             	movb   $0x2d,(%ebx)
436e92:	8d 73 01             	lea    0x1(%ebx),%esi
436e95:	85 ff                	test   %edi,%edi
436e97:	7e 15                	jle    0x436eae
436e99:	8a 46 01             	mov    0x1(%esi),%al
436e9c:	88 06                	mov    %al,(%esi)
436e9e:	46                   	inc    %esi
436e9f:	8b 45 f4             	mov    -0xc(%ebp),%eax
436ea2:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
436ea8:	8b 00                	mov    (%eax),%eax
436eaa:	8a 00                	mov    (%eax),%al
436eac:	88 06                	mov    %al,(%esi)
436eae:	33 c0                	xor    %eax,%eax
436eb0:	84 d2                	test   %dl,%dl
436eb2:	0f 94 c0             	sete   %al
436eb5:	03 c7                	add    %edi,%eax
436eb7:	03 f0                	add    %eax,%esi
436eb9:	83 c8 ff             	or     $0xffffffff,%eax
436ebc:	39 45 0c             	cmp    %eax,0xc(%ebp)
436ebf:	74 07                	je     0x436ec8
436ec1:	8b c3                	mov    %ebx,%eax
436ec3:	2b c6                	sub    %esi,%eax
436ec5:	03 45 0c             	add    0xc(%ebp),%eax
436ec8:	68 04 1d 46 00       	push   $0x461d04
436ecd:	50                   	push   %eax
436ece:	56                   	push   %esi
436ecf:	e8 ce e2 ff ff       	call   0x4351a2
436ed4:	83 c4 0c             	add    $0xc,%esp
436ed7:	5b                   	pop    %ebx
436ed8:	85 c0                	test   %eax,%eax
436eda:	75 76                	jne    0x436f52
436edc:	8d 4e 02             	lea    0x2(%esi),%ecx
436edf:	38 45 14             	cmp    %al,0x14(%ebp)
436ee2:	74 03                	je     0x436ee7
436ee4:	c6 06 45             	movb   $0x45,(%esi)
436ee7:	8b 55 1c             	mov    0x1c(%ebp),%edx
436eea:	8b 42 08             	mov    0x8(%edx),%eax
436eed:	80 38 30             	cmpb   $0x30,(%eax)
436ef0:	74 2f                	je     0x436f21
436ef2:	8b 52 04             	mov    0x4(%edx),%edx
436ef5:	83 ea 01             	sub    $0x1,%edx
436ef8:	79 06                	jns    0x436f00
436efa:	f7 da                	neg    %edx
436efc:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
436f00:	6a 64                	push   $0x64
436f02:	5f                   	pop    %edi
436f03:	3b d7                	cmp    %edi,%edx
436f05:	7c 08                	jl     0x436f0f
436f07:	8b c2                	mov    %edx,%eax
436f09:	99                   	cltd
436f0a:	f7 ff                	idiv   %edi
436f0c:	00 46 02             	add    %al,0x2(%esi)
436f0f:	6a 0a                	push   $0xa
436f11:	5f                   	pop    %edi
436f12:	3b d7                	cmp    %edi,%edx
436f14:	7c 08                	jl     0x436f1e
436f16:	8b c2                	mov    %edx,%eax