405f0b:	8d 45 ac             	lea    -0x54(%ebp),%eax
405f0e:	6a 00                	push   $0x0
405f10:	50                   	push   %eax
405f11:	e8 ca 24 01 00       	call   0x4183e0
405f16:	8b 45 0c             	mov    0xc(%ebp),%eax
405f19:	8b 48 10             	mov    0x10(%eax),%ecx
405f1c:	8b 5d 08             	mov    0x8(%ebp),%ebx
405f1f:	6a 06                	push   $0x6
405f21:	8d 55 a8             	lea    -0x58(%ebp),%edx
405f24:	52                   	push   %edx
405f25:	50                   	push   %eax
405f26:	53                   	push   %ebx
405f27:	89 4d a8             	mov    %ecx,-0x58(%ebp)
405f2a:	e8 b1 01 01 00       	call   0x4160e0
405f2f:	83 c4 1c             	add    $0x1c,%esp
405f32:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
405f36:	0f 84 7e 01 00 00    	je     0x4060ba
405f3c:	8b 75 14             	mov    0x14(%ebp),%esi
405f3f:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
405f42:	8d 86 f8 02 00 00    	lea    0x2f8(%esi),%eax
405f48:	50                   	push   %eax
405f49:	51                   	push   %ecx
405f4a:	e8 11 fb ff ff       	call   0x405a60
405f4f:	83 c4 08             	add    $0x8,%esp
405f52:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
405f56:	0f 84 5e 01 00 00    	je     0x4060ba
405f5c:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
405f60:	0f 84 54 01 00 00    	je     0x4060ba
405f66:	8b 45 dc             	mov    -0x24(%ebp),%eax
405f69:	85 c0                	test   %eax,%eax
405f6b:	0f 84 49 01 00 00    	je     0x4060ba
405f71:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
405f75:	0f 84 3f 01 00 00    	je     0x4060ba
405f7b:	8b 96 d8 02 00 00    	mov    0x2d8(%esi),%edx
405f81:	89 10                	mov    %edx,(%eax)
405f83:	8b 86 d4 02 00 00    	mov    0x2d4(%esi),%eax
405f89:	8b 4d c8             	mov    -0x38(%ebp),%ecx
405f8c:	8b 55 18             	mov    0x18(%ebp),%edx
405f8f:	89 01                	mov    %eax,(%ecx)
405f91:	8b 42 08             	mov    0x8(%edx),%eax
405f94:	8b 4d d8             	mov    -0x28(%ebp),%ecx
405f97:	89 01                	mov    %eax,(%ecx)
405f99:	8b 96 00 03 00 00    	mov    0x300(%esi),%edx
405f9f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
405fa2:	89 10                	mov    %edx,(%eax)
405fa4:	81 86 d4 02 00 00 00 	addl   $0x28000,0x2d4(%esi)
405fab:	80 02 00
405fae:	e8 1d 1d 01 00       	call   0x417cd0
405fb3:	8b be d8 02 00 00    	mov    0x2d8(%esi),%edi
405fb9:	b9 00 f0 ff ff       	mov    $0xfffff000,%ecx
405fbe:	2b c8                	sub    %eax,%ecx
405fc0:	01 8e d4 02 00 00    	add    %ecx,0x2d4(%esi)
405fc6:	6a 71                	push   $0x71
405fc8:	53                   	push   %ebx
405fc9:	81 c7 00 02 05 00    	add    $0x50200,%edi
405fcf:	e8 cc 16 00 00       	call   0x4076a0
405fd4:	50                   	push   %eax
405fd5:	6a 00                	push   $0x0
405fd7:	e8 b4 19 01 00       	call   0x417990
405fdc:	89 45 f8             	mov    %eax,-0x8(%ebp)
405fdf:	8b 86 d8 02 00 00    	mov    0x2d8(%esi),%eax
405fe5:	83 c4 10             	add    $0x10,%esp
405fe8:	05 00 04 05 00       	add    $0x50400,%eax
405fed:	68 22 02 00 00       	push   $0x222
405ff2:	89 45 fc             	mov    %eax,-0x4(%ebp)
405ff5:	e8 44 4b 01 00       	call   0x41ab3e
405ffa:	8b 55 fc             	mov    -0x4(%ebp),%edx
405ffd:	83 c0 02             	add    $0x2,%eax
406000:	50                   	push   %eax
406001:	52                   	push   %edx
406002:	e8 19 d1 00 00       	call   0x413120
406007:	8b 45 f8             	mov    -0x8(%ebp),%eax
40600a:	8b 48 28             	mov    0x28(%eax),%ecx
40600d:	57                   	push   %edi
40600e:	51                   	push   %ecx
40600f:	53                   	push   %ebx
406010:	e8 cb fa ff ff       	call   0x405ae0
406015:	83 c4 18             	add    $0x18,%esp
406018:	66 83 3f 00          	cmpw   $0x0,(%edi)
40601c:	0f 84 98 00 00 00    	je     0x4060ba
406022:	e8 ab 57 01 00       	call   0x41b7d2
406027:	83 c0 02             	add    $0x2,%eax
40602a:	89 45 f8             	mov    %eax,-0x8(%ebp)
40602d:	8b 45 f8             	mov    -0x8(%ebp),%eax
406030:	ff d0                	call   *%eax
406032:	8b 7d 10             	mov    0x10(%ebp),%edi
406035:	8b 55 0c             	mov    0xc(%ebp),%edx
406038:	6a 64                	push   $0x64
40603a:	56                   	push   %esi
40603b:	57                   	push   %edi
40603c:	52                   	push   %edx
40603d:	53                   	push   %ebx
40603e:	e8 8d fc ff ff       	call   0x405cd0
406043:	8b c8                	mov    %eax,%ecx
406045:	33 c0                	xor    %eax,%eax
406047:	83 c4 14             	add    $0x14,%esp
40604a:	89 4d 0c             	mov    %ecx,0xc(%ebp)
40604d:	89 45 e0             	mov    %eax,-0x20(%ebp)
406050:	89 45 e4             	mov    %eax,-0x1c(%ebp)
406053:	89 45 e8             	mov    %eax,-0x18(%ebp)
406056:	89 45 ec             	mov    %eax,-0x14(%ebp)
406059:	89 45 f0             	mov    %eax,-0x10(%ebp)
40605c:	89 45 f4             	mov    %eax,-0xc(%ebp)
40605f:	3b c8                	cmp    %eax,%ecx
406061:	74 4e                	je     0x4060b1
406063:	8b 97 20 02 00 00    	mov    0x220(%edi),%edx
406069:	50                   	push   %eax
40606a:	6a 18                	push   $0x18
40606c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40606f:	51                   	push   %ecx
406070:	50                   	push   %eax
406071:	52                   	push   %edx
406072:	53                   	push   %ebx
406073:	e8 e8 06 01 00       	call   0x416760
406078:	83 c4 18             	add    $0x18,%esp
40607b:	89 86 dc 02 00 00    	mov    %eax,0x2dc(%esi)
406081:	85 c0                	test   %eax,%eax
406083:	78 35                	js     0x4060ba
406085:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
406088:	8b 97 20 02 00 00    	mov    0x220(%edi),%edx
40608e:	6a 00                	push   $0x0
406090:	6a 04                	push   $0x4
406092:	8d 47 14             	lea    0x14(%edi),%eax
406095:	50                   	push   %eax
406096:	83 c1 08             	add    $0x8,%ecx
406099:	51                   	push   %ecx
40609a:	52                   	push   %edx
40609b:	53                   	push   %ebx
40609c:	e8 bf 0c 01 00       	call   0x416d60
4060a1:	83 c4 18             	add    $0x18,%esp
4060a4:	89 86 dc 02 00 00    	mov    %eax,0x2dc(%esi)
4060aa:	85 c0                	test   %eax,%eax
4060ac:	78 0c                	js     0x4060ba
4060ae:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4060b1:	8b c1                	mov    %ecx,%eax
4060b3:	5f                   	pop    %edi
4060b4:	5e                   	pop    %esi
4060b5:	5b                   	pop    %ebx
4060b6:	8b e5                	mov    %ebp,%esp
4060b8:	5d                   	pop    %ebp
4060b9:	c3                   	ret
4060ba:	5f                   	pop    %edi
4060bb:	5e                   	pop    %esi
4060bc:	33 c0                	xor    %eax,%eax
4060be:	5b                   	pop    %ebx
4060bf:	8b e5                	mov    %ebp,%esp
4060c1:	5d                   	pop    %ebp
4060c2:	c3                   	ret
4060c3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4060c4:	c6 06 d0             	movb   $0xd0,(%esi)
4060c7:	86 13                	xchg   %dl,(%ebx)
4060c9:	8d 30                	lea    (%eax),%esi
4060cb:	c0 98 a8 20 6e 55 8b 	rcrb   $0x8b,0x556e20a8(%eax)
4060d2:	ec                   	in     (%dx),%al
4060d3:	81 ec 70 06 00 00    	sub    $0x670,%esp
4060d9:	53                   	push   %ebx
4060da:	56                   	push   %esi
4060db:	8b 75 08             	mov    0x8(%ebp),%esi
4060de:	8d 45 ec             	lea    -0x14(%ebp),%eax
4060e1:	50                   	push   %eax
4060e2:	56                   	push   %esi
4060e3:	33 db                	xor    %ebx,%ebx
4060e5:	e8 f6 f6 ff ff       	call   0x4057e0
4060ea:	83 c4 08             	add    $0x8,%esp
4060ed:	85 c0                	test   %eax,%eax
4060ef:	0f 84 88 02 00 00    	je     0x40637d
4060f5:	57                   	push   %edi
4060f6:	8d 8d 90 f9 ff ff    	lea    -0x670(%ebp),%ecx
4060fc:	51                   	push   %ecx
4060fd:	8d 55 ec             	lea    -0x14(%ebp),%edx
406100:	52                   	push   %edx
406101:	e8 ea f8 ff ff       	call   0x4059f0
406106:	8b 7d 0c             	mov    0xc(%ebp),%edi
406109:	83 c4 08             	add    $0x8,%esp
40610c:	8d 64 24 00          	lea    0x0(%esp),%esp
406110:	8d 85 bc fb ff ff    	lea    -0x444(%ebp),%eax
406116:	68 04 01 00 00       	push   $0x104
40611b:	50                   	push   %eax
40611c:	e8 6f 22 01 00       	call   0x418390
406121:	8d 8d b4 f9 ff ff    	lea    -0x64c(%ebp),%ecx
406127:	51                   	push   %ecx
406128:	8d 95 bc fb ff ff    	lea    -0x444(%ebp),%edx
40612e:	52                   	push   %edx
40612f:	e8 cc 28 01 00       	call   0x418a00
406134:	8d 85 bc fb ff ff    	lea    -0x444(%ebp),%eax
40613a:	50                   	push   %eax
40613b:	68 21 69 99 19       	push   $0x19996921
406140:	e8 2b c1 00 00       	call   0x412270
406145:	83 c4 18             	add    $0x18,%esp
406148:	85 c0                	test   %eax,%eax
40614a:	0f 84 00 02 00 00    	je     0x406350
406150:	8b 45 14             	mov    0x14(%ebp),%eax
406153:	83 f8 1d             	cmp    $0x1d,%eax
406156:	0f 85 df 01 00 00    	jne    0x40633b
40615c:	33 db                	xor    %ebx,%ebx
40615e:	68 28 03 00 00       	push   $0x328
406163:	8d 8d c4 fc ff ff    	lea    -0x33c(%ebp),%ecx
406169:	53                   	push   %ebx
40616a:	51                   	push   %ecx
40616b:	89 9d c0 fc ff ff    	mov    %ebx,-0x340(%ebp)
406171:	e8 6a 22 01 00       	call   0x4183e0
406176:	8b 95 98 f9 ff ff    	mov    -0x668(%ebp),%edx
40617c:	8d 45 a8             	lea    -0x58(%ebp),%eax
40617f:	50                   	push   %eax
406180:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
406183:	51                   	push   %ecx
406184:	89 55 a8             	mov    %edx,-0x58(%ebp)
406187:	68 38 04 00 00       	push   $0x438
40618c:	8d 55 b4             	lea    -0x4c(%ebp),%edx
40618f:	52                   	push   %edx
406190:	56                   	push   %esi
406191:	c7 85 c4 fc ff ff 07 	movl   $0x10007,-0x33c(%ebp)
406198:	00 01 00
40619b:	c7 45 d4 18 00 00 00 	movl   $0x18,-0x2c(%ebp)
4061a2:	89 5d d8             	mov    %ebx,-0x28(%ebp)
4061a5:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4061a8:	89 5d dc             	mov    %ebx,-0x24(%ebp)
4061ab:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4061ae:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4061b1:	c7 45 90 38 04 00 00 	movl   $0x438,-0x70(%ebp)
4061b8:	e8 b3 03 01 00       	call   0x416570
4061bd:	83 c4 20             	add    $0x20,%esp
4061c0:	89 45 9c             	mov    %eax,-0x64(%ebp)
4061c3:	3b c3                	cmp    %ebx,%eax
4061c5:	0f 8c 89 01 00 00    	jl     0x406354
4061cb:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
4061ce:	74 75                	je     0x406245
4061d0:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
4061d3:	53                   	push   %ebx
4061d4:	6a 04                	push   $0x4
4061d6:	8d 85 c0 fc ff ff    	lea    -0x340(%ebp),%eax
4061dc:	50                   	push   %eax
4061dd:	6a 1a                	push   $0x1a
4061df:	51                   	push   %ecx
4061e0:	56                   	push   %esi
4061e1:	e8 7a 05 01 00       	call   0x416760
4061e6:	83 c4 18             	add    $0x18,%esp
4061e9:	39 9d c0 fc ff ff    	cmp    %ebx,-0x340(%ebp)
4061ef:	75 54                	jne    0x406245
4061f1:	8b 57 10             	mov    0x10(%edi),%edx
4061f4:	6a 06                	push   $0x6
4061f6:	52                   	push   %edx
4061f7:	57                   	push   %edi
4061f8:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4061fb:	50                   	push   %eax
4061fc:	56                   	push   %esi
4061fd:	e8 ee 39 00 00       	call   0x409bf0
406202:	8b 4f 1c             	mov    0x1c(%edi),%ecx
406205:	83 c4 14             	add    $0x14,%esp
406208:	89 45 98             	mov    %eax,-0x68(%ebp)
40620b:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
40620e:	3b c3                	cmp    %ebx,%eax
406210:	0f 84 3e 01 00 00    	je     0x406354
406216:	3b cb                	cmp    %ebx,%ecx
406218:	0f 84 36 01 00 00    	je     0x406354
40621e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406221:	51                   	push   %ecx
406222:	8b 4d 10             	mov    0x10(%ebp),%ecx
406225:	8d 95 90 f9 ff ff    	lea    -0x670(%ebp),%edx
40622b:	52                   	push   %edx
40622c:	8d 85 c0 fc ff ff    	lea    -0x340(%ebp),%eax
406232:	50                   	push   %eax
406233:	51                   	push   %ecx
406234:	57                   	push   %edi
406235:	56                   	push   %esi
406236:	e8 c5 fc ff ff       	call   0x405f00
40623b:	83 c4 18             	add    $0x18,%esp
40623e:	8b d8                	mov    %eax,%ebx
406240:	e9 0b 01 00 00       	jmp    0x406350
406245:	8d 55 b8             	lea    -0x48(%ebp),%edx
406248:	52                   	push   %edx
406249:	8d 45 ec             	lea    -0x14(%ebp),%eax
40624c:	50                   	push   %eax
40624d:	e8 0e f8 ff ff       	call   0x405a60
406252:	8b 4d c0             	mov    -0x40(%ebp),%ecx
406255:	51                   	push   %ecx
406256:	8d 55 b0             	lea    -0x50(%ebp),%edx
406259:	52                   	push   %edx
40625a:	56                   	push   %esi
40625b:	e8 b0 6a 00 00       	call   0x40cd10
406260:	83 c4 14             	add    $0x14,%esp
406263:	85 c0                	test   %eax,%eax
406265:	75 12                	jne    0x406279
406267:	8b 45 b4             	mov    -0x4c(%ebp),%eax
40626a:	50                   	push   %eax
40626b:	56                   	push   %esi
40626c:	e8 7f 0a 01 00       	call   0x416cf0
406271:	83 c4 08             	add    $0x8,%esp
406274:	e9 db 00 00 00       	jmp    0x406354
406279:	e8 32 1a 01 00       	call   0x417cb0
40627e:	bb 02 00 00 00       	mov    $0x2,%ebx
406283:	2b 5e 04             	sub    0x4(%esi),%ebx
406286:	8d 95 c4 fc ff ff    	lea    -0x33c(%ebp),%edx
40628c:	03 d8                	add    %eax,%ebx
40628e:	8b 47 10             	mov    0x10(%edi),%eax
406291:	03 c3                	add    %ebx,%eax
406293:	89 45 fc             	mov    %eax,-0x4(%ebp)
406296:	8b 45 b0             	mov    -0x50(%ebp),%eax
406299:	52                   	push   %edx
40629a:	50                   	push   %eax
40629b:	56                   	push   %esi
40629c:	e8 4f 03 01 00       	call   0x4165f0
4062a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4062a4:	c6 00 68             	movb   $0x68,(%eax)
4062a7:	8b 8d 7c fd ff ff    	mov    -0x284(%ebp),%ecx
4062ad:	89 48 01             	mov    %ecx,0x1(%eax)
4062b0:	8b 57 10             	mov    0x10(%edi),%edx
4062b3:	6a 02                	push   $0x2
4062b5:	52                   	push   %edx
4062b6:	57                   	push   %edi
4062b7:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4062ba:	50                   	push   %eax
4062bb:	56                   	push   %esi
4062bc:	e8 2f 39 00 00       	call   0x409bf0
4062c1:	83 c4 20             	add    $0x20,%esp
4062c4:	85 c0                	test   %eax,%eax
4062c6:	75 07                	jne    0x4062cf
4062c8:	33 db                	xor    %ebx,%ebx
4062ca:	e9 85 00 00 00       	jmp    0x406354
4062cf:	2b 07                	sub    (%edi),%eax
4062d1:	8b 55 b0             	mov    -0x50(%ebp),%edx
4062d4:	8d 8d c4 fc ff ff    	lea    -0x33c(%ebp),%ecx
4062da:	51                   	push   %ecx
4062db:	52                   	push   %edx
4062dc:	03 d8                	add    %eax,%ebx
4062de:	56                   	push   %esi
4062df:	89 45 94             	mov    %eax,-0x6c(%ebp)
4062e2:	89 9d 7c fd ff ff    	mov    %ebx,-0x284(%ebp)
4062e8:	e8 33 03 01 00       	call   0x416620
4062ed:	8b 85 7c fd ff ff    	mov    -0x284(%ebp),%eax
4062f3:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4062f6:	6a 00                	push   $0x0
4062f8:	6a 00                	push   $0x0
4062fa:	6a 00                	push   $0x0
4062fc:	83 c0 05             	add    $0x5,%eax
4062ff:	50                   	push   %eax
406300:	51                   	push   %ecx
406301:	56                   	push   %esi
406302:	e8 a9 03 01 00       	call   0x4166b0
406307:	8b 55 b0             	mov    -0x50(%ebp),%edx
40630a:	6a 00                	push   $0x0
40630c:	52                   	push   %edx
40630d:	56                   	push   %esi
40630e:	89 45 9c             	mov    %eax,-0x64(%ebp)
406311:	e8 6a 03 01 00       	call   0x416680
406316:	8b 45 b0             	mov    -0x50(%ebp),%eax
406319:	50                   	push   %eax
40631a:	56                   	push   %esi
40631b:	e8 d0 09 01 00       	call   0x416cf0
406320:	8b 55 10             	mov    0x10(%ebp),%edx