428ecb:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
428ece:	0f af c7             	imul   %edi,%eax
428ed1:	03 c3                	add    %ebx,%eax
428ed3:	89 45 fc             	mov    %eax,-0x4(%ebp)
428ed6:	8d 45 fc             	lea    -0x4(%ebp),%eax
428ed9:	50                   	push   %eax
428eda:	e8 88 13 00 00       	call   0x42a267
428edf:	ff 75 14             	push   0x14(%ebp)
428ee2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
428ee5:	ff 75 10             	push   0x10(%ebp)
428ee8:	e8 95 e5 ff ff       	call   0x427482
428eed:	85 c0                	test   %eax,%eax
428eef:	7e 0c                	jle    0x428efd
428ef1:	8b 5d fc             	mov    -0x4(%ebp),%ebx
428ef4:	83 c8 ff             	or     $0xffffffff,%eax
428ef7:	2b c7                	sub    %edi,%eax
428ef9:	03 f0                	add    %eax,%esi
428efb:	eb 02                	jmp    0x428eff
428efd:	8b f7                	mov    %edi,%esi
428eff:	8b 4d f8             	mov    -0x8(%ebp),%ecx
428f02:	85 f6                	test   %esi,%esi
428f04:	75 bb                	jne    0x428ec1
428f06:	5f                   	pop    %edi
428f07:	5e                   	pop    %esi
428f08:	8b c3                	mov    %ebx,%eax
428f0a:	5b                   	pop    %ebx
428f0b:	c9                   	leave
428f0c:	c2 10 00             	ret    $0x10
428f0f:	8b ff                	mov    %edi,%edi
428f11:	55                   	push   %ebp
428f12:	8b ec                	mov    %esp,%ebp
428f14:	83 e4 f8             	and    $0xfffffff8,%esp
428f17:	83 ec 14             	sub    $0x14,%esp
428f1a:	53                   	push   %ebx
428f1b:	8b 5d 08             	mov    0x8(%ebp),%ebx
428f1e:	56                   	push   %esi
428f1f:	57                   	push   %edi
428f20:	6a 40                	push   $0x40
428f22:	83 23 00             	andl   $0x0,(%ebx)
428f25:	8b f1                	mov    %ecx,%esi
428f27:	89 54 24 18          	mov    %edx,0x18(%esp)
428f2b:	5a                   	pop    %edx
428f2c:	6a 08                	push   $0x8
428f2e:	59                   	pop    %ecx
428f2f:	e8 c6 2b ff ff       	call   0x41bafa
428f34:	8b f8                	mov    %eax,%edi
428f36:	89 7c 24 10          	mov    %edi,0x10(%esp)
428f3a:	85 ff                	test   %edi,%edi
428f3c:	75 1a                	jne    0x428f58
428f3e:	8b 4d 04             	mov    0x4(%ebp),%ecx
428f41:	be 0e 00 07 80       	mov    $0x8007000e,%esi
428f46:	56                   	push   %esi
428f47:	68 d0 4f 40 00       	push   $0x404fd0
428f4c:	ba 42 01 00 00       	mov    $0x142,%edx
428f51:	e8 b4 31 00 00       	call   0x42c10a
428f56:	eb 52                	jmp    0x428faa
428f58:	83 64 24 18 00       	andl   $0x0,0x18(%esp)
428f5d:	8d 4c 24 18          	lea    0x18(%esp),%ecx
428f61:	83 64 24 1c 00       	andl   $0x0,0x1c(%esp)
428f66:	57                   	push   %edi
428f67:	56                   	push   %esi
428f68:	e8 d6 e6 ff ff       	call   0x427643
428f6d:	8b f0                	mov    %eax,%esi
428f6f:	85 f6                	test   %esi,%esi
428f71:	79 15                	jns    0x428f88
428f73:	8b 4d 04             	mov    0x4(%ebp),%ecx
428f76:	ba 45 01 00 00       	mov    $0x145,%edx
428f7b:	56                   	push   %esi
428f7c:	68 d0 4f 40 00       	push   $0x404fd0
428f81:	e8 84 31 00 00       	call   0x42c10a
428f86:	eb 19                	jmp    0x428fa1
428f88:	8d 44 24 18          	lea    0x18(%esp),%eax
428f8c:	8b cf                	mov    %edi,%ecx
428f8e:	50                   	push   %eax
428f8f:	ff 74 24 18          	push   0x18(%esp)
428f93:	e8 31 bb ff ff       	call   0x424ac9
428f98:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
428f9d:	33 f6                	xor    %esi,%esi
428f9f:	89 3b                	mov    %edi,(%ebx)
428fa1:	8d 4c 24 18          	lea    0x18(%esp),%ecx
428fa5:	e8 24 cb ff ff       	call   0x425ace
428faa:	8d 4c 24 10          	lea    0x10(%esp),%ecx
428fae:	e8 ec c3 ff ff       	call   0x42539f
428fb3:	5f                   	pop    %edi
428fb4:	8b c6                	mov    %esi,%eax
428fb6:	5e                   	pop    %esi
428fb7:	5b                   	pop    %ebx
428fb8:	8b e5                	mov    %ebp,%esp
428fba:	5d                   	pop    %ebp
428fbb:	c2 04 00             	ret    $0x4
428fbe:	8b ff                	mov    %edi,%edi
428fc0:	55                   	push   %ebp
428fc1:	8b ec                	mov    %esp,%ebp
428fc3:	83 ec 18             	sub    $0x18,%esp
428fc6:	53                   	push   %ebx
428fc7:	8b 5d 08             	mov    0x8(%ebp),%ebx
428fca:	56                   	push   %esi
428fcb:	57                   	push   %edi
428fcc:	6a 08                	push   $0x8
428fce:	83 23 00             	andl   $0x0,(%ebx)
428fd1:	8b f1                	mov    %ecx,%esi
428fd3:	89 55 f4             	mov    %edx,-0xc(%ebp)
428fd6:	ba a8 00 00 00       	mov    $0xa8,%edx
428fdb:	59                   	pop    %ecx
428fdc:	e8 19 2b ff ff       	call   0x41bafa
428fe1:	8b f8                	mov    %eax,%edi
428fe3:	89 7d f8             	mov    %edi,-0x8(%ebp)
428fe6:	85 ff                	test   %edi,%edi
428fe8:	75 1a                	jne    0x429004
428fea:	8b 4d 04             	mov    0x4(%ebp),%ecx
428fed:	be 0e 00 07 80       	mov    $0x8007000e,%esi
428ff2:	56                   	push   %esi
428ff3:	68 d0 4f 40 00       	push   $0x404fd0
428ff8:	ba 42 01 00 00       	mov    $0x142,%edx
428ffd:	e8 08 31 00 00       	call   0x42c10a
429002:	eb 4b                	jmp    0x42904f
429004:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
429008:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42900b:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
42900f:	57                   	push   %edi
429010:	56                   	push   %esi
429011:	e8 2d e6 ff ff       	call   0x427643
429016:	8b f0                	mov    %eax,%esi
429018:	85 f6                	test   %esi,%esi
42901a:	79 15                	jns    0x429031
42901c:	8b 4d 04             	mov    0x4(%ebp),%ecx
42901f:	ba 45 01 00 00       	mov    $0x145,%edx
429024:	56                   	push   %esi
429025:	68 d0 4f 40 00       	push   $0x404fd0
42902a:	e8 db 30 00 00       	call   0x42c10a
42902f:	eb 16                	jmp    0x429047
429031:	8d 45 ec             	lea    -0x14(%ebp),%eax
429034:	8b cf                	mov    %edi,%ecx
429036:	50                   	push   %eax
429037:	ff 75 f4             	push   -0xc(%ebp)
42903a:	e8 df ba ff ff       	call   0x424b1e
42903f:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
429043:	33 f6                	xor    %esi,%esi
429045:	89 3b                	mov    %edi,(%ebx)
429047:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42904a:	e8 7f ca ff ff       	call   0x425ace
42904f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
429052:	e8 48 c3 ff ff       	call   0x42539f
429057:	5f                   	pop    %edi
429058:	8b c6                	mov    %esi,%eax
42905a:	5e                   	pop    %esi
42905b:	5b                   	pop    %ebx
42905c:	c9                   	leave
42905d:	c2 04 00             	ret    $0x4
429060:	8b ff                	mov    %edi,%edi
429062:	55                   	push   %ebp
429063:	8b ec                	mov    %esp,%ebp
429065:	53                   	push   %ebx
429066:	57                   	push   %edi
429067:	8b fa                	mov    %edx,%edi
429069:	8b d9                	mov    %ecx,%ebx
42906b:	85 ff                	test   %edi,%edi
42906d:	74 25                	je     0x429094
42906f:	8b 03                	mov    (%ebx),%eax
429071:	56                   	push   %esi
429072:	8b 70 04             	mov    0x4(%eax),%esi
429075:	8b ce                	mov    %esi,%ecx
429077:	ff 15 20 a5 43 00    	call   *0x43a520
42907d:	8b cb                	mov    %ebx,%ecx
42907f:	ff d6                	call   *%esi
429081:	50                   	push   %eax
429082:	68 fc 6f 40 00       	push   $0x406ffc
429087:	ff 75 08             	push   0x8(%ebp)
42908a:	57                   	push   %edi
42908b:	e8 99 b1 fe ff       	call   0x414229
429090:	83 c4 10             	add    $0x10,%esp
429093:	5e                   	pop    %esi
429094:	5f                   	pop    %edi
429095:	5b                   	pop    %ebx
429096:	5d                   	pop    %ebp
429097:	c2 04 00             	ret    $0x4
42909a:	8b ff                	mov    %edi,%edi
42909c:	55                   	push   %ebp
42909d:	8b ec                	mov    %esp,%ebp
42909f:	51                   	push   %ecx
4290a0:	51                   	push   %ecx
4290a1:	53                   	push   %ebx
4290a2:	56                   	push   %esi
4290a3:	57                   	push   %edi
4290a4:	8b f9                	mov    %ecx,%edi
4290a6:	e8 80 38 00 00       	call   0x42c92b
4290ab:	8b 1f                	mov    (%edi),%ebx
4290ad:	33 d2                	xor    %edx,%edx
4290af:	0f b7 03             	movzwl (%ebx),%eax
4290b2:	8b c8                	mov    %eax,%ecx
4290b4:	66 3b d0             	cmp    %ax,%dx
4290b7:	0f 84 1a 01 00 00    	je     0x4291d7
4290bd:	8b 75 08             	mov    0x8(%ebp),%esi
4290c0:	6a 27                	push   $0x27
4290c2:	8d 96 00 20 00 00    	lea    0x2000(%esi),%edx
4290c8:	89 55 fc             	mov    %edx,-0x4(%ebp)
4290cb:	5a                   	pop    %edx
4290cc:	66 3b d0             	cmp    %ax,%dx
4290cf:	0f 85 a4 00 00 00    	jne    0x429179
4290d5:	53                   	push   %ebx
4290d6:	ff 15 70 a2 43 00    	call   *0x43a270
4290dc:	8b d0                	mov    %eax,%edx
4290de:	33 db                	xor    %ebx,%ebx
4290e0:	89 17                	mov    %edx,(%edi)
4290e2:	0f b7 0a             	movzwl (%edx),%ecx
4290e5:	8b c1                	mov    %ecx,%eax
4290e7:	66 3b d9             	cmp    %cx,%bx
4290ea:	74 6e                	je     0x42915a
4290ec:	6a 27                	push   $0x27
4290ee:	5b                   	pop    %ebx
4290ef:	66 3b d8             	cmp    %ax,%bx
4290f2:	75 0c                	jne    0x429100
4290f4:	52                   	push   %edx
4290f5:	ff 15 70 a2 43 00    	call   *0x43a270
4290fb:	66 3b 18             	cmp    (%eax),%bx
4290fe:	75 5a                	jne    0x42915a
429100:	8b 1f                	mov    (%edi),%ebx
429102:	6a 27                	push   $0x27
429104:	58                   	pop    %eax
429105:	66 3b 03             	cmp    (%ebx),%ax
429108:	75 0b                	jne    0x429115
42910a:	53                   	push   %ebx
42910b:	ff 15 70 a2 43 00    	call   *0x43a270
429111:	8b d8                	mov    %eax,%ebx
429113:	89 1f                	mov    %ebx,(%edi)
429115:	53                   	push   %ebx
429116:	ff 15 70 a2 43 00    	call   *0x43a270
42911c:	8b d0                	mov    %eax,%edx
42911e:	8b ca                	mov    %edx,%ecx
429120:	89 17                	mov    %edx,(%edi)
429122:	2b cb                	sub    %ebx,%ecx
429124:	d1 f9                	sar    $1,%ecx
429126:	8d 41 01             	lea    0x1(%ecx),%eax
429129:	8d 04 46             	lea    (%esi,%eax,2),%eax
42912c:	3b 45 fc             	cmp    -0x4(%ebp),%eax
42912f:	0f 83 a2 00 00 00    	jae    0x4291d7
429135:	85 c9                	test   %ecx,%ecx
429137:	7e 13                	jle    0x42914c
429139:	2b de                	sub    %esi,%ebx
42913b:	66 8b 04 33          	mov    (%ebx,%esi,1),%ax
42913f:	66 89 06             	mov    %ax,(%esi)
429142:	83 c6 02             	add    $0x2,%esi
429145:	83 e9 01             	sub    $0x1,%ecx
429148:	75 f1                	jne    0x42913b
42914a:	8b 17                	mov    (%edi),%edx
42914c:	0f b7 02             	movzwl (%edx),%eax
42914f:	33 db                	xor    %ebx,%ebx
429151:	8b c8                	mov    %eax,%ecx
429153:	66 3b d8             	cmp    %ax,%bx
429156:	74 02                	je     0x42915a
429158:	eb 92                	jmp    0x4290ec
42915a:	8b 07                	mov    (%edi),%eax
42915c:	33 c9                	xor    %ecx,%ecx
42915e:	66 3b 08             	cmp    (%eax),%cx
429161:	74 74                	je     0x4291d7
429163:	3b 75 fc             	cmp    -0x4(%ebp),%esi
429166:	73 6f                	jae    0x4291d7
429168:	33 c0                	xor    %eax,%eax
42916a:	66 89 06             	mov    %ax,(%esi)
42916d:	ff 37                	push   (%edi)
42916f:	ff 15 70 a2 43 00    	call   *0x43a270
429175:	89 07                	mov    %eax,(%edi)
429177:	eb 5a                	jmp    0x4291d3
429179:	51                   	push   %ecx
42917a:	e8 ca f8 ff ff       	call   0x428a49
42917f:	85 c0                	test   %eax,%eax
429181:	75 46                	jne    0x4291c9
429183:	53                   	push   %ebx
429184:	ff 15 70 a2 43 00    	call   *0x43a270
42918a:	8b d0                	mov    %eax,%edx
42918c:	89 45 f8             	mov    %eax,-0x8(%ebp)
42918f:	2b d3                	sub    %ebx,%edx
429191:	89 07                	mov    %eax,(%edi)
429193:	d1 fa                	sar    $1,%edx
429195:	8d 4a 01             	lea    0x1(%edx),%ecx
429198:	8d 0c 4e             	lea    (%esi,%ecx,2),%ecx
42919b:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
42919e:	73 37                	jae    0x4291d7
4291a0:	85 d2                	test   %edx,%edx
4291a2:	7e 16                	jle    0x4291ba
4291a4:	2b de                	sub    %esi,%ebx
4291a6:	66 8b 04 33          	mov    (%ebx,%esi,1),%ax
4291aa:	66 89 06             	mov    %ax,(%esi)
4291ad:	83 c6 02             	add    $0x2,%esi
4291b0:	83 ea 01             	sub    $0x1,%edx
4291b3:	75 f1                	jne    0x4291a6
4291b5:	8b 07                	mov    (%edi),%eax
4291b7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4291ba:	0f b7 00             	movzwl (%eax),%eax
4291bd:	33 d2                	xor    %edx,%edx
4291bf:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4291c2:	8b c8                	mov    %eax,%ecx
4291c4:	66 3b d0             	cmp    %ax,%dx
4291c7:	75 b0                	jne    0x429179
4291c9:	3b 75 fc             	cmp    -0x4(%ebp),%esi
4291cc:	73 09                	jae    0x4291d7
4291ce:	33 c0                	xor    %eax,%eax
4291d0:	66 89 06             	mov    %ax,(%esi)
4291d3:	33 c0                	xor    %eax,%eax
4291d5:	eb 05                	jmp    0x4291dc
4291d7:	b8 09 00 02 80       	mov    $0x80020009,%eax
4291dc:	5f                   	pop    %edi
4291dd:	5e                   	pop    %esi
4291de:	5b                   	pop    %ebx
4291df:	c9                   	leave
4291e0:	c2 04 00             	ret    $0x4
4291e3:	8b ff                	mov    %edi,%edi
4291e5:	56                   	push   %esi
4291e6:	85 c9                	test   %ecx,%ecx
4291e8:	74 4d                	je     0x429237
4291ea:	8b 31                	mov    (%ecx),%esi
4291ec:	85 f6                	test   %esi,%esi
4291ee:	74 47                	je     0x429237
4291f0:	0f b7 06             	movzwl (%esi),%eax
4291f3:	6a 13                	push   $0x13
4291f5:	59                   	pop    %ecx
4291f6:	66 3b c8             	cmp    %ax,%cx
4291f9:	74 0e                	je     0x429209
4291fb:	b9 13 10 00 00       	mov    $0x1013,%ecx
429200:	66 3b c8             	cmp    %ax,%cx
429203:	75 32                	jne    0x429237
429205:	33 c0                	xor    %eax,%eax
429207:	5e                   	pop    %esi
429208:	c3                   	ret
429209:	6a 04                	push   $0x4
42920b:	ff 15 5c a0 43 00    	call   *0x43a05c
429211:	8b c8                	mov    %eax,%ecx
429213:	85 c9                	test   %ecx,%ecx
429215:	75 07                	jne    0x42921e
429217:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
42921c:	5e                   	pop    %esi
42921d:	c3                   	ret
42921e:	8b 46 08             	mov    0x8(%esi),%eax
429221:	ba 13 10 00 00       	mov    $0x1013,%edx
429226:	66 89 16             	mov    %dx,(%esi)
429229:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
429230:	89 4e 0c             	mov    %ecx,0xc(%esi)
429233:	89 01                	mov    %eax,(%ecx)
429235:	eb ce                	jmp    0x429205
429237:	b8 57 00 07 80       	mov    $0x80070057,%eax
42923c:	5e                   	pop    %esi
42923d:	c3                   	ret
42923e:	cc                   	int3
42923f:	cc                   	int3
429240:	8b ff                	mov    %edi,%edi
429242:	55                   	push   %ebp
429243:	8b ec                	mov    %esp,%ebp
429245:	83 ec 58             	sub    $0x58,%esp
429248:	53                   	push   %ebx
429249:	8b d9                	mov    %ecx,%ebx