42ac60:	6a 30                	push   $0x30
42ac62:	58                   	pop    %eax
42ac63:	50                   	push   %eax
42ac64:	57                   	push   %edi
42ac65:	e8 a6 0f ff ff       	call   0x41bc10
42ac6a:	83 c4 0c             	add    $0xc,%esp
42ac6d:	03 fe                	add    %esi,%edi
42ac6f:	8b 45 f4             	mov    -0xc(%ebp),%eax
42ac72:	80 38 00             	cmpb   $0x0,(%eax)
42ac75:	75 02                	jne    0x42ac79
42ac77:	8b f8                	mov    %eax,%edi
42ac79:	8a 45 ff             	mov    -0x1(%ebp),%al
42ac7c:	b1 34                	mov    $0x34,%cl
42ac7e:	c0 e0 05             	shl    $0x5,%al
42ac81:	04 50                	add    $0x50,%al
42ac83:	88 07                	mov    %al,(%edi)
42ac85:	8b 03                	mov    (%ebx),%eax
42ac87:	8b 53 04             	mov    0x4(%ebx),%edx
42ac8a:	e8 d1 f5 00 00       	call   0x43a260
42ac8f:	8b d8                	mov    %eax,%ebx
42ac91:	33 f6                	xor    %esi,%esi
42ac93:	81 e3 ff 07 00 00    	and    $0x7ff,%ebx
42ac99:	8d 47 02             	lea    0x2(%edi),%eax
42ac9c:	2b 5d f0             	sub    -0x10(%ebp),%ebx
42ac9f:	89 45 f0             	mov    %eax,-0x10(%ebp)
42aca2:	1b f6                	sbb    %esi,%esi
42aca4:	78 0a                	js     0x42acb0
42aca6:	7f 04                	jg     0x42acac
42aca8:	85 db                	test   %ebx,%ebx
42acaa:	72 04                	jb     0x42acb0
42acac:	b1 2b                	mov    $0x2b,%cl
42acae:	eb 0a                	jmp    0x42acba
42acb0:	f7 db                	neg    %ebx
42acb2:	6a 2d                	push   $0x2d
42acb4:	83 d6 00             	adc    $0x0,%esi
42acb7:	f7 de                	neg    %esi
42acb9:	59                   	pop    %ecx
42acba:	88 4f 01             	mov    %cl,0x1(%edi)
42acbd:	8b f8                	mov    %eax,%edi
42acbf:	6a 30                	push   $0x30
42acc1:	59                   	pop    %ecx
42acc2:	88 08                	mov    %cl,(%eax)
42acc4:	85 f6                	test   %esi,%esi
42acc6:	0f 8c 96 00 00 00    	jl     0x42ad62
42accc:	b8 e8 03 00 00       	mov    $0x3e8,%eax
42acd1:	7f 04                	jg     0x42acd7
42acd3:	3b d8                	cmp    %eax,%ebx
42acd5:	72 2e                	jb     0x42ad05
42acd7:	6a 00                	push   $0x0
42acd9:	50                   	push   %eax
42acda:	56                   	push   %esi
42acdb:	53                   	push   %ebx
42acdc:	e8 9f f5 00 00       	call   0x43a280
42ace1:	6a 30                	push   $0x30
42ace3:	59                   	pop    %ecx
42ace4:	6a 00                	push   $0x0
42ace6:	02 c1                	add    %cl,%al
42ace8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42aceb:	68 e8 03 00 00       	push   $0x3e8
42acf0:	56                   	push   %esi
42acf1:	53                   	push   %ebx
42acf2:	88 01                	mov    %al,(%ecx)
42acf4:	8d 79 01             	lea    0x1(%ecx),%edi
42acf7:	e8 34 f6 00 00       	call   0x43a330
42acfc:	8b d8                	mov    %eax,%ebx
42acfe:	8b f2                	mov    %edx,%esi
42ad00:	3b 7d f0             	cmp    -0x10(%ebp),%edi
42ad03:	75 0b                	jne    0x42ad10
42ad05:	85 f6                	test   %esi,%esi
42ad07:	7c 59                	jl     0x42ad62
42ad09:	7f 05                	jg     0x42ad10
42ad0b:	83 fb 64             	cmp    $0x64,%ebx
42ad0e:	72 27                	jb     0x42ad37
42ad10:	6a 00                	push   $0x0
42ad12:	6a 64                	push   $0x64
42ad14:	56                   	push   %esi
42ad15:	53                   	push   %ebx
42ad16:	e8 65 f5 00 00       	call   0x43a280
42ad1b:	6a 30                	push   $0x30
42ad1d:	59                   	pop    %ecx
42ad1e:	6a 00                	push   $0x0
42ad20:	6a 64                	push   $0x64
42ad22:	02 c1                	add    %cl,%al
42ad24:	56                   	push   %esi
42ad25:	88 07                	mov    %al,(%edi)
42ad27:	47                   	inc    %edi
42ad28:	53                   	push   %ebx
42ad29:	e8 02 f6 00 00       	call   0x43a330
42ad2e:	8b d8                	mov    %eax,%ebx
42ad30:	8b f2                	mov    %edx,%esi
42ad32:	3b 7d f0             	cmp    -0x10(%ebp),%edi
42ad35:	75 0b                	jne    0x42ad42
42ad37:	85 f6                	test   %esi,%esi
42ad39:	7c 27                	jl     0x42ad62
42ad3b:	7f 05                	jg     0x42ad42
42ad3d:	83 fb 0a             	cmp    $0xa,%ebx
42ad40:	72 20                	jb     0x42ad62
42ad42:	6a 00                	push   $0x0
42ad44:	6a 0a                	push   $0xa
42ad46:	56                   	push   %esi
42ad47:	53                   	push   %ebx
42ad48:	e8 33 f5 00 00       	call   0x43a280
42ad4d:	6a 30                	push   $0x30
42ad4f:	59                   	pop    %ecx
42ad50:	6a 00                	push   $0x0
42ad52:	6a 0a                	push   $0xa
42ad54:	02 c1                	add    %cl,%al
42ad56:	56                   	push   %esi
42ad57:	88 07                	mov    %al,(%edi)
42ad59:	47                   	inc    %edi
42ad5a:	53                   	push   %ebx
42ad5b:	e8 d0 f5 00 00       	call   0x43a330
42ad60:	8b d8                	mov    %eax,%ebx
42ad62:	6a 30                	push   $0x30
42ad64:	58                   	pop    %eax
42ad65:	02 d8                	add    %al,%bl
42ad67:	88 1f                	mov    %bl,(%edi)
42ad69:	c6 47 01 00          	movb   $0x0,0x1(%edi)
42ad6d:	33 c0                	xor    %eax,%eax
42ad6f:	5b                   	pop    %ebx
42ad70:	5f                   	pop    %edi
42ad71:	5e                   	pop    %esi
42ad72:	c9                   	leave
42ad73:	c3                   	ret
42ad74:	8b ff                	mov    %edi,%edi
42ad76:	55                   	push   %ebp
42ad77:	8b ec                	mov    %esp,%ebp
42ad79:	83 ec 0c             	sub    $0xc,%esp
42ad7c:	8d 45 f4             	lea    -0xc(%ebp),%eax
42ad7f:	56                   	push   %esi
42ad80:	8b 75 1c             	mov    0x1c(%ebp),%esi
42ad83:	57                   	push   %edi
42ad84:	ff 75 18             	push   0x18(%ebp)
42ad87:	ff 75 14             	push   0x14(%ebp)
42ad8a:	8d 7e 01             	lea    0x1(%esi),%edi
42ad8d:	50                   	push   %eax
42ad8e:	8b 45 08             	mov    0x8(%ebp),%eax
42ad91:	6a 01                	push   $0x1
42ad93:	57                   	push   %edi
42ad94:	ff 70 04             	push   0x4(%eax)
42ad97:	ff 30                	push   (%eax)
42ad99:	e8 f0 b0 00 00       	call   0x435e8e
42ad9e:	83 c9 ff             	or     $0xffffffff,%ecx
42ada1:	83 c4 1c             	add    $0x1c,%esp
42ada4:	8b d0                	mov    %eax,%edx
42ada6:	39 4d 10             	cmp    %ecx,0x10(%ebp)
42ada9:	74 17                	je     0x42adc2
42adab:	8b 4d 10             	mov    0x10(%ebp),%ecx
42adae:	33 c0                	xor    %eax,%eax
42adb0:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
42adb4:	0f 94 c0             	sete   %al
42adb7:	2b c8                	sub    %eax,%ecx
42adb9:	33 c0                	xor    %eax,%eax
42adbb:	85 f6                	test   %esi,%esi
42adbd:	0f 9f c0             	setg   %al
42adc0:	2b c8                	sub    %eax,%ecx
42adc2:	ff 75 2c             	push   0x2c(%ebp)
42adc5:	8d 45 f4             	lea    -0xc(%ebp),%eax
42adc8:	ff 75 28             	push   0x28(%ebp)
42adcb:	52                   	push   %edx
42adcc:	50                   	push   %eax
42adcd:	57                   	push   %edi
42adce:	8b 7d 0c             	mov    0xc(%ebp),%edi
42add1:	51                   	push   %ecx
42add2:	33 c9                	xor    %ecx,%ecx
42add4:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
42add8:	0f 94 c1             	sete   %cl
42addb:	33 c0                	xor    %eax,%eax
42addd:	85 f6                	test   %esi,%esi
42addf:	0f 9f c0             	setg   %al
42ade2:	03 cf                	add    %edi,%ecx
42ade4:	03 c1                	add    %ecx,%eax
42ade6:	50                   	push   %eax
42ade7:	e8 a8 af 00 00       	call   0x435d94
42adec:	83 c4 1c             	add    $0x1c,%esp
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