42ad15:	a0 58 ad 42 00       	mov    0x42ad58,%al
42ad1a:	22 43 61             	and    0x61(%ebx),%al
42ad1d:	8a 15 5c ad 42 00    	mov    0x42ad5c,%dl
42ad23:	3a d0                	cmp    %al,%dl
42ad25:	75 2b                	jne    0x42ad52
42ad27:	8b 45 08             	mov    0x8(%ebp),%eax
42ad2a:	8b 40 f8             	mov    -0x8(%eax),%eax
42ad2d:	8b 50 0c             	mov    0xc(%eax),%edx
42ad30:	03 53 44             	add    0x44(%ebx),%edx
42ad33:	03 53 4c             	add    0x4c(%ebx),%edx
42ad36:	8b 45 08             	mov    0x8(%ebp),%eax
42ad39:	8b 40 fc             	mov    -0x4(%eax),%eax
42ad3c:	e8 87 7d ff ff       	call   0x422ac8
42ad41:	8b 55 08             	mov    0x8(%ebp),%edx
42ad44:	89 42 fc             	mov    %eax,-0x4(%edx)
42ad47:	eb 09                	jmp    0x42ad52
42ad49:	8b 45 08             	mov    0x8(%ebp),%eax
42ad4c:	8b 53 4c             	mov    0x4c(%ebx),%edx
42ad4f:	01 50 f4             	add    %edx,-0xc(%eax)
42ad52:	5b                   	pop    %ebx
42ad53:	5d                   	pop    %ebp
42ad54:	c3                   	ret
42ad55:	00 00                	add    %al,(%eax)
42ad57:	00 0a                	add    %cl,(%edx)
42ad59:	00 00                	add    %al,(%eax)
42ad5b:	00 02                	add    %al,(%edx)
42ad5d:	00 00                	add    %al,(%eax)
42ad5f:	00 55 8b             	add    %dl,-0x75(%ebp)
42ad62:	ec                   	in     (%dx),%al
42ad63:	83 c4 f4             	add    $0xfffffff4,%esp
42ad66:	53                   	push   %ebx
42ad67:	56                   	push   %esi
42ad68:	89 45 f8             	mov    %eax,-0x8(%ebp)
42ad6b:	8b 45 f8             	mov    -0x8(%ebp),%eax
42ad6e:	8b 58 04             	mov    0x4(%eax),%ebx
42ad71:	80 bb 10 02 00 00 00 	cmpb   $0x0,0x210(%ebx)
42ad78:	0f 84 87 00 00 00    	je     0x42ae05
42ad7e:	8b c3                	mov    %ebx,%eax
42ad80:	8b 10                	mov    (%eax),%edx
42ad82:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
42ad88:	84 c0                	test   %al,%al
42ad8a:	74 6f                	je     0x42adfb
42ad8c:	33 c0                	xor    %eax,%eax
42ad8e:	89 45 fc             	mov    %eax,-0x4(%ebp)
42ad91:	33 c0                	xor    %eax,%eax
42ad93:	89 45 f4             	mov    %eax,-0xc(%ebp)
42ad96:	8b 45 f8             	mov    -0x8(%ebp),%eax
42ad99:	8b 40 04             	mov    0x4(%eax),%eax
42ad9c:	e8 d7 a0 01 00       	call   0x444e78
42ada1:	8b d8                	mov    %eax,%ebx
42ada3:	4b                   	dec    %ebx
42ada4:	85 db                	test   %ebx,%ebx
42ada6:	7c 3a                	jl     0x42ade2
42ada8:	43                   	inc    %ebx
42ada9:	33 f6                	xor    %esi,%esi
42adab:	8b 45 f8             	mov    -0x8(%ebp),%eax
42adae:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
42adb2:	75 16                	jne    0x42adca
42adb4:	55                   	push   %ebp
42adb5:	8b 45 f8             	mov    -0x8(%ebp),%eax
42adb8:	8b 40 04             	mov    0x4(%eax),%eax
42adbb:	8b d6                	mov    %esi,%edx
42adbd:	e8 7a a0 01 00       	call   0x444e3c
42adc2:	e8 c5 fe ff ff       	call   0x42ac8c
42adc7:	59                   	pop    %ecx
42adc8:	eb 14                	jmp    0x42adde
42adca:	55                   	push   %ebp
42adcb:	8b 45 f8             	mov    -0x8(%ebp),%eax
42adce:	8b 40 04             	mov    0x4(%eax),%eax
42add1:	8b d6                	mov    %esi,%edx
42add3:	e8 64 a0 01 00       	call   0x444e3c
42add8:	e8 1b ff ff ff       	call   0x42acf8
42addd:	59                   	pop    %ecx
42adde:	46                   	inc    %esi
42addf:	4b                   	dec    %ebx
42ade0:	75 c9                	jne    0x42adab
42ade2:	8b 55 fc             	mov    -0x4(%ebp),%edx
42ade5:	03 55 f4             	add    -0xc(%ebp),%edx
42ade8:	8b 45 f8             	mov    -0x8(%ebp),%eax
42adeb:	0f b7 40 1a          	movzwl 0x1a(%eax),%eax
42adef:	03 d0                	add    %eax,%edx
42adf1:	8b 45 f8             	mov    -0x8(%ebp),%eax
42adf4:	e8 a3 06 00 00       	call   0x42b49c
42adf9:	eb 0a                	jmp    0x42ae05
42adfb:	33 d2                	xor    %edx,%edx
42adfd:	8b 45 f8             	mov    -0x8(%ebp),%eax
42ae00:	e8 97 06 00 00       	call   0x42b49c
42ae05:	5e                   	pop    %esi
42ae06:	5b                   	pop    %ebx
42ae07:	8b e5                	mov    %ebp,%esp
42ae09:	5d                   	pop    %ebp
42ae0a:	c3                   	ret
42ae0b:	90                   	nop
42ae0c:	53                   	push   %ebx
42ae0d:	56                   	push   %esi
42ae0e:	8b d8                	mov    %eax,%ebx
42ae10:	be 00 00 10 00       	mov    $0x100000,%esi
42ae15:	80 7b 18 01          	cmpb   $0x1,0x18(%ebx)
42ae19:	75 05                	jne    0x42ae20
42ae1b:	be 00 00 20 00       	mov    $0x200000,%esi
42ae20:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
42ae24:	74 14                	je     0x42ae3a
42ae26:	6a f0                	push   $0xfffffff0
42ae28:	8b 43 04             	mov    0x4(%ebx),%eax
42ae2b:	e8 ac d2 01 00       	call   0x4480dc
42ae30:	50                   	push   %eax
42ae31:	e8 16 be fd ff       	call   0x406c4c
42ae36:	85 f0                	test   %esi,%eax
42ae38:	75 05                	jne    0x42ae3f
42ae3a:	33 c0                	xor    %eax,%eax
42ae3c:	5e                   	pop    %esi
42ae3d:	5b                   	pop    %ebx
42ae3e:	c3                   	ret
42ae3f:	b0 01                	mov    $0x1,%al
42ae41:	5e                   	pop    %esi
42ae42:	5b                   	pop    %ebx
42ae43:	c3                   	ret
42ae44:	55                   	push   %ebp
42ae45:	8b ec                	mov    %esp,%ebp
42ae47:	53                   	push   %ebx
42ae48:	bb 00 00 10 00       	mov    $0x100000,%ebx
42ae4d:	66 83 f8 01          	cmp    $0x1,%ax
42ae51:	75 05                	jne    0x42ae58
42ae53:	bb 00 00 20 00       	mov    $0x200000,%ebx
42ae58:	6a f0                	push   $0xfffffff0
42ae5a:	8b 45 08             	mov    0x8(%ebp),%eax
42ae5d:	8b 40 fc             	mov    -0x4(%eax),%eax
42ae60:	8b 40 04             	mov    0x4(%eax),%eax
42ae63:	e8 74 d2 01 00       	call   0x4480dc
42ae68:	50                   	push   %eax
42ae69:	e8 de bd fd ff       	call   0x406c4c
42ae6e:	85 d8                	test   %ebx,%eax
42ae70:	0f 95 c0             	setne  %al
42ae73:	5b                   	pop    %ebx
42ae74:	5d                   	pop    %ebp
42ae75:	c3                   	ret
42ae76:	8b c0                	mov    %eax,%eax
42ae78:	55                   	push   %ebp
42ae79:	8b ec                	mov    %esp,%ebp
42ae7b:	53                   	push   %ebx
42ae7c:	56                   	push   %esi
42ae7d:	57                   	push   %edi
42ae7e:	8b fa                	mov    %edx,%edi
42ae80:	8b f0                	mov    %eax,%esi
42ae82:	33 db                	xor    %ebx,%ebx
42ae84:	8b 45 08             	mov    0x8(%ebp),%eax
42ae87:	80 78 fb 00          	cmpb   $0x0,-0x5(%eax)
42ae8b:	75 60                	jne    0x42aeed
42ae8d:	8b 45 08             	mov    0x8(%ebp),%eax
42ae90:	80 78 fa 00          	cmpb   $0x0,-0x6(%eax)
42ae94:	74 29                	je     0x42aebf
42ae96:	8b 45 08             	mov    0x8(%ebp),%eax
42ae99:	50                   	push   %eax
42ae9a:	8b c6                	mov    %esi,%eax
42ae9c:	e8 a3 ff ff ff       	call   0x42ae44
42aea1:	59                   	pop    %ecx
42aea2:	84 c0                	test   %al,%al
42aea4:	75 19                	jne    0x42aebf
42aea6:	0f b7 c7             	movzwl %di,%eax
42aea9:	50                   	push   %eax
42aeaa:	a1 c8 0a 46 00       	mov    0x460ac8,%eax
42aeaf:	8b 00                	mov    (%eax),%eax
42aeb1:	ff d0                	call   *%eax
42aeb3:	8b d8                	mov    %eax,%ebx
42aeb5:	8b 45 08             	mov    0x8(%ebp),%eax
42aeb8:	2b 58 f4             	sub    -0xc(%eax),%ebx
42aebb:	f7 db                	neg    %ebx
42aebd:	eb 2e                	jmp    0x42aeed
42aebf:	8b 45 08             	mov    0x8(%ebp),%eax
42aec2:	80 78 fa 00          	cmpb   $0x0,-0x6(%eax)
42aec6:	75 25                	jne    0x42aeed
42aec8:	8b 45 08             	mov    0x8(%ebp),%eax
42aecb:	50                   	push   %eax
42aecc:	8b c6                	mov    %esi,%eax
42aece:	e8 71 ff ff ff       	call   0x42ae44
42aed3:	59                   	pop    %ecx
42aed4:	84 c0                	test   %al,%al
42aed6:	74 15                	je     0x42aeed
42aed8:	0f b7 c7             	movzwl %di,%eax
42aedb:	50                   	push   %eax
42aedc:	a1 c8 0a 46 00       	mov    0x460ac8,%eax
42aee1:	8b 00                	mov    (%eax),%eax
42aee3:	ff d0                	call   *%eax
42aee5:	8b d8                	mov    %eax,%ebx
42aee7:	8b 45 08             	mov    0x8(%ebp),%eax
42aeea:	2b 58 f4             	sub    -0xc(%eax),%ebx
42aeed:	8b c3                	mov    %ebx,%eax
42aeef:	5f                   	pop    %edi
42aef0:	5e                   	pop    %esi
42aef1:	5b                   	pop    %ebx
42aef2:	5d                   	pop    %ebp
42aef3:	c3                   	ret
42aef4:	55                   	push   %ebp
42aef5:	8b ec                	mov    %esp,%ebp
42aef7:	83 c4 f4             	add    $0xfffffff4,%esp
42aefa:	53                   	push   %ebx
42aefb:	88 4d fa             	mov    %cl,-0x6(%ebp)
42aefe:	88 55 fb             	mov    %dl,-0x5(%ebp)
42af01:	89 45 fc             	mov    %eax,-0x4(%ebp)
42af04:	6a f0                	push   $0xfffffff0
42af06:	8b 45 fc             	mov    -0x4(%ebp),%eax
42af09:	8b 40 04             	mov    0x4(%eax),%eax
42af0c:	e8 cb d1 01 00       	call   0x4480dc
42af11:	50                   	push   %eax
42af12:	e8 35 bd fd ff       	call   0x406c4c
42af17:	a9 00 00 84 00       	test   $0x840000,%eax
42af1c:	0f 95 c0             	setne  %al
42af1f:	83 e0 7f             	and    $0x7f,%eax
42af22:	89 45 f4             	mov    %eax,-0xc(%ebp)
42af25:	8b 45 fc             	mov    -0x4(%ebp),%eax
42af28:	80 78 18 01          	cmpb   $0x1,0x18(%eax)
42af2c:	75 20                	jne    0x42af4e
42af2e:	55                   	push   %ebp
42af2f:	66 ba 15 00          	mov    $0x15,%dx
42af33:	33 c0                	xor    %eax,%eax
42af35:	e8 3e ff ff ff       	call   0x42ae78
42af3a:	59                   	pop    %ecx
42af3b:	8b d8                	mov    %eax,%ebx
42af3d:	8b 45 fc             	mov    -0x4(%ebp),%eax
42af40:	8b 40 04             	mov    0x4(%eax),%eax
42af43:	e8 08 65 01 00       	call   0x441450
42af48:	03 d8                	add    %eax,%ebx
42af4a:	8b c3                	mov    %ebx,%eax
42af4c:	eb 20                	jmp    0x42af6e
42af4e:	55                   	push   %ebp
42af4f:	66 ba 14 00          	mov    $0x14,%dx
42af53:	66 b8 01 00          	mov    $0x1,%ax
42af57:	e8 1c ff ff ff       	call   0x42ae78
42af5c:	59                   	pop    %ecx
42af5d:	8b d8                	mov    %eax,%ebx
42af5f:	8b 45 fc             	mov    -0x4(%ebp),%eax
42af62:	8b 40 04             	mov    0x4(%eax),%eax
42af65:	e8 a2 64 01 00       	call   0x44140c
42af6a:	03 d8                	add    %eax,%ebx
42af6c:	8b c3                	mov    %ebx,%eax
42af6e:	5b                   	pop    %ebx
42af6f:	8b e5                	mov    %ebp,%esp
42af71:	5d                   	pop    %ebp
42af72:	c3                   	ret
42af73:	90                   	nop
42af74:	53                   	push   %ebx
42af75:	8b d8                	mov    %eax,%ebx
42af77:	33 c9                	xor    %ecx,%ecx
42af79:	33 d2                	xor    %edx,%edx
42af7b:	8b c3                	mov    %ebx,%eax
42af7d:	e8 72 ff ff ff       	call   0x42aef4
42af82:	3b 43 10             	cmp    0x10(%ebx),%eax
42af85:	0f 9c c0             	setl   %al
42af88:	5b                   	pop    %ebx
42af89:	c3                   	ret
42af8a:	8b c0                	mov    %eax,%eax
42af8c:	55                   	push   %ebp
42af8d:	8b ec                	mov    %esp,%ebp
42af8f:	83 c4 e4             	add    $0xffffffe4,%esp
42af92:	53                   	push   %ebx
42af93:	56                   	push   %esi
42af94:	c7 45 e4 1c 00 00 00 	movl   $0x1c,-0x1c(%ebp)
42af9b:	c7 45 e8 10 00 00 00 	movl   $0x10,-0x18(%ebp)
42afa2:	33 db                	xor    %ebx,%ebx
42afa4:	8b 45 08             	mov    0x8(%ebp),%eax
42afa7:	8b 40 fc             	mov    -0x4(%eax),%eax
42afaa:	80 78 18 01          	cmpb   $0x1,0x18(%eax)
42afae:	75 05                	jne    0x42afb5
42afb0:	bb 01 00 00 00       	mov    $0x1,%ebx
42afb5:	8b 45 08             	mov    0x8(%ebp),%eax
42afb8:	8b 70 f8             	mov    -0x8(%eax),%esi
42afbb:	0f bf 76 06          	movswl 0x6(%esi),%esi
42afbf:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42afc2:	50                   	push   %eax
42afc3:	53                   	push   %ebx
42afc4:	8b 45 08             	mov    0x8(%ebp),%eax
42afc7:	8b 40 fc             	mov    -0x4(%eax),%eax
42afca:	8b 40 04             	mov    0x4(%eax),%eax
42afcd:	e8 0a d1 01 00       	call   0x4480dc
42afd2:	50                   	push   %eax
42afd3:	a1 e0 09 46 00       	mov    0x4609e0,%eax
42afd8:	8b 00                	mov    (%eax),%eax
42afda:	ff d0                	call   *%eax
42afdc:	85 c0                	test   %eax,%eax
42afde:	74 03                	je     0x42afe3
42afe0:	8b 75 fc             	mov    -0x4(%ebp),%esi
42afe3:	8b c6                	mov    %esi,%eax
42afe5:	5e                   	pop    %esi
42afe6:	5b                   	pop    %ebx
42afe7:	8b e5                	mov    %ebp,%esp
42afe9:	5d                   	pop    %ebp
42afea:	c3                   	ret
42afeb:	90                   	nop
42afec:	55                   	push   %ebp
42afed:	8b ec                	mov    %esp,%ebp
42afef:	83 c4 ec             	add    $0xffffffec,%esp
42aff2:	53                   	push   %ebx
42aff3:	56                   	push   %esi
42aff4:	57                   	push   %edi
42aff5:	89 55 f8             	mov    %edx,-0x8(%ebp)
42aff8:	89 45 fc             	mov    %eax,-0x4(%ebp)
42affb:	8b 45 fc             	mov    -0x4(%ebp),%eax
42affe:	80 78 1f 00          	cmpb   $0x0,0x1f(%eax)
42b002:	0f 84 a7 01 00 00    	je     0x42b1af
42b008:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b00b:	66 8b 40 04          	mov    0x4(%eax),%ax
42b00f:	66 83 e8 04          	sub    $0x4,%ax
42b013:	0f 83 96 01 00 00    	jae    0x42b1af
42b019:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b01c:	66 8b 40 04          	mov    0x4(%eax),%ax
42b020:	66 83 e8 02          	sub    $0x2,%ax
42b024:	72 08                	jb     0x42b02e
42b026:	66 83 e8 02          	sub    $0x2,%ax
42b02a:	72 23                	jb     0x42b04f
42b02c:	eb 47                	jmp    0x42b075
42b02e:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b031:	0f b7 58 08          	movzwl 0x8(%eax),%ebx
42b035:	8b c3                	mov    %ebx,%eax
42b037:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b03a:	8b 4a 40             	mov    0x40(%edx),%ecx
42b03d:	99                   	cltd
42b03e:	f7 f9                	idiv   %ecx
42b040:	89 45 f4             	mov    %eax,-0xc(%ebp)
42b043:	8b c3                	mov    %ebx,%eax
42b045:	99                   	cltd
42b046:	f7 f9                	idiv   %ecx
42b048:	89 55 f0             	mov    %edx,-0x10(%ebp)
42b04b:	8b f9                	mov    %ecx,%edi
42b04d:	eb 32                	jmp    0x42b081
42b04f:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b052:	0f b7 40 0a          	movzwl 0xa(%eax),%eax
42b056:	89 45 f4             	mov    %eax,-0xc(%ebp)
42b059:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b05c:	8b 48 3c             	mov    0x3c(%eax),%ecx
42b05f:	8b 45 f4             	mov    -0xc(%ebp),%eax
42b062:	99                   	cltd
42b063:	f7 f9                	idiv   %ecx
42b065:	89 55 f0             	mov    %edx,-0x10(%ebp)
42b068:	8b 45 f4             	mov    -0xc(%ebp),%eax
42b06b:	99                   	cltd
42b06c:	f7 f9                	idiv   %ecx
42b06e:	89 45 f4             	mov    %eax,-0xc(%ebp)
42b071:	8b f9                	mov    %ecx,%edi
42b073:	eb 0c                	jmp    0x42b081
42b075:	33 ff                	xor    %edi,%edi
42b077:	33 c0                	xor    %eax,%eax
42b079:	89 45 f4             	mov    %eax,-0xc(%ebp)
42b07c:	33 c0                	xor    %eax,%eax
42b07e:	89 45 f0             	mov    %eax,-0x10(%ebp)
42b081:	33 c0                	xor    %eax,%eax
42b083:	89 45 ec             	mov    %eax,-0x14(%ebp)
42b086:	85 ff                	test   %edi,%edi
42b088:	0f 8e a1 00 00 00    	jle    0x42b12f
42b08e:	e8 51 be fd ff       	call   0x406ee4
42b093:	8b d8                	mov    %eax,%ebx