42adef:	85 c0                	test   %eax,%eax
42adf1:	74 05                	je     0x42adf8
42adf3:	c6 07 00             	movb   $0x0,(%edi)
42adf6:	eb 1c                	jmp    0x42ae14
42adf8:	ff 75 2c             	push   0x2c(%ebp)
42adfb:	8d 45 f4             	lea    -0xc(%ebp),%eax
42adfe:	6a 00                	push   $0x0
42ae00:	50                   	push   %eax
42ae01:	ff 75 24             	push   0x24(%ebp)
42ae04:	ff 75 20             	push   0x20(%ebp)
42ae07:	56                   	push   %esi
42ae08:	ff 75 10             	push   0x10(%ebp)
42ae0b:	57                   	push   %edi
42ae0c:	e8 07 00 00 00       	call   0x42ae18
42ae11:	83 c4 20             	add    $0x20,%esp
42ae14:	5f                   	pop    %edi
42ae15:	5e                   	pop    %esi
42ae16:	c9                   	leave
42ae17:	c3                   	ret
42ae18:	8b ff                	mov    %edi,%edi
42ae1a:	55                   	push   %ebp
42ae1b:	8b ec                	mov    %esp,%ebp
42ae1d:	56                   	push   %esi
42ae1e:	57                   	push   %edi
42ae1f:	8b 7d 10             	mov    0x10(%ebp),%edi
42ae22:	33 d2                	xor    %edx,%edx
42ae24:	8b c7                	mov    %edi,%eax
42ae26:	85 ff                	test   %edi,%edi
42ae28:	7f 02                	jg     0x42ae2c
42ae2a:	8b c2                	mov    %edx,%eax
42ae2c:	83 c0 09             	add    $0x9,%eax
42ae2f:	39 45 0c             	cmp    %eax,0xc(%ebp)
42ae32:	77 21                	ja     0x42ae55
42ae34:	8b 4d 24             	mov    0x24(%ebp),%ecx
42ae37:	6a 22                	push   $0x22
42ae39:	5e                   	pop    %esi
42ae3a:	51                   	push   %ecx
42ae3b:	52                   	push   %edx
42ae3c:	52                   	push   %edx
42ae3d:	52                   	push   %edx
42ae3e:	52                   	push   %edx
42ae3f:	52                   	push   %edx
42ae40:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
42ae44:	89 71 18             	mov    %esi,0x18(%ecx)
42ae47:	e8 ba 4a ff ff       	call   0x41f906
42ae4c:	83 c4 18             	add    $0x18,%esp
42ae4f:	8b c6                	mov    %esi,%eax
42ae51:	5f                   	pop    %edi
42ae52:	5e                   	pop    %esi
42ae53:	5d                   	pop    %ebp
42ae54:	c3                   	ret
42ae55:	53                   	push   %ebx
42ae56:	8b 5d 08             	mov    0x8(%ebp),%ebx
42ae59:	38 55 20             	cmp    %dl,0x20(%ebp)
42ae5c:	74 22                	je     0x42ae80
42ae5e:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
42ae61:	33 c0                	xor    %eax,%eax
42ae63:	85 ff                	test   %edi,%edi
42ae65:	0f 9f c0             	setg   %al
42ae68:	50                   	push   %eax
42ae69:	33 c0                	xor    %eax,%eax
42ae6b:	83 39 2d             	cmpl   $0x2d,(%ecx)
42ae6e:	0f 94 c0             	sete   %al
42ae71:	03 c3                	add    %ebx,%eax
42ae73:	50                   	push   %eax
42ae74:	ff 75 0c             	push   0xc(%ebp)
42ae77:	53                   	push   %ebx
42ae78:	e8 d6 03 00 00       	call   0x42b253
42ae7d:	83 c4 10             	add    $0x10,%esp
42ae80:	8b 45 1c             	mov    0x1c(%ebp),%eax
42ae83:	8b f3                	mov    %ebx,%esi
42ae85:	83 38 2d             	cmpl   $0x2d,(%eax)
42ae88:	75 06                	jne    0x42ae90
42ae8a:	c6 03 2d             	movb   $0x2d,(%ebx)
42ae8d:	8d 73 01             	lea    0x1(%ebx),%esi
42ae90:	85 ff                	test   %edi,%edi
42ae92:	7e 28                	jle    0x42aebc
42ae94:	8a 46 01             	mov    0x1(%esi),%al
42ae97:	88 06                	mov    %al,(%esi)
42ae99:	46                   	inc    %esi
42ae9a:	8b 45 24             	mov    0x24(%ebp),%eax
42ae9d:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
42aea1:	75 0a                	jne    0x42aead
42aea3:	8b c8                	mov    %eax,%ecx
42aea5:	e8 d6 47 ff ff       	call   0x41f680
42aeaa:	8b 45 24             	mov    0x24(%ebp),%eax
42aead:	8b 40 0c             	mov    0xc(%eax),%eax
42aeb0:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
42aeb6:	8b 00                	mov    (%eax),%eax
42aeb8:	8a 00                	mov    (%eax),%al
42aeba:	88 06                	mov    %al,(%esi)
42aebc:	0f b6 45 20          	movzbl 0x20(%ebp),%eax
42aec0:	83 f0 01             	xor    $0x1,%eax
42aec3:	03 c7                	add    %edi,%eax
42aec5:	03 f0                	add    %eax,%esi
42aec7:	83 c8 ff             	or     $0xffffffff,%eax
42aeca:	39 45 0c             	cmp    %eax,0xc(%ebp)
42aecd:	74 07                	je     0x42aed6
42aecf:	8b c3                	mov    %ebx,%eax
42aed1:	2b c6                	sub    %esi,%eax
42aed3:	03 45 0c             	add    0xc(%ebp),%eax
42aed6:	68 b0 1f 44 00       	push   $0x441fb0
42aedb:	50                   	push   %eax
42aedc:	56                   	push   %esi
42aedd:	e8 57 8a ff ff       	call   0x423939
42aee2:	83 c4 0c             	add    $0xc,%esp
42aee5:	85 c0                	test   %eax,%eax
42aee7:	75 75                	jne    0x42af5e
42aee9:	8d 7e 02             	lea    0x2(%esi),%edi
42aeec:	38 45 14             	cmp    %al,0x14(%ebp)
42aeef:	74 03                	je     0x42aef4
42aef1:	c6 06 45             	movb   $0x45,(%esi)
42aef4:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
42aef7:	8b 41 08             	mov    0x8(%ecx),%eax
42aefa:	80 38 30             	cmpb   $0x30,(%eax)
42aefd:	74 3d                	je     0x42af3c
42aeff:	8b 49 04             	mov    0x4(%ecx),%ecx
42af02:	83 e9 01             	sub    $0x1,%ecx
42af05:	79 06                	jns    0x42af0d
42af07:	f7 d9                	neg    %ecx
42af09:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
42af0d:	6a 64                	push   $0x64
42af0f:	5b                   	pop    %ebx
42af10:	3b cb                	cmp    %ebx,%ecx
42af12:	7c 0f                	jl     0x42af23
42af14:	8b c1                	mov    %ecx,%eax
42af16:	99                   	cltd
42af17:	f7 fb                	idiv   %ebx
42af19:	00 46 02             	add    %al,0x2(%esi)
42af1c:	8b c1                	mov    %ecx,%eax
42af1e:	99                   	cltd
42af1f:	f7 fb                	idiv   %ebx
42af21:	8b ca                	mov    %edx,%ecx
42af23:	6a 0a                	push   $0xa
42af25:	5b                   	pop    %ebx
42af26:	3b cb                	cmp    %ebx,%ecx
42af28:	7c 0f                	jl     0x42af39
42af2a:	8b c1                	mov    %ecx,%eax
42af2c:	99                   	cltd
42af2d:	f7 fb                	idiv   %ebx
42af2f:	00 46 03             	add    %al,0x3(%esi)
42af32:	8b c1                	mov    %ecx,%eax
42af34:	99                   	cltd
42af35:	f7 fb                	idiv   %ebx
42af37:	8b ca                	mov    %edx,%ecx
42af39:	00 4e 04             	add    %cl,0x4(%esi)
42af3c:	83 7d 18 02          	cmpl   $0x2,0x18(%ebp)
42af40:	5b                   	pop    %ebx
42af41:	75 14                	jne    0x42af57
42af43:	80 3f 30             	cmpb   $0x30,(%edi)
42af46:	75 0f                	jne    0x42af57
42af48:	6a 03                	push   $0x3
42af4a:	8d 47 01             	lea    0x1(%edi),%eax
42af4d:	50                   	push   %eax
42af4e:	57                   	push   %edi
42af4f:	e8 2c 07 ff ff       	call   0x41b680
42af54:	83 c4 0c             	add    $0xc,%esp
42af57:	33 c0                	xor    %eax,%eax
42af59:	e9 f3 fe ff ff       	jmp    0x42ae51
42af5e:	33 c0                	xor    %eax,%eax
42af60:	50                   	push   %eax
42af61:	50                   	push   %eax
42af62:	50                   	push   %eax
42af63:	50                   	push   %eax
42af64:	50                   	push   %eax
42af65:	e8 46 4a ff ff       	call   0x41f9b0
42af6a:	cc                   	int3
42af6b:	8b ff                	mov    %edi,%edi
42af6d:	55                   	push   %ebp
42af6e:	8b ec                	mov    %esp,%ebp
42af70:	83 ec 0c             	sub    $0xc,%esp
42af73:	56                   	push   %esi
42af74:	57                   	push   %edi
42af75:	ff 75 18             	push   0x18(%ebp)
42af78:	33 c0                	xor    %eax,%eax
42af7a:	8d 7d f4             	lea    -0xc(%ebp),%edi
42af7d:	ff 75 14             	push   0x14(%ebp)
42af80:	ab                   	stos   %eax,%es:(%edi)
42af81:	ab                   	stos   %eax,%es:(%edi)
42af82:	ab                   	stos   %eax,%es:(%edi)
42af83:	8d 45 f4             	lea    -0xc(%ebp),%eax
42af86:	8b 7d 1c             	mov    0x1c(%ebp),%edi
42af89:	50                   	push   %eax
42af8a:	8b 45 08             	mov    0x8(%ebp),%eax
42af8d:	6a 00                	push   $0x0
42af8f:	57                   	push   %edi
42af90:	ff 70 04             	push   0x4(%eax)
42af93:	ff 30                	push   (%eax)
42af95:	e8 f4 ae 00 00       	call   0x435e8e
42af9a:	8b 75 f8             	mov    -0x8(%ebp),%esi
42af9d:	83 c9 ff             	or     $0xffffffff,%ecx
42afa0:	83 c4 1c             	add    $0x1c,%esp
42afa3:	03 f7                	add    %edi,%esi
42afa5:	8b d0                	mov    %eax,%edx
42afa7:	39 4d 10             	cmp    %ecx,0x10(%ebp)
42afaa:	74 0e                	je     0x42afba
42afac:	8b 4d 10             	mov    0x10(%ebp),%ecx
42afaf:	33 c0                	xor    %eax,%eax
42afb1:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
42afb5:	0f 94 c0             	sete   %al
42afb8:	2b c8                	sub    %eax,%ecx
42afba:	ff 75 24             	push   0x24(%ebp)
42afbd:	8d 45 f4             	lea    -0xc(%ebp),%eax
42afc0:	ff 75 20             	push   0x20(%ebp)
42afc3:	52                   	push   %edx
42afc4:	50                   	push   %eax
42afc5:	33 c0                	xor    %eax,%eax
42afc7:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
42afcb:	56                   	push   %esi
42afcc:	8b 75 0c             	mov    0xc(%ebp),%esi
42afcf:	0f 94 c0             	sete   %al
42afd2:	51                   	push   %ecx
42afd3:	03 c6                	add    %esi,%eax
42afd5:	50                   	push   %eax
42afd6:	e8 b9 ad 00 00       	call   0x435d94
42afdb:	83 c4 1c             	add    $0x1c,%esp
42afde:	85 c0                	test   %eax,%eax
42afe0:	74 05                	je     0x42afe7
42afe2:	c6 06 00             	movb   $0x0,(%esi)
42afe5:	eb 16                	jmp    0x42affd
42afe7:	ff 75 24             	push   0x24(%ebp)
42afea:	8d 45 f4             	lea    -0xc(%ebp),%eax
42afed:	6a 00                	push   $0x0
42afef:	50                   	push   %eax
42aff0:	57                   	push   %edi
42aff1:	ff 75 10             	push   0x10(%ebp)
42aff4:	56                   	push   %esi
42aff5:	e8 07 00 00 00       	call   0x42b001
42affa:	83 c4 18             	add    $0x18,%esp
42affd:	5f                   	pop    %edi
42affe:	5e                   	pop    %esi
42afff:	c9                   	leave
42b000:	c3                   	ret
42b001:	8b ff                	mov    %edi,%edi
42b003:	55                   	push   %ebp
42b004:	8b ec                	mov    %esp,%ebp
42b006:	51                   	push   %ecx
42b007:	53                   	push   %ebx
42b008:	8b 5d 14             	mov    0x14(%ebp),%ebx
42b00b:	33 d2                	xor    %edx,%edx
42b00d:	56                   	push   %esi
42b00e:	8b 75 08             	mov    0x8(%ebp),%esi
42b011:	57                   	push   %edi
42b012:	8b 4b 04             	mov    0x4(%ebx),%ecx
42b015:	8b 7d 10             	mov    0x10(%ebp),%edi
42b018:	49                   	dec    %ecx
42b019:	38 55 18             	cmp    %dl,0x18(%ebp)
42b01c:	74 14                	je     0x42b032
42b01e:	3b cf                	cmp    %edi,%ecx
42b020:	75 10                	jne    0x42b032
42b022:	33 c0                	xor    %eax,%eax
42b024:	83 3b 2d             	cmpl   $0x2d,(%ebx)
42b027:	0f 94 c0             	sete   %al
42b02a:	03 c1                	add    %ecx,%eax
42b02c:	66 c7 04 30 30 00    	movw   $0x30,(%eax,%esi,1)
42b032:	83 3b 2d             	cmpl   $0x2d,(%ebx)
42b035:	8b ce                	mov    %esi,%ecx
42b037:	89 75 fc             	mov    %esi,-0x4(%ebp)
42b03a:	75 09                	jne    0x42b045
42b03c:	8d 4e 01             	lea    0x1(%esi),%ecx
42b03f:	c6 06 2d             	movb   $0x2d,(%esi)
42b042:	89 4d fc             	mov    %ecx,-0x4(%ebp)
42b045:	8b 43 04             	mov    0x4(%ebx),%eax
42b048:	85 c0                	test   %eax,%eax
42b04a:	7f 2e                	jg     0x42b07a
42b04c:	75 0a                	jne    0x42b058
42b04e:	8b 43 08             	mov    0x8(%ebx),%eax
42b051:	80 38 30             	cmpb   $0x30,(%eax)
42b054:	75 02                	jne    0x42b058
42b056:	b2 01                	mov    $0x1,%dl
42b058:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
42b05c:	74 04                	je     0x42b062
42b05e:	84 d2                	test   %dl,%dl
42b060:	75 12                	jne    0x42b074
42b062:	6a 01                	push   $0x1
42b064:	51                   	push   %ecx
42b065:	ff 75 0c             	push   0xc(%ebp)
42b068:	56                   	push   %esi
42b069:	e8 e5 01 00 00       	call   0x42b253
42b06e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42b071:	83 c4 10             	add    $0x10,%esp
42b074:	33 c0                	xor    %eax,%eax
42b076:	c6 01 30             	movb   $0x30,(%ecx)
42b079:	40                   	inc    %eax
42b07a:	03 c1                	add    %ecx,%eax
42b07c:	89 45 fc             	mov    %eax,-0x4(%ebp)
42b07f:	85 ff                	test   %edi,%edi
42b081:	7e 65                	jle    0x42b0e8
42b083:	6a 01                	push   $0x1
42b085:	50                   	push   %eax
42b086:	ff 75 0c             	push   0xc(%ebp)
42b089:	56                   	push   %esi
42b08a:	e8 c4 01 00 00       	call   0x42b253
42b08f:	8b 45 1c             	mov    0x1c(%ebp),%eax
42b092:	83 c4 10             	add    $0x10,%esp
42b095:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
42b099:	75 0a                	jne    0x42b0a5
42b09b:	8b c8                	mov    %eax,%ecx
42b09d:	e8 de 45 ff ff       	call   0x41f680
42b0a2:	8b 45 1c             	mov    0x1c(%ebp),%eax
42b0a5:	8b 40 0c             	mov    0xc(%eax),%eax
42b0a8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42b0ab:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
42b0b1:	8b 00                	mov    (%eax),%eax
42b0b3:	8a 00                	mov    (%eax),%al
42b0b5:	88 01                	mov    %al,(%ecx)
42b0b7:	41                   	inc    %ecx
42b0b8:	8b 43 04             	mov    0x4(%ebx),%eax
42b0bb:	85 c0                	test   %eax,%eax
42b0bd:	79 29                	jns    0x42b0e8
42b0bf:	f7 d8                	neg    %eax
42b0c1:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
42b0c5:	75 04                	jne    0x42b0cb
42b0c7:	3b c7                	cmp    %edi,%eax
42b0c9:	7d 02                	jge    0x42b0cd
42b0cb:	8b f8                	mov    %eax,%edi
42b0cd:	57                   	push   %edi
42b0ce:	51                   	push   %ecx
42b0cf:	ff 75 0c             	push   0xc(%ebp)
42b0d2:	56                   	push   %esi
42b0d3:	e8 7b 01 00 00       	call   0x42b253
42b0d8:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b0db:	57                   	push   %edi
42b0dc:	40                   	inc    %eax
42b0dd:	6a 30                	push   $0x30
42b0df:	50                   	push   %eax
42b0e0:	e8 2b 0b ff ff       	call   0x41bc10
42b0e5:	83 c4 1c             	add    $0x1c,%esp
42b0e8:	5f                   	pop    %edi
42b0e9:	5e                   	pop    %esi
42b0ea:	33 c0                	xor    %eax,%eax
42b0ec:	5b                   	pop    %ebx
42b0ed:	c9                   	leave
42b0ee:	c3                   	ret
42b0ef:	8b ff                	mov    %edi,%edi
42b0f1:	55                   	push   %ebp
42b0f2:	8b ec                	mov    %esp,%ebp
42b0f4:	83 ec 14             	sub    $0x14,%esp
42b0f7:	53                   	push   %ebx
42b0f8:	56                   	push   %esi
42b0f9:	57                   	push   %edi
42b0fa:	ff 75 18             	push   0x18(%ebp)
42b0fd:	33 c0                	xor    %eax,%eax
42b0ff:	8d 7d ec             	lea    -0x14(%ebp),%edi
42b102:	ff 75 14             	push   0x14(%ebp)
42b105:	ab                   	stos   %eax,%es:(%edi)
42b106:	ab                   	stos   %eax,%es:(%edi)
42b107:	ab                   	stos   %eax,%es:(%edi)
42b108:	8d 45 ec             	lea    -0x14(%ebp),%eax
42b10b:	8b 7d 1c             	mov    0x1c(%ebp),%edi