42caf0:	53                   	push   %ebx
42caf1:	e8 d6 03 00 00       	call   0x42cecc
42caf6:	83 c4 10             	add    $0x10,%esp
42caf9:	8b 45 1c             	mov    0x1c(%ebp),%eax
42cafc:	8b f3                	mov    %ebx,%esi
42cafe:	83 38 2d             	cmpl   $0x2d,(%eax)
42cb01:	75 06                	jne    0x42cb09
42cb03:	c6 03 2d             	movb   $0x2d,(%ebx)
42cb06:	8d 73 01             	lea    0x1(%ebx),%esi
42cb09:	85 ff                	test   %edi,%edi
42cb0b:	7e 28                	jle    0x42cb35
42cb0d:	8a 46 01             	mov    0x1(%esi),%al
42cb10:	88 06                	mov    %al,(%esi)
42cb12:	46                   	inc    %esi
42cb13:	8b 45 24             	mov    0x24(%ebp),%eax
42cb16:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
42cb1a:	75 0a                	jne    0x42cb26
42cb1c:	8b c8                	mov    %eax,%ecx
42cb1e:	e8 7d 7a ff ff       	call   0x4245a0
42cb23:	8b 45 24             	mov    0x24(%ebp),%eax
42cb26:	8b 40 0c             	mov    0xc(%eax),%eax
42cb29:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
42cb2f:	8b 00                	mov    (%eax),%eax
42cb31:	8a 00                	mov    (%eax),%al
42cb33:	88 06                	mov    %al,(%esi)
42cb35:	0f b6 45 20          	movzbl 0x20(%ebp),%eax
42cb39:	83 f0 01             	xor    $0x1,%eax
42cb3c:	03 c7                	add    %edi,%eax
42cb3e:	03 f0                	add    %eax,%esi
42cb40:	83 c8 ff             	or     $0xffffffff,%eax
42cb43:	39 45 0c             	cmp    %eax,0xc(%ebp)
42cb46:	74 07                	je     0x42cb4f
42cb48:	8b c3                	mov    %ebx,%eax
42cb4a:	2b c6                	sub    %esi,%eax
42cb4c:	03 45 0c             	add    0xc(%ebp),%eax
42cb4f:	68 10 2f 44 00       	push   $0x442f10
42cb54:	50                   	push   %eax
42cb55:	56                   	push   %esi
42cb56:	e8 ee 99 ff ff       	call   0x426549
42cb5b:	83 c4 0c             	add    $0xc,%esp
42cb5e:	85 c0                	test   %eax,%eax
42cb60:	75 75                	jne    0x42cbd7
42cb62:	8d 7e 02             	lea    0x2(%esi),%edi
42cb65:	38 45 14             	cmp    %al,0x14(%ebp)
42cb68:	74 03                	je     0x42cb6d
42cb6a:	c6 06 45             	movb   $0x45,(%esi)
42cb6d:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
42cb70:	8b 41 08             	mov    0x8(%ecx),%eax
42cb73:	80 38 30             	cmpb   $0x30,(%eax)
42cb76:	74 3d                	je     0x42cbb5
42cb78:	8b 49 04             	mov    0x4(%ecx),%ecx
42cb7b:	83 e9 01             	sub    $0x1,%ecx
42cb7e:	79 06                	jns    0x42cb86
42cb80:	f7 d9                	neg    %ecx
42cb82:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
42cb86:	6a 64                	push   $0x64
42cb88:	5b                   	pop    %ebx
42cb89:	3b cb                	cmp    %ebx,%ecx
42cb8b:	7c 0f                	jl     0x42cb9c
42cb8d:	8b c1                	mov    %ecx,%eax
42cb8f:	99                   	cltd
42cb90:	f7 fb                	idiv   %ebx
42cb92:	00 46 02             	add    %al,0x2(%esi)
42cb95:	8b c1                	mov    %ecx,%eax
42cb97:	99                   	cltd
42cb98:	f7 fb                	idiv   %ebx
42cb9a:	8b ca                	mov    %edx,%ecx
42cb9c:	6a 0a                	push   $0xa
42cb9e:	5b                   	pop    %ebx
42cb9f:	3b cb                	cmp    %ebx,%ecx
42cba1:	7c 0f                	jl     0x42cbb2
42cba3:	8b c1                	mov    %ecx,%eax
42cba5:	99                   	cltd
42cba6:	f7 fb                	idiv   %ebx
42cba8:	00 46 03             	add    %al,0x3(%esi)
42cbab:	8b c1                	mov    %ecx,%eax
42cbad:	99                   	cltd
42cbae:	f7 fb                	idiv   %ebx
42cbb0:	8b ca                	mov    %edx,%ecx
42cbb2:	00 4e 04             	add    %cl,0x4(%esi)
42cbb5:	83 7d 18 02          	cmpl   $0x2,0x18(%ebp)
42cbb9:	5b                   	pop    %ebx
42cbba:	75 14                	jne    0x42cbd0
42cbbc:	80 3f 30             	cmpb   $0x30,(%edi)
42cbbf:	75 0f                	jne    0x42cbd0
42cbc1:	6a 03                	push   $0x3
42cbc3:	8d 47 01             	lea    0x1(%edi),%eax
42cbc6:	50                   	push   %eax
42cbc7:	57                   	push   %edi
42cbc8:	e8 83 08 ff ff       	call   0x41d450
42cbcd:	83 c4 0c             	add    $0xc,%esp
42cbd0:	33 c0                	xor    %eax,%eax
42cbd2:	e9 f3 fe ff ff       	jmp    0x42caca
42cbd7:	33 c0                	xor    %eax,%eax
42cbd9:	50                   	push   %eax
42cbda:	50                   	push   %eax
42cbdb:	50                   	push   %eax
42cbdc:	50                   	push   %eax
42cbdd:	50                   	push   %eax
42cbde:	e8 b9 3e ff ff       	call   0x420a9c
42cbe3:	cc                   	int3
42cbe4:	8b ff                	mov    %edi,%edi
42cbe6:	55                   	push   %ebp
42cbe7:	8b ec                	mov    %esp,%ebp
42cbe9:	83 ec 0c             	sub    $0xc,%esp
42cbec:	56                   	push   %esi
42cbed:	57                   	push   %edi
42cbee:	ff 75 18             	push   0x18(%ebp)
42cbf1:	33 c0                	xor    %eax,%eax
42cbf3:	8d 7d f4             	lea    -0xc(%ebp),%edi
42cbf6:	ff 75 14             	push   0x14(%ebp)
42cbf9:	ab                   	stos   %eax,%es:(%edi)
42cbfa:	ab                   	stos   %eax,%es:(%edi)
42cbfb:	ab                   	stos   %eax,%es:(%edi)
42cbfc:	8d 45 f4             	lea    -0xc(%ebp),%eax
42cbff:	8b 7d 1c             	mov    0x1c(%ebp),%edi
42cc02:	50                   	push   %eax
42cc03:	8b 45 08             	mov    0x8(%ebp),%eax
42cc06:	6a 00                	push   $0x0
42cc08:	57                   	push   %edi
42cc09:	ff 70 04             	push   0x4(%eax)
42cc0c:	ff 30                	push   (%eax)
42cc0e:	e8 32 a5 00 00       	call   0x437145
42cc13:	8b 75 f8             	mov    -0x8(%ebp),%esi
42cc16:	83 c9 ff             	or     $0xffffffff,%ecx
42cc19:	83 c4 1c             	add    $0x1c,%esp
42cc1c:	03 f7                	add    %edi,%esi
42cc1e:	8b d0                	mov    %eax,%edx
42cc20:	39 4d 10             	cmp    %ecx,0x10(%ebp)
42cc23:	74 0e                	je     0x42cc33
42cc25:	8b 4d 10             	mov    0x10(%ebp),%ecx
42cc28:	33 c0                	xor    %eax,%eax
42cc2a:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
42cc2e:	0f 94 c0             	sete   %al
42cc31:	2b c8                	sub    %eax,%ecx
42cc33:	ff 75 24             	push   0x24(%ebp)
42cc36:	8d 45 f4             	lea    -0xc(%ebp),%eax
42cc39:	ff 75 20             	push   0x20(%ebp)
42cc3c:	52                   	push   %edx
42cc3d:	50                   	push   %eax
42cc3e:	33 c0                	xor    %eax,%eax
42cc40:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
42cc44:	56                   	push   %esi
42cc45:	8b 75 0c             	mov    0xc(%ebp),%esi
42cc48:	0f 94 c0             	sete   %al
42cc4b:	51                   	push   %ecx
42cc4c:	03 c6                	add    %esi,%eax
42cc4e:	50                   	push   %eax
42cc4f:	e8 f7 a3 00 00       	call   0x43704b
42cc54:	83 c4 1c             	add    $0x1c,%esp
42cc57:	85 c0                	test   %eax,%eax
42cc59:	74 05                	je     0x42cc60
42cc5b:	c6 06 00             	movb   $0x0,(%esi)
42cc5e:	eb 16                	jmp    0x42cc76
42cc60:	ff 75 24             	push   0x24(%ebp)
42cc63:	8d 45 f4             	lea    -0xc(%ebp),%eax
42cc66:	6a 00                	push   $0x0
42cc68:	50                   	push   %eax
42cc69:	57                   	push   %edi
42cc6a:	ff 75 10             	push   0x10(%ebp)
42cc6d:	56                   	push   %esi
42cc6e:	e8 07 00 00 00       	call   0x42cc7a
42cc73:	83 c4 18             	add    $0x18,%esp
42cc76:	5f                   	pop    %edi
42cc77:	5e                   	pop    %esi
42cc78:	c9                   	leave
42cc79:	c3                   	ret
42cc7a:	8b ff                	mov    %edi,%edi
42cc7c:	55                   	push   %ebp
42cc7d:	8b ec                	mov    %esp,%ebp
42cc7f:	51                   	push   %ecx
42cc80:	53                   	push   %ebx
42cc81:	8b 5d 14             	mov    0x14(%ebp),%ebx
42cc84:	33 d2                	xor    %edx,%edx
42cc86:	56                   	push   %esi
42cc87:	8b 75 08             	mov    0x8(%ebp),%esi
42cc8a:	57                   	push   %edi
42cc8b:	8b 4b 04             	mov    0x4(%ebx),%ecx
42cc8e:	8b 7d 10             	mov    0x10(%ebp),%edi
42cc91:	49                   	dec    %ecx
42cc92:	38 55 18             	cmp    %dl,0x18(%ebp)
42cc95:	74 14                	je     0x42ccab
42cc97:	3b cf                	cmp    %edi,%ecx
42cc99:	75 10                	jne    0x42ccab
42cc9b:	33 c0                	xor    %eax,%eax
42cc9d:	83 3b 2d             	cmpl   $0x2d,(%ebx)
42cca0:	0f 94 c0             	sete   %al
42cca3:	03 c1                	add    %ecx,%eax
42cca5:	66 c7 04 30 30 00    	movw   $0x30,(%eax,%esi,1)
42ccab:	83 3b 2d             	cmpl   $0x2d,(%ebx)
42ccae:	8b ce                	mov    %esi,%ecx
42ccb0:	89 75 fc             	mov    %esi,-0x4(%ebp)
42ccb3:	75 09                	jne    0x42ccbe
42ccb5:	8d 4e 01             	lea    0x1(%esi),%ecx
42ccb8:	c6 06 2d             	movb   $0x2d,(%esi)
42ccbb:	89 4d fc             	mov    %ecx,-0x4(%ebp)
42ccbe:	8b 43 04             	mov    0x4(%ebx),%eax
42ccc1:	85 c0                	test   %eax,%eax
42ccc3:	7f 2e                	jg     0x42ccf3
42ccc5:	75 0a                	jne    0x42ccd1
42ccc7:	8b 43 08             	mov    0x8(%ebx),%eax
42ccca:	80 38 30             	cmpb   $0x30,(%eax)
42cccd:	75 02                	jne    0x42ccd1
42cccf:	b2 01                	mov    $0x1,%dl
42ccd1:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
42ccd5:	74 04                	je     0x42ccdb
42ccd7:	84 d2                	test   %dl,%dl
42ccd9:	75 12                	jne    0x42cced
42ccdb:	6a 01                	push   $0x1
42ccdd:	51                   	push   %ecx
42ccde:	ff 75 0c             	push   0xc(%ebp)
42cce1:	56                   	push   %esi
42cce2:	e8 e5 01 00 00       	call   0x42cecc
42cce7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42ccea:	83 c4 10             	add    $0x10,%esp
42cced:	33 c0                	xor    %eax,%eax
42ccef:	c6 01 30             	movb   $0x30,(%ecx)
42ccf2:	40                   	inc    %eax
42ccf3:	03 c1                	add    %ecx,%eax
42ccf5:	89 45 fc             	mov    %eax,-0x4(%ebp)
42ccf8:	85 ff                	test   %edi,%edi
42ccfa:	7e 65                	jle    0x42cd61
42ccfc:	6a 01                	push   $0x1
42ccfe:	50                   	push   %eax
42ccff:	ff 75 0c             	push   0xc(%ebp)
42cd02:	56                   	push   %esi
42cd03:	e8 c4 01 00 00       	call   0x42cecc
42cd08:	8b 45 1c             	mov    0x1c(%ebp),%eax
42cd0b:	83 c4 10             	add    $0x10,%esp
42cd0e:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
42cd12:	75 0a                	jne    0x42cd1e
42cd14:	8b c8                	mov    %eax,%ecx
42cd16:	e8 85 78 ff ff       	call   0x4245a0
42cd1b:	8b 45 1c             	mov    0x1c(%ebp),%eax
42cd1e:	8b 40 0c             	mov    0xc(%eax),%eax
42cd21:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42cd24:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
42cd2a:	8b 00                	mov    (%eax),%eax
42cd2c:	8a 00                	mov    (%eax),%al
42cd2e:	88 01                	mov    %al,(%ecx)
42cd30:	41                   	inc    %ecx
42cd31:	8b 43 04             	mov    0x4(%ebx),%eax
42cd34:	85 c0                	test   %eax,%eax
42cd36:	79 29                	jns    0x42cd61
42cd38:	f7 d8                	neg    %eax
42cd3a:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
42cd3e:	75 04                	jne    0x42cd44
42cd40:	3b c7                	cmp    %edi,%eax
42cd42:	7d 02                	jge    0x42cd46
42cd44:	8b f8                	mov    %eax,%edi
42cd46:	57                   	push   %edi
42cd47:	51                   	push   %ecx
42cd48:	ff 75 0c             	push   0xc(%ebp)
42cd4b:	56                   	push   %esi
42cd4c:	e8 7b 01 00 00       	call   0x42cecc
42cd51:	8b 45 fc             	mov    -0x4(%ebp),%eax
42cd54:	57                   	push   %edi
42cd55:	40                   	inc    %eax
42cd56:	6a 30                	push   $0x30
42cd58:	50                   	push   %eax
42cd59:	e8 82 0c ff ff       	call   0x41d9e0
42cd5e:	83 c4 1c             	add    $0x1c,%esp
42cd61:	5f                   	pop    %edi
42cd62:	5e                   	pop    %esi
42cd63:	33 c0                	xor    %eax,%eax
42cd65:	5b                   	pop    %ebx
42cd66:	c9                   	leave
42cd67:	c3                   	ret
42cd68:	8b ff                	mov    %edi,%edi
42cd6a:	55                   	push   %ebp
42cd6b:	8b ec                	mov    %esp,%ebp
42cd6d:	83 ec 14             	sub    $0x14,%esp
42cd70:	53                   	push   %ebx
42cd71:	56                   	push   %esi
42cd72:	57                   	push   %edi
42cd73:	ff 75 18             	push   0x18(%ebp)
42cd76:	33 c0                	xor    %eax,%eax
42cd78:	8d 7d ec             	lea    -0x14(%ebp),%edi
42cd7b:	ff 75 14             	push   0x14(%ebp)
42cd7e:	ab                   	stos   %eax,%es:(%edi)
42cd7f:	ab                   	stos   %eax,%es:(%edi)
42cd80:	ab                   	stos   %eax,%es:(%edi)
42cd81:	8d 45 ec             	lea    -0x14(%ebp),%eax
42cd84:	8b 7d 1c             	mov    0x1c(%ebp),%edi
42cd87:	50                   	push   %eax
42cd88:	8b 45 08             	mov    0x8(%ebp),%eax
42cd8b:	6a 00                	push   $0x0
42cd8d:	57                   	push   %edi
42cd8e:	ff 70 04             	push   0x4(%eax)
42cd91:	ff 30                	push   (%eax)
42cd93:	e8 ad a3 00 00       	call   0x437145
42cd98:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42cd9b:	33 d2                	xor    %edx,%edx
42cd9d:	83 c4 1c             	add    $0x1c,%esp
42cda0:	89 45 fc             	mov    %eax,-0x4(%ebp)
42cda3:	83 7d ec 2d          	cmpl   $0x2d,-0x14(%ebp)
42cda7:	8b 45 f0             	mov    -0x10(%ebp),%eax
42cdaa:	0f 94 c2             	sete   %dl
42cdad:	48                   	dec    %eax
42cdae:	89 45 f8             	mov    %eax,-0x8(%ebp)
42cdb1:	83 c8 ff             	or     $0xffffffff,%eax
42cdb4:	8d 34 1a             	lea    (%edx,%ebx,1),%esi
42cdb7:	39 45 10             	cmp    %eax,0x10(%ebp)
42cdba:	74 05                	je     0x42cdc1
42cdbc:	8b 45 10             	mov    0x10(%ebp),%eax
42cdbf:	2b c2                	sub    %edx,%eax
42cdc1:	ff 75 2c             	push   0x2c(%ebp)
42cdc4:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42cdc7:	ff 75 28             	push   0x28(%ebp)
42cdca:	ff 75 fc             	push   -0x4(%ebp)
42cdcd:	51                   	push   %ecx
42cdce:	57                   	push   %edi
42cdcf:	50                   	push   %eax
42cdd0:	56                   	push   %esi
42cdd1:	e8 75 a2 00 00       	call   0x43704b
42cdd6:	83 c4 1c             	add    $0x1c,%esp
42cdd9:	85 c0                	test   %eax,%eax
42cddb:	74 05                	je     0x42cde2
42cddd:	c6 03 00             	movb   $0x0,(%ebx)
42cde0:	eb 50                	jmp    0x42ce32
42cde2:	8b 45 f0             	mov    -0x10(%ebp),%eax
42cde5:	48                   	dec    %eax
42cde6:	83 f8 fc             	cmp    $0xfffffffc,%eax
42cde9:	7c 2b                	jl     0x42ce16
42cdeb:	3b c7                	cmp    %edi,%eax
42cded:	7d 27                	jge    0x42ce16
42cdef:	39 45 f8             	cmp    %eax,-0x8(%ebp)
42cdf2:	7d 0a                	jge    0x42cdfe
42cdf4:	8a 06                	mov    (%esi),%al
42cdf6:	46                   	inc    %esi
42cdf7:	84 c0                	test   %al,%al
42cdf9:	75 f9                	jne    0x42cdf4
42cdfb:	88 46 fe             	mov    %al,-0x2(%esi)
42cdfe:	ff 75 2c             	push   0x2c(%ebp)
42ce01:	8d 45 ec             	lea    -0x14(%ebp),%eax
42ce04:	6a 01                	push   $0x1
42ce06:	50                   	push   %eax
42ce07:	57                   	push   %edi
42ce08:	ff 75 10             	push   0x10(%ebp)
42ce0b:	53                   	push   %ebx
42ce0c:	e8 69 fe ff ff       	call   0x42cc7a
42ce11:	83 c4 18             	add    $0x18,%esp
42ce14:	eb 1c                	jmp    0x42ce32
42ce16:	ff 75 2c             	push   0x2c(%ebp)
42ce19:	8d 45 ec             	lea    -0x14(%ebp),%eax
42ce1c:	6a 01                	push   $0x1
42ce1e:	50                   	push   %eax
42ce1f:	ff 75 24             	push   0x24(%ebp)
42ce22:	ff 75 20             	push   0x20(%ebp)
42ce25:	57                   	push   %edi