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
42b48c:	8b f7                	mov    %edi,%esi
42b48e:	85 d2                	test   %edx,%edx
42b490:	7e 2c                	jle    0x42b4be
42b492:	8b 7d 08             	mov    0x8(%ebp),%edi
42b495:	33 c0                	xor    %eax,%eax
42b497:	8b d8                	mov    %eax,%ebx
42b499:	3b f9                	cmp    %ecx,%edi
42b49b:	76 15                	jbe    0x42b4b2
42b49d:	6a 20                	push   $0x20
42b49f:	58                   	pop    %eax
42b4a0:	66 89 06             	mov    %ax,(%esi)
42b4a3:	83 c3 02             	add    $0x2,%ebx
42b4a6:	8b c3                	mov    %ebx,%eax
42b4a8:	4f                   	dec    %edi
42b4a9:	d1 f8                	sar    $1,%eax
42b4ab:	83 c6 02             	add    $0x2,%esi
42b4ae:	3b c2                	cmp    %edx,%eax
42b4b0:	7c e7                	jl     0x42b499
42b4b2:	8b bd 20 ff ff ff    	mov    -0xe0(%ebp),%edi
42b4b8:	8b 9d 30 ff ff ff    	mov    -0xd0(%ebp),%ebx
42b4be:	8b c6                	mov    %esi,%eax
42b4c0:	2b c7                	sub    %edi,%eax
42b4c2:	d1 f8                	sar    $1,%eax
42b4c4:	2b d0                	sub    %eax,%edx
42b4c6:	eb 05                	jmp    0x42b4cd
42b4c8:	8b 55 10             	mov    0x10(%ebp),%edx
42b4cb:	8b f7                	mov    %edi,%esi
42b4cd:	53                   	push   %ebx
42b4ce:	8b ce                	mov    %esi,%ecx
42b4d0:	e8 cb 3e fe ff       	call   0x40f3a0
42b4d5:	8d 57 02             	lea    0x2(%edi),%edx
42b4d8:	33 c0                	xor    %eax,%eax
42b4da:	66 8b 0f             	mov    (%edi),%cx
42b4dd:	83 c7 02             	add    $0x2,%edi
42b4e0:	66 3b c8             	cmp    %ax,%cx
42b4e3:	75 f5                	jne    0x42b4da
42b4e5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42b4e8:	2b fa                	sub    %edx,%edi
42b4ea:	d1 ff                	sar    $1,%edi
42b4ec:	33 cd                	xor    %ebp,%ecx
42b4ee:	8b c7                	mov    %edi,%eax
42b4f0:	5f                   	pop    %edi
42b4f1:	5e                   	pop    %esi
42b4f2:	5b                   	pop    %ebx
42b4f3:	e8 38 b6 fe ff       	call   0x416b30
42b4f8:	c9                   	leave
42b4f9:	c2 0c 00             	ret    $0xc
42b4fc:	8b ff                	mov    %edi,%edi
42b4fe:	55                   	push   %ebp
42b4ff:	8b ec                	mov    %esp,%ebp
42b501:	83 ec 0c             	sub    $0xc,%esp
42b504:	53                   	push   %ebx
42b505:	8b 59 14             	mov    0x14(%ecx),%ebx
42b508:	33 c0                	xor    %eax,%eax
42b50a:	89 45 f4             	mov    %eax,-0xc(%ebp)
42b50d:	57                   	push   %edi
42b50e:	8b f8                	mov    %eax,%edi
42b510:	85 db                	test   %ebx,%ebx
42b512:	74 73                	je     0x42b587
42b514:	e8 1b df fd ff       	call   0x409434
42b519:	8a d0                	mov    %al,%dl
42b51b:	8b 41 1c             	mov    0x1c(%ecx),%eax
42b51e:	88 55 ff             	mov    %dl,-0x1(%ebp)
42b521:	89 45 f8             	mov    %eax,-0x8(%ebp)
42b524:	56                   	push   %esi
42b525:	8b 30                	mov    (%eax),%esi
42b527:	83 c6 30             	add    $0x30,%esi
42b52a:	8b ce                	mov    %esi,%ecx
42b52c:	84 d2                	test   %dl,%dl
42b52e:	74 16                	je     0x42b546
42b530:	e8 a3 cd ff ff       	call   0x4282d8
42b535:	66 3b f8             	cmp    %ax,%di
42b538:	77 3b                	ja     0x42b575
42b53a:	8b ce                	mov    %esi,%ecx
42b53c:	e8 97 cd ff ff       	call   0x4282d8
42b541:	0f b7 f8             	movzwl %ax,%edi
42b544:	eb 2f                	jmp    0x42b575
42b546:	8d 51 02             	lea    0x2(%ecx),%edx
42b549:	66 8b 01             	mov    (%ecx),%ax
42b54c:	83 c1 02             	add    $0x2,%ecx
42b54f:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
42b553:	75 f4                	jne    0x42b549
42b555:	2b ca                	sub    %edx,%ecx
42b557:	d1 f9                	sar    $1,%ecx
42b559:	66 3b f9             	cmp    %cx,%di
42b55c:	77 17                	ja     0x42b575
42b55e:	8d 4e 02             	lea    0x2(%esi),%ecx
42b561:	33 d2                	xor    %edx,%edx
42b563:	66 8b 06             	mov    (%esi),%ax
42b566:	83 c6 02             	add    $0x2,%esi
42b569:	66 3b c2             	cmp    %dx,%ax
42b56c:	75 f5                	jne    0x42b563
42b56e:	2b f1                	sub    %ecx,%esi
42b570:	d1 fe                	sar    $1,%esi
42b572:	0f b7 fe             	movzwl %si,%edi
42b575:	8b 45 f8             	mov    -0x8(%ebp),%eax
42b578:	8a 55 ff             	mov    -0x1(%ebp),%dl
42b57b:	83 c0 04             	add    $0x4,%eax
42b57e:	89 45 f8             	mov    %eax,-0x8(%ebp)
42b581:	83 eb 01             	sub    $0x1,%ebx
42b584:	75 9f                	jne    0x42b525
42b586:	5e                   	pop    %esi
42b587:	66 8b c7             	mov    %di,%ax
42b58a:	5f                   	pop    %edi
42b58b:	5b                   	pop    %ebx
42b58c:	c9                   	leave
42b58d:	c3                   	ret
42b58e:	8b ff                	mov    %edi,%edi
42b590:	55                   	push   %ebp
42b591:	8b ec                	mov    %esp,%ebp
42b593:	53                   	push   %ebx
42b594:	56                   	push   %esi
42b595:	57                   	push   %edi
42b596:	8b 7d 08             	mov    0x8(%ebp),%edi
42b599:	8b da                	mov    %edx,%ebx
42b59b:	8b f1                	mov    %ecx,%esi
42b59d:	ba d8 40 40 00       	mov    $0x4040d8,%edx
42b5a2:	8b cb                	mov    %ebx,%ecx
42b5a4:	83 27 00             	andl   $0x0,(%edi)
42b5a7:	e8 d7 02 00 00       	call   0x42b883
42b5ac:	85 c0                	test   %eax,%eax
42b5ae:	75 26                	jne    0x42b5d6
42b5b0:	51                   	push   %ecx
42b5b1:	57                   	push   %edi
42b5b2:	53                   	push   %ebx
42b5b3:	8b ce                	mov    %esi,%ecx
42b5b5:	e8 95 02 00 00       	call   0x42b84f
42b5ba:	8b d8                	mov    %eax,%ebx
42b5bc:	85 db                	test   %ebx,%ebx
42b5be:	78 12                	js     0x42b5d2
42b5c0:	8b 0f                	mov    (%edi),%ecx
42b5c2:	51                   	push   %ecx
42b5c3:	8b 11                	mov    (%ecx),%edx
42b5c5:	8b 72 04             	mov    0x4(%edx),%esi
42b5c8:	8b ce                	mov    %esi,%ecx
42b5ca:	ff 15 c4 a4 44 00    	call   *0x44a4c4
42b5d0:	ff d6                	call   *%esi
42b5d2:	8b c3                	mov    %ebx,%eax
42b5d4:	eb 14                	jmp    0x42b5ea
42b5d6:	89 37                	mov    %esi,(%edi)
42b5d8:	8b 06                	mov    (%esi),%eax
42b5da:	56                   	push   %esi
42b5db:	8b 70 04             	mov    0x4(%eax),%esi
42b5de:	8b ce                	mov    %esi,%ecx
42b5e0:	ff 15 c4 a4 44 00    	call   *0x44a4c4
42b5e6:	ff d6                	call   *%esi
42b5e8:	33 c0                	xor    %eax,%eax
42b5ea:	5f                   	pop    %edi
42b5eb:	5e                   	pop    %esi
42b5ec:	5b                   	pop    %ebx
42b5ed:	5d                   	pop    %ebp
42b5ee:	c2 04 00             	ret    $0x4
42b5f1:	8b ff                	mov    %edi,%edi
42b5f3:	55                   	push   %ebp
42b5f4:	8b ec                	mov    %esp,%ebp
42b5f6:	51                   	push   %ecx
42b5f7:	53                   	push   %ebx
42b5f8:	56                   	push   %esi
42b5f9:	57                   	push   %edi
42b5fa:	8b d9                	mov    %ecx,%ebx
42b5fc:	89 55 fc             	mov    %edx,-0x4(%ebp)
42b5ff:	68 34 27 40 00       	push   $0x402734
42b604:	6a 24                	push   $0x24
42b606:	83 23 00             	andl   $0x0,(%ebx)
42b609:	e8 22 b8 fe ff       	call   0x416e30
42b60e:	8b f0                	mov    %eax,%esi
42b610:	59                   	pop    %ecx
42b611:	59                   	pop    %ecx
42b612:	85 f6                	test   %esi,%esi
42b614:	75 07                	jne    0x42b61d
42b616:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
42b61b:	eb 50                	jmp    0x42b66d
42b61d:	8b ce                	mov    %esi,%ecx
42b61f:	e8 52 00 00 00       	call   0x42b676
42b624:	8b 45 10             	mov    0x10(%ebp),%eax