42b060:	8d 8d c8 f9 ff ff    	lea    -0x638(%ebp),%ecx
42b066:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
42b06c:	85 c0                	test   %eax,%eax
42b06e:	75 06                	jne    0x42b076
42b070:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
42b076:	33 f6                	xor    %esi,%esi
42b078:	8d 95 a4 f7 ff ff    	lea    -0x85c(%ebp),%edx
42b07e:	56                   	push   %esi
42b07f:	56                   	push   %esi
42b080:	56                   	push   %esi
42b081:	56                   	push   %esi
42b082:	52                   	push   %edx
42b083:	ff b5 d8 fb ff ff    	push   -0x428(%ebp)
42b089:	51                   	push   %ecx
42b08a:	50                   	push   %eax
42b08b:	ff 15 dc a0 44 00    	call   *0x44a0dc
42b091:	85 c0                	test   %eax,%eax
42b093:	75 21                	jne    0x42b0b6
42b095:	ff 15 80 a0 44 00    	call   *0x44a080
42b09b:	3d 90 00 00 00       	cmp    $0x90,%eax
42b0a0:	75 07                	jne    0x42b0a9
42b0a2:	8b de                	mov    %esi,%ebx
42b0a4:	e9 1c 01 00 00       	jmp    0x42b1c5
42b0a9:	56                   	push   %esi
42b0aa:	ff 15 80 a0 44 00    	call   *0x44a080
42b0b0:	50                   	push   %eax
42b0b1:	e9 08 01 00 00       	jmp    0x42b1be
42b0b6:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
42b0bc:	8b c8                	mov    %eax,%ecx
42b0be:	85 c0                	test   %eax,%eax
42b0c0:	75 06                	jne    0x42b0c8
42b0c2:	8d 8d e0 fb ff ff    	lea    -0x420(%ebp),%ecx
42b0c8:	66 83 39 5c          	cmpw   $0x5c,(%ecx)
42b0cc:	75 1f                	jne    0x42b0ed
42b0ce:	85 c0                	test   %eax,%eax
42b0d0:	75 06                	jne    0x42b0d8
42b0d2:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
42b0d8:	8b c8                	mov    %eax,%ecx
42b0da:	eb 05                	jmp    0x42b0e1
42b0dc:	8b c8                	mov    %eax,%ecx
42b0de:	83 c0 02             	add    $0x2,%eax
42b0e1:	66 39 30             	cmp    %si,(%eax)
42b0e4:	75 f6                	jne    0x42b0dc
42b0e6:	33 c0                	xor    %eax,%eax
42b0e8:	66 89 01             	mov    %ax,(%ecx)
42b0eb:	eb 10                	jmp    0x42b0fd
42b0ed:	85 c0                	test   %eax,%eax
42b0ef:	75 06                	jne    0x42b0f7
42b0f1:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
42b0f7:	33 c9                	xor    %ecx,%ecx
42b0f9:	66 89 48 02          	mov    %cx,0x2(%eax)
42b0fd:	8b 85 d0 fb ff ff    	mov    -0x430(%ebp),%eax
42b103:	8b c8                	mov    %eax,%ecx
42b105:	85 c0                	test   %eax,%eax
42b107:	75 06                	jne    0x42b10f
42b109:	8d 8d c8 f9 ff ff    	lea    -0x638(%ebp),%ecx
42b10f:	66 39 31             	cmp    %si,(%ecx)
42b112:	74 2e                	je     0x42b142
42b114:	85 c0                	test   %eax,%eax
42b116:	75 06                	jne    0x42b11e
42b118:	8d 85 c8 f9 ff ff    	lea    -0x638(%ebp),%eax
42b11e:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
42b124:	85 c9                	test   %ecx,%ecx
42b126:	75 06                	jne    0x42b12e
42b128:	8d 8d e0 fb ff ff    	lea    -0x420(%ebp),%ecx
42b12e:	50                   	push   %eax
42b12f:	51                   	push   %ecx
42b130:	6a 02                	push   $0x2
42b132:	68 5f 23 00 00       	push   $0x235f
42b137:	57                   	push   %edi
42b138:	e8 ed d1 ff ff       	call   0x42832a
42b13d:	83 c4 14             	add    $0x14,%esp
42b140:	eb 20                	jmp    0x42b162
42b142:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
42b148:	85 c0                	test   %eax,%eax
42b14a:	75 06                	jne    0x42b152
42b14c:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
42b152:	50                   	push   %eax
42b153:	53                   	push   %ebx
42b154:	68 5e 23 00 00       	push   $0x235e
42b159:	57                   	push   %edi
42b15a:	e8 cb d1 ff ff       	call   0x42832a
42b15f:	83 c4 10             	add    $0x10,%esp
42b162:	8b f0                	mov    %eax,%esi
42b164:	85 f6                	test   %esi,%esi
42b166:	75 5f                	jne    0x42b1c7
42b168:	8b 85 a4 f7 ff ff    	mov    -0x85c(%ebp),%eax
42b16e:	85 c0                	test   %eax,%eax
42b170:	75 08                	jne    0x42b17a
42b172:	39 85 a8 f7 ff ff    	cmp    %eax,-0x858(%ebp)
42b178:	74 4d                	je     0x42b1c7
42b17a:	0f b7 c0             	movzwl %ax,%eax
42b17d:	50                   	push   %eax
42b17e:	0f b7 85 a6 f7 ff ff 	movzwl -0x85a(%ebp),%eax
42b185:	50                   	push   %eax
42b186:	68 50 3b 40 00       	push   $0x403b50
42b18b:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
42b191:	68 00 01 00 00       	push   $0x100
42b196:	50                   	push   %eax
42b197:	e8 23 e9 fd ff       	call   0x409abf
42b19c:	83 c4 14             	add    $0x14,%esp
42b19f:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
42b1a5:	50                   	push   %eax
42b1a6:	53                   	push   %ebx
42b1a7:	68 5b 23 00 00       	push   $0x235b
42b1ac:	57                   	push   %edi
42b1ad:	e8 78 d1 ff ff       	call   0x42832a
42b1b2:	83 c4 10             	add    $0x10,%esp
42b1b5:	8b f0                	mov    %eax,%esi
42b1b7:	eb 0e                	jmp    0x42b1c7
42b1b9:	33 c0                	xor    %eax,%eax
42b1bb:	50                   	push   %eax
42b1bc:	6a 08                	push   $0x8
42b1be:	e8 21 c7 fd ff       	call   0x4078e4
42b1c3:	59                   	pop    %ecx
42b1c4:	59                   	pop    %ecx
42b1c5:	8b f3                	mov    %ebx,%esi
42b1c7:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
42b1cd:	33 db                	xor    %ebx,%ebx
42b1cf:	89 9d e8 fd ff ff    	mov    %ebx,-0x218(%ebp)
42b1d5:	85 c0                	test   %eax,%eax
42b1d7:	74 08                	je     0x42b1e1
42b1d9:	50                   	push   %eax
42b1da:	ff 15 e0 a3 44 00    	call   *0x44a3e0
42b1e0:	59                   	pop    %ecx
42b1e1:	8b 85 d0 fb ff ff    	mov    -0x430(%ebp),%eax
42b1e7:	89 9d d0 fb ff ff    	mov    %ebx,-0x430(%ebp)
42b1ed:	85 c0                	test   %eax,%eax
42b1ef:	74 08                	je     0x42b1f9
42b1f1:	50                   	push   %eax
42b1f2:	ff 15 e0 a3 44 00    	call   *0x44a3e0
42b1f8:	59                   	pop    %ecx
42b1f9:	8b 85 b8 f9 ff ff    	mov    -0x648(%ebp),%eax
42b1ff:	89 9d b8 f9 ff ff    	mov    %ebx,-0x648(%ebp)
42b205:	85 c0                	test   %eax,%eax
42b207:	74 08                	je     0x42b211
42b209:	50                   	push   %eax
42b20a:	ff 15 e0 a3 44 00    	call   *0x44a3e0
42b210:	59                   	pop    %ecx
42b211:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42b214:	8b c6                	mov    %esi,%eax
42b216:	5f                   	pop    %edi
42b217:	5e                   	pop    %esi
42b218:	33 cd                	xor    %ebp,%ecx
42b21a:	5b                   	pop    %ebx
42b21b:	e8 10 b9 fe ff       	call   0x416b30
42b220:	c9                   	leave
42b221:	c3                   	ret
42b222:	8b ff                	mov    %edi,%edi
42b224:	55                   	push   %ebp
42b225:	8b ec                	mov    %esp,%ebp
42b227:	81 ec 28 02 00 00    	sub    $0x228,%esp
42b22d:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
42b232:	33 c5                	xor    %ebp,%eax
42b234:	89 45 fc             	mov    %eax,-0x4(%ebp)
42b237:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
42b23b:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
42b241:	53                   	push   %ebx
42b242:	56                   	push   %esi
42b243:	57                   	push   %edi
42b244:	be 04 01 00 00       	mov    $0x104,%esi
42b249:	89 95 dc fd ff ff    	mov    %edx,-0x224(%ebp)
42b24f:	56                   	push   %esi
42b250:	33 db                	xor    %ebx,%ebx
42b252:	89 75 f0             	mov    %esi,-0x10(%ebp)
42b255:	6a 00                	push   $0x0
42b257:	43                   	inc    %ebx
42b258:	8b f9                	mov    %ecx,%edi
42b25a:	50                   	push   %eax
42b25b:	88 5d ec             	mov    %bl,-0x14(%ebp)
42b25e:	e8 5a cd fe ff       	call   0x417fbd
42b263:	33 c0                	xor    %eax,%eax
42b265:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
42b26b:	83 c4 0c             	add    $0xc,%esp
42b26e:	38 45 ec             	cmp    %al,-0x14(%ebp)
42b271:	0f 94 c0             	sete   %al
42b274:	48                   	dec    %eax
42b275:	25 e3 7e 00 00       	and    $0x7ee3,%eax
42b27a:	03 c6                	add    %esi,%eax
42b27c:	50                   	push   %eax
42b27d:	e8 6e 31 fe ff       	call   0x40e3f0
42b282:	85 c0                	test   %eax,%eax
42b284:	78 79                	js     0x42b2ff
42b286:	8b 45 08             	mov    0x8(%ebp),%eax
42b289:	be 00 1f 40 00       	mov    $0x401f00,%esi
42b28e:	f6 00 10             	testb  $0x10,(%eax)
42b291:	74 05                	je     0x42b298
42b293:	be 7c 3b 40 00       	mov    $0x403b7c,%esi
42b298:	83 c0 2c             	add    $0x2c,%eax
42b29b:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
42b2a1:	50                   	push   %eax
42b2a2:	e8 9a f3 fd ff       	call   0x40a641
42b2a7:	8b 4d e8             	mov    -0x18(%ebp),%ecx
42b2aa:	85 c9                	test   %ecx,%ecx
42b2ac:	75 06                	jne    0x42b2b4
42b2ae:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
42b2b4:	8b 9d dc fd ff ff    	mov    -0x224(%ebp),%ebx
42b2ba:	53                   	push   %ebx
42b2bb:	e8 b9 96 fd ff       	call   0x404979
42b2c0:	84 db                	test   %bl,%bl
42b2c2:	79 15                	jns    0x42b2d9
42b2c4:	8b 45 e8             	mov    -0x18(%ebp),%eax
42b2c7:	85 c0                	test   %eax,%eax
42b2c9:	75 06                	jne    0x42b2d1
42b2cb:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
42b2d1:	50                   	push   %eax
42b2d2:	ff 15 68 a3 44 00    	call   *0x44a368
42b2d8:	59                   	pop    %ecx
42b2d9:	8b 45 e8             	mov    -0x18(%ebp),%eax
42b2dc:	85 c0                	test   %eax,%eax
42b2de:	75 06                	jne    0x42b2e6
42b2e0:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
42b2e6:	50                   	push   %eax
42b2e7:	8b d6                	mov    %esi,%edx
42b2e9:	8b cf                	mov    %edi,%ecx
42b2eb:	e8 14 b3 fe ff       	call   0x416604
42b2f0:	8b d8                	mov    %eax,%ebx
42b2f2:	85 db                	test   %ebx,%ebx
42b2f4:	75 09                	jne    0x42b2ff
42b2f6:	8b cf                	mov    %edi,%ecx
42b2f8:	e8 25 d1 ff ff       	call   0x428422
42b2fd:	8b d8                	mov    %eax,%ebx
42b2ff:	8b 45 e8             	mov    -0x18(%ebp),%eax
42b302:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
42b306:	85 c0                	test   %eax,%eax
42b308:	74 08                	je     0x42b312
42b30a:	50                   	push   %eax
42b30b:	ff 15 e0 a3 44 00    	call   *0x44a3e0
42b311:	59                   	pop    %ecx
42b312:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42b315:	8b c3                	mov    %ebx,%eax
42b317:	5f                   	pop    %edi
42b318:	5e                   	pop    %esi
42b319:	33 cd                	xor    %ebp,%ecx
42b31b:	5b                   	pop    %ebx
42b31c:	e8 0f b8 fe ff       	call   0x416b30
42b321:	c9                   	leave
42b322:	c2 04 00             	ret    $0x4
42b325:	8b ff                	mov    %edi,%edi
42b327:	55                   	push   %ebp
42b328:	8b ec                	mov    %esp,%ebp
42b32a:	81 ec ec 00 00 00    	sub    $0xec,%esp
42b330:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
42b335:	33 c5                	xor    %ebp,%eax
42b337:	89 45 fc             	mov    %eax,-0x4(%ebp)
42b33a:	83 a5 2c ff ff ff 00 	andl   $0x0,-0xd4(%ebp)
42b341:	53                   	push   %ebx
42b342:	56                   	push   %esi
42b343:	be b0 c9 43 00       	mov    $0x43c9b0,%esi
42b348:	89 8d 24 ff ff ff    	mov    %ecx,-0xdc(%ebp)
42b34e:	57                   	push   %edi
42b34f:	8b 7d 0c             	mov    0xc(%ebp),%edi
42b352:	89 bd 20 ff ff ff    	mov    %edi,-0xe0(%ebp)
42b358:	8d 5e 02             	lea    0x2(%esi),%ebx
42b35b:	66 8b 06             	mov    (%esi),%ax
42b35e:	83 c6 02             	add    $0x2,%esi
42b361:	66 3b 85 2c ff ff ff 	cmp    -0xd4(%ebp),%ax
42b368:	75 f1                	jne    0x42b35b
42b36a:	2b f3                	sub    %ebx,%esi
42b36c:	8d 5d fa             	lea    -0x6(%ebp),%ebx
42b36f:	d1 fe                	sar    $1,%esi
42b371:	33 c0                	xor    %eax,%eax
42b373:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
42b377:	8b f8                	mov    %eax,%edi
42b379:	8b 02                	mov    (%edx),%eax
42b37b:	8b 52 04             	mov    0x4(%edx),%edx
42b37e:	89 b5 28 ff ff ff    	mov    %esi,-0xd8(%ebp)
42b384:	89 9d 30 ff ff ff    	mov    %ebx,-0xd0(%ebp)
42b38a:	89 85 2c ff ff ff    	mov    %eax,-0xd4(%ebp)
42b390:	0b c2                	or     %edx,%eax
42b392:	0f 84 96 00 00 00    	je     0x42b42e
42b398:	53                   	push   %ebx
42b399:	33 c0                	xor    %eax,%eax
42b39b:	50                   	push   %eax
42b39c:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
42b3a2:	6a 0a                	push   $0xa
42b3a4:	52                   	push   %edx
42b3a5:	50                   	push   %eax
42b3a6:	e8 35 cb fe ff       	call   0x417ee0
42b3ab:	5b                   	pop    %ebx
42b3ac:	90                   	nop
42b3ad:	8b 9d 30 ff ff ff    	mov    -0xd0(%ebp),%ebx
42b3b3:	83 eb 02             	sub    $0x2,%ebx
42b3b6:	89 85 2c ff ff ff    	mov    %eax,-0xd4(%ebp)
42b3bc:	8d 41 30             	lea    0x30(%ecx),%eax
42b3bf:	89 95 1c ff ff ff    	mov    %edx,-0xe4(%ebp)
42b3c5:	47                   	inc    %edi
42b3c6:	8b b5 28 ff ff ff    	mov    -0xd8(%ebp),%esi
42b3cc:	6a 03                	push   $0x3
42b3ce:	66 89 03             	mov    %ax,(%ebx)
42b3d1:	33 d2                	xor    %edx,%edx
42b3d3:	59                   	pop    %ecx
42b3d4:	8b c7                	mov    %edi,%eax
42b3d6:	89 9d 30 ff ff ff    	mov    %ebx,-0xd0(%ebp)
42b3dc:	f7 f1                	div    %ecx
42b3de:	8b 8d 24 ff ff ff    	mov    -0xdc(%ebp),%ecx
42b3e4:	85 d2                	test   %edx,%edx
42b3e6:	75 2c                	jne    0x42b414
42b3e8:	f7 c1 00 80 00 00    	test   $0x8000,%ecx
42b3ee:	74 24                	je     0x42b414
42b3f0:	85 f6                	test   %esi,%esi
42b3f2:	74 20                	je     0x42b414
42b3f4:	8d 04 36             	lea    (%esi,%esi,1),%eax
42b3f7:	50                   	push   %eax
42b3f8:	2b d8                	sub    %eax,%ebx
42b3fa:	68 b0 c9 43 00       	push   $0x43c9b0
42b3ff:	53                   	push   %ebx
42b400:	89 9d 30 ff ff ff    	mov    %ebx,-0xd0(%ebp)
42b406:	e8 37 c8 fe ff       	call   0x417c42
42b40b:	8b 8d 24 ff ff ff    	mov    -0xdc(%ebp),%ecx
42b411:	83 c4 0c             	add    $0xc,%esp
42b414:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
42b41a:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
42b420:	3b d8                	cmp    %eax,%ebx
42b422:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
42b428:	0f 87 62 ff ff ff    	ja     0x42b390
42b42e:	85 ff                	test   %edi,%edi
42b430:	75 0b                	jne    0x42b43d
42b432:	83 eb 02             	sub    $0x2,%ebx
42b435:	6a 30                	push   $0x30
42b437:	58                   	pop    %eax
42b438:	66 89 03             	mov    %ax,(%ebx)
42b43b:	eb 1f                	jmp    0x42b45c
42b43d:	f7 c1 00 80 00 00    	test   $0x8000,%ecx
42b443:	74 1d                	je     0x42b462
42b445:	56                   	push   %esi
42b446:	68 b0 c9 43 00       	push   $0x43c9b0
42b44b:	53                   	push   %ebx
42b44c:	ff 15 9c a3 44 00    	call   *0x44a39c
42b452:	83 c4 0c             	add    $0xc,%esp
42b455:	85 c0                	test   %eax,%eax
42b457:	75 09                	jne    0x42b462
42b459:	8d 1c 73             	lea    (%ebx,%esi,2),%ebx
42b45c:	89 9d 30 ff ff ff    	mov    %ebx,-0xd0(%ebp)
42b462:	8b bd 20 ff ff ff    	mov    -0xe0(%ebp),%edi
42b468:	8b cb                	mov    %ebx,%ecx
42b46a:	33 f6                	xor    %esi,%esi
42b46c:	8d 51 02             	lea    0x2(%ecx),%edx
42b46f:	66 8b 01             	mov    (%ecx),%ax
42b472:	83 c1 02             	add    $0x2,%ecx
42b475:	66 3b c6             	cmp    %si,%ax
42b478:	75 f5                	jne    0x42b46f
42b47a:	8b 45 08             	mov    0x8(%ebp),%eax
42b47d:	2b ca                	sub    %edx,%ecx
42b47f:	d1 f9                	sar    $1,%ecx
42b481:	85 c0                	test   %eax,%eax
42b483:	74 43                	je     0x42b4c8
42b485:	3b c8                	cmp    %eax,%ecx
42b487:	73 3f                	jae    0x42b4c8
42b489:	8b 55 10             	mov    0x10(%ebp),%edx