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
42b095:	8b f3                	mov    %ebx,%esi
42b097:	2b 75 ec             	sub    -0x14(%ebp),%esi
42b09a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b09d:	3b 70 20             	cmp    0x20(%eax),%esi
42b0a0:	7d 0e                	jge    0x42b0b0
42b0a2:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b0a5:	8b 40 20             	mov    0x20(%eax),%eax
42b0a8:	2b c6                	sub    %esi,%eax
42b0aa:	50                   	push   %eax
42b0ab:	e8 48 1d fe ff       	call   0x40cdf8
42b0b0:	89 5d ec             	mov    %ebx,-0x14(%ebp)
42b0b3:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b0b6:	66 8b 40 04          	mov    0x4(%eax),%ax
42b0ba:	66 83 e8 01          	sub    $0x1,%ax
42b0be:	72 0e                	jb     0x42b0ce
42b0c0:	74 1f                	je     0x42b0e1
42b0c2:	66 ff c8             	dec    %ax
42b0c5:	74 2d                	je     0x42b0f4
42b0c7:	66 ff c8             	dec    %ax
42b0ca:	74 3b                	je     0x42b107
42b0cc:	eb 4a                	jmp    0x42b118
42b0ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b0d1:	8b 50 0c             	mov    0xc(%eax),%edx
42b0d4:	2b 55 f4             	sub    -0xc(%ebp),%edx
42b0d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b0da:	e8 85 02 00 00       	call   0x42b364
42b0df:	eb 37                	jmp    0x42b118
42b0e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b0e4:	8b 50 0c             	mov    0xc(%eax),%edx
42b0e7:	03 55 f4             	add    -0xc(%ebp),%edx
42b0ea:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b0ed:	e8 72 02 00 00       	call   0x42b364
42b0f2:	eb 24                	jmp    0x42b118
42b0f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b0f7:	8b 50 0c             	mov    0xc(%eax),%edx
42b0fa:	2b 55 f4             	sub    -0xc(%ebp),%edx
42b0fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b100:	e8 5f 02 00 00       	call   0x42b364
42b105:	eb 11                	jmp    0x42b118
42b107:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b10a:	8b 50 0c             	mov    0xc(%eax),%edx
42b10d:	03 55 f4             	add    -0xc(%ebp),%edx
42b110:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b113:	e8 4c 02 00 00       	call   0x42b364
42b118:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b11b:	8b 40 04             	mov    0x4(%eax),%eax
42b11e:	8b 10                	mov    (%eax),%edx
42b120:	ff 92 88 00 00 00    	call   *0x88(%edx)
42b126:	4f                   	dec    %edi
42b127:	85 ff                	test   %edi,%edi
42b129:	0f 8f 5f ff ff ff    	jg     0x42b08e
42b12f:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
42b133:	0f 8e aa 01 00 00    	jle    0x42b2e3
42b139:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b13c:	66 8b 40 04          	mov    0x4(%eax),%ax
42b140:	66 83 e8 01          	sub    $0x1,%ax
42b144:	72 11                	jb     0x42b157
42b146:	74 25                	je     0x42b16d
42b148:	66 ff c8             	dec    %ax
42b14b:	74 36                	je     0x42b183
42b14d:	66 ff c8             	dec    %ax
42b150:	74 47                	je     0x42b199
42b152:	e9 8c 01 00 00       	jmp    0x42b2e3
42b157:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b15a:	8b 50 0c             	mov    0xc(%eax),%edx
42b15d:	2b 55 f0             	sub    -0x10(%ebp),%edx
42b160:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b163:	e8 fc 01 00 00       	call   0x42b364
42b168:	e9 76 01 00 00       	jmp    0x42b2e3
42b16d:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b170:	8b 50 0c             	mov    0xc(%eax),%edx
42b173:	03 55 f0             	add    -0x10(%ebp),%edx
42b176:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b179:	e8 e6 01 00 00       	call   0x42b364
42b17e:	e9 60 01 00 00       	jmp    0x42b2e3
42b183:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b186:	8b 50 0c             	mov    0xc(%eax),%edx
42b189:	2b 55 f0             	sub    -0x10(%ebp),%edx
42b18c:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b18f:	e8 d0 01 00 00       	call   0x42b364
42b194:	e9 4a 01 00 00       	jmp    0x42b2e3
42b199:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b19c:	8b 50 0c             	mov    0xc(%eax),%edx
42b19f:	03 55 f0             	add    -0x10(%ebp),%edx
42b1a2:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b1a5:	e8 ba 01 00 00       	call   0x42b364
42b1aa:	e9 34 01 00 00       	jmp    0x42b2e3
42b1af:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b1b2:	0f bf 40 04          	movswl 0x4(%eax),%eax
42b1b6:	83 f8 07             	cmp    $0x7,%eax
42b1b9:	0f 87 24 01 00 00    	ja     0x42b2e3
42b1bf:	ff 24 85 c6 b1 42 00 	jmp    *0x42b1c6(,%eax,4)
42b1c6:	e6 b1                	out    %al,$0xb1
42b1c8:	42                   	inc    %edx
42b1c9:	00 02                	add    %al,(%edx)
42b1cb:	b2 42                	mov    $0x42,%dl
42b1cd:	00 1e                	add    %bl,(%esi)
42b1cf:	b2 42                	mov    $0x42,%dl
42b1d1:	00 3f                	add    %bh,(%edi)
42b1d3:	b2 42                	mov    $0x42,%dl
42b1d5:	00 60 b2             	add    %ah,-0x4e(%eax)
42b1d8:	42                   	inc    %edx
42b1d9:	00 90 b2 42 00 c9    	add    %dl,-0x36ffbd4e(%eax)
42b1df:	b2 42                	mov    $0x42,%dl
42b1e1:	00 d5                	add    %dl,%ch
42b1e3:	b2 42                	mov    $0x42,%dl
42b1e5:	00 8b 45 fc 8b 50    	add    %cl,0x508bfc45(%ebx)
42b1eb:	0c 8b                	or     $0x8b,%al
42b1ed:	45                   	inc    %ebp
42b1ee:	fc                   	cld
42b1ef:	0f b7 40 08          	movzwl 0x8(%eax),%eax
42b1f3:	2b d0                	sub    %eax,%edx
42b1f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b1f8:	e8 67 01 00 00       	call   0x42b364
42b1fd:	e9 e1 00 00 00       	jmp    0x42b2e3
42b202:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b205:	8b 50 0c             	mov    0xc(%eax),%edx
42b208:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b20b:	0f b7 40 08          	movzwl 0x8(%eax),%eax
42b20f:	03 d0                	add    %eax,%edx
42b211:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b214:	e8 4b 01 00 00       	call   0x42b364
42b219:	e9 c5 00 00 00       	jmp    0x42b2e3
42b21e:	33 c9                	xor    %ecx,%ecx
42b220:	b2 01                	mov    $0x1,%dl
42b222:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b225:	e8 ca fc ff ff       	call   0x42aef4
42b22a:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b22d:	8b 52 0c             	mov    0xc(%edx),%edx
42b230:	2b d0                	sub    %eax,%edx
42b232:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b235:	e8 2a 01 00 00       	call   0x42b364
42b23a:	e9 a4 00 00 00       	jmp    0x42b2e3
42b23f:	33 c9                	xor    %ecx,%ecx
42b241:	b2 01                	mov    $0x1,%dl
42b243:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b246:	e8 a9 fc ff ff       	call   0x42aef4
42b24b:	8b d0                	mov    %eax,%edx
42b24d:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b250:	03 50 0c             	add    0xc(%eax),%edx
42b253:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b256:	e8 09 01 00 00       	call   0x42b364
42b25b:	e9 83 00 00 00       	jmp    0x42b2e3
42b260:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b263:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
42b26a:	7e 13                	jle    0x42b27f
42b26c:	55                   	push   %ebp
42b26d:	e8 1a fd ff ff       	call   0x42af8c
42b272:	59                   	pop    %ecx
42b273:	8b d0                	mov    %eax,%edx
42b275:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b278:	e8 e7 00 00 00       	call   0x42b364
42b27d:	eb 64                	jmp    0x42b2e3
42b27f:	8b 55 f8             	mov    -0x8(%ebp),%edx
42b282:	0f bf 52 06          	movswl 0x6(%edx),%edx
42b286:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b289:	e8 d6 00 00 00       	call   0x42b364
42b28e:	eb 53                	jmp    0x42b2e3
42b290:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b293:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
42b297:	74 4a                	je     0x42b2e3
42b299:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b29c:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
42b2a3:	7e 13                	jle    0x42b2b8
42b2a5:	55                   	push   %ebp
42b2a6:	e8 e1 fc ff ff       	call   0x42af8c
42b2ab:	59                   	pop    %ecx
42b2ac:	8b d0                	mov    %eax,%edx
42b2ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b2b1:	e8 ae 00 00 00       	call   0x42b364
42b2b6:	eb 2b                	jmp    0x42b2e3
42b2b8:	8b 55 f8             	mov    -0x8(%ebp),%edx
42b2bb:	0f bf 52 06          	movswl 0x6(%edx),%edx
42b2bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b2c2:	e8 9d 00 00 00       	call   0x42b364