41b260:	50                   	push   %eax
41b261:	ff 15 a0 61 42 00    	call   *0x4261a0
41b267:	8b c8                	mov    %eax,%ecx
41b269:	85 c9                	test   %ecx,%ecx
41b26b:	75 0a                	jne    0x41b277
41b26d:	be 17 00 00 c0       	mov    $0xc0000017,%esi
41b272:	e9 b6 00 00 00       	jmp    0x41b32d
41b277:	89 4f 04             	mov    %ecx,0x4(%edi)
41b27a:	8b 85 54 f4 ff ff    	mov    -0xbac(%ebp),%eax
41b280:	56                   	push   %esi
41b281:	83 c0 04             	add    $0x4,%eax
41b284:	50                   	push   %eax
41b285:	51                   	push   %ecx
41b286:	e8 f8 78 00 00       	call   0x422b83
41b28b:	83 c4 0c             	add    $0xc,%esp
41b28e:	eb 05                	jmp    0x41b295
41b290:	89 1f                	mov    %ebx,(%edi)
41b292:	89 5f 04             	mov    %ebx,0x4(%edi)
41b295:	8b 85 74 f4 ff ff    	mov    -0xb8c(%ebp),%eax
41b29b:	83 c0 04             	add    $0x4,%eax
41b29e:	74 38                	je     0x41b2d8
41b2a0:	8b b5 50 f4 ff ff    	mov    -0xbb0(%ebp),%esi
41b2a6:	56                   	push   %esi
41b2a7:	6a 08                	push   $0x8
41b2a9:	89 77 08             	mov    %esi,0x8(%edi)
41b2ac:	ff 15 7c 60 42 00    	call   *0x42607c
41b2b2:	50                   	push   %eax
41b2b3:	ff 15 a0 61 42 00    	call   *0x4261a0
41b2b9:	8b d0                	mov    %eax,%edx
41b2bb:	85 d2                	test   %edx,%edx
41b2bd:	74 ae                	je     0x41b26d
41b2bf:	89 57 0c             	mov    %edx,0xc(%edi)
41b2c2:	8b 85 74 f4 ff ff    	mov    -0xb8c(%ebp),%eax
41b2c8:	56                   	push   %esi
41b2c9:	83 c0 04             	add    $0x4,%eax
41b2cc:	50                   	push   %eax
41b2cd:	52                   	push   %edx
41b2ce:	e8 b0 78 00 00       	call   0x422b83
41b2d3:	83 c4 0c             	add    $0xc,%esp
41b2d6:	eb 06                	jmp    0x41b2de
41b2d8:	89 5f 08             	mov    %ebx,0x8(%edi)
41b2db:	89 5f 0c             	mov    %ebx,0xc(%edi)
41b2de:	83 bd 84 f4 ff ff 00 	cmpl   $0x0,-0xb7c(%ebp)
41b2e5:	74 36                	je     0x41b31d
41b2e7:	8b b5 60 f4 ff ff    	mov    -0xba0(%ebp),%esi
41b2ed:	56                   	push   %esi
41b2ee:	6a 08                	push   $0x8
41b2f0:	89 77 10             	mov    %esi,0x10(%edi)
41b2f3:	ff 15 7c 60 42 00    	call   *0x42607c
41b2f9:	50                   	push   %eax
41b2fa:	ff 15 a0 61 42 00    	call   *0x4261a0
41b300:	85 c0                	test   %eax,%eax
41b302:	0f 84 65 ff ff ff    	je     0x41b26d
41b308:	89 47 14             	mov    %eax,0x14(%edi)
41b30b:	56                   	push   %esi
41b30c:	ff b5 84 f4 ff ff    	push   -0xb7c(%ebp)
41b312:	50                   	push   %eax
41b313:	e8 6b 78 00 00       	call   0x422b83
41b318:	83 c4 0c             	add    $0xc,%esp
41b31b:	eb 06                	jmp    0x41b323
41b31d:	89 5f 10             	mov    %ebx,0x10(%edi)
41b320:	89 5f 14             	mov    %ebx,0x14(%edi)
41b323:	89 bd 58 f4 ff ff    	mov    %edi,-0xba8(%ebp)
41b329:	8b f3                	mov    %ebx,%esi
41b32b:	8b fb                	mov    %ebx,%edi
41b32d:	85 ff                	test   %edi,%edi
41b32f:	74 5d                	je     0x41b38e
41b331:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
41b335:	74 14                	je     0x41b34b
41b337:	ff 77 04             	push   0x4(%edi)
41b33a:	53                   	push   %ebx
41b33b:	ff 15 7c 60 42 00    	call   *0x42607c
41b341:	50                   	push   %eax
41b342:	ff 15 a4 61 42 00    	call   *0x4261a4
41b348:	89 5f 04             	mov    %ebx,0x4(%edi)
41b34b:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
41b34f:	74 14                	je     0x41b365
41b351:	ff 77 0c             	push   0xc(%edi)
41b354:	53                   	push   %ebx
41b355:	ff 15 7c 60 42 00    	call   *0x42607c
41b35b:	50                   	push   %eax
41b35c:	ff 15 a4 61 42 00    	call   *0x4261a4
41b362:	89 5f 0c             	mov    %ebx,0xc(%edi)
41b365:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
41b369:	74 14                	je     0x41b37f
41b36b:	ff 77 14             	push   0x14(%edi)
41b36e:	53                   	push   %ebx
41b36f:	ff 15 7c 60 42 00    	call   *0x42607c
41b375:	50                   	push   %eax
41b376:	ff 15 a4 61 42 00    	call   *0x4261a4
41b37c:	89 5f 14             	mov    %ebx,0x14(%edi)
41b37f:	57                   	push   %edi
41b380:	53                   	push   %ebx
41b381:	ff 15 7c 60 42 00    	call   *0x42607c
41b387:	50                   	push   %eax
41b388:	ff 15 a4 61 42 00    	call   *0x4261a4
41b38e:	85 f6                	test   %esi,%esi
41b390:	78 10                	js     0x41b3a2
41b392:	8b 85 58 f4 ff ff    	mov    -0xba8(%ebp),%eax
41b398:	8b fb                	mov    %ebx,%edi
41b39a:	89 85 64 f4 ff ff    	mov    %eax,-0xb9c(%ebp)
41b3a0:	eb 06                	jmp    0x41b3a8
41b3a2:	8b bd 58 f4 ff ff    	mov    -0xba8(%ebp),%edi
41b3a8:	85 ff                	test   %edi,%edi
41b3aa:	74 64                	je     0x41b410
41b3ac:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
41b3b0:	74 14                	je     0x41b3c6
41b3b2:	ff 77 04             	push   0x4(%edi)
41b3b5:	53                   	push   %ebx
41b3b6:	ff 15 7c 60 42 00    	call   *0x42607c
41b3bc:	50                   	push   %eax
41b3bd:	ff 15 a4 61 42 00    	call   *0x4261a4
41b3c3:	89 5f 04             	mov    %ebx,0x4(%edi)
41b3c6:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
41b3ca:	74 14                	je     0x41b3e0
41b3cc:	ff 77 0c             	push   0xc(%edi)
41b3cf:	53                   	push   %ebx
41b3d0:	ff 15 7c 60 42 00    	call   *0x42607c
41b3d6:	50                   	push   %eax
41b3d7:	ff 15 a4 61 42 00    	call   *0x4261a4
41b3dd:	89 5f 0c             	mov    %ebx,0xc(%edi)
41b3e0:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
41b3e4:	74 14                	je     0x41b3fa
41b3e6:	ff 77 14             	push   0x14(%edi)
41b3e9:	53                   	push   %ebx
41b3ea:	ff 15 7c 60 42 00    	call   *0x42607c
41b3f0:	50                   	push   %eax
41b3f1:	ff 15 a4 61 42 00    	call   *0x4261a4
41b3f7:	89 5f 14             	mov    %ebx,0x14(%edi)
41b3fa:	57                   	push   %edi
41b3fb:	53                   	push   %ebx
41b3fc:	ff 15 7c 60 42 00    	call   *0x42607c
41b402:	50                   	push   %eax
41b403:	ff 15 a4 61 42 00    	call   *0x4261a4
41b409:	eb 05                	jmp    0x41b410
41b40b:	be 95 00 00 c0       	mov    $0xc0000095,%esi
41b410:	81 ce 00 00 00 10    	or     $0x10000000,%esi
41b416:	0f 8c 93 07 00 00    	jl     0x41bbaf
41b41c:	8b 85 64 f4 ff ff    	mov    -0xb9c(%ebp),%eax
41b422:	89 9d 58 f4 ff ff    	mov    %ebx,-0xba8(%ebp)
41b428:	89 9d 74 f4 ff ff    	mov    %ebx,-0xb8c(%ebp)
41b42e:	85 c0                	test   %eax,%eax
41b430:	75 0a                	jne    0x41b43c
41b432:	be 0d 00 00 d0       	mov    $0xd000000d,%esi
41b437:	e9 73 07 00 00       	jmp    0x41bbaf
41b43c:	8b 70 04             	mov    0x4(%eax),%esi
41b43f:	89 b5 50 f4 ff ff    	mov    %esi,-0xbb0(%ebp)
41b445:	85 f6                	test   %esi,%esi
41b447:	74 e9                	je     0x41b432
41b449:	8b 38                	mov    (%eax),%edi
41b44b:	85 ff                	test   %edi,%edi
41b44d:	74 e3                	je     0x41b432
41b44f:	83 c7 f8             	add    $0xfffffff8,%edi
41b452:	89 9d 7c f4 ff ff    	mov    %ebx,-0xb84(%ebp)
41b458:	57                   	push   %edi
41b459:	53                   	push   %ebx
41b45a:	89 bd 60 f4 ff ff    	mov    %edi,-0xba0(%ebp)
41b460:	ff 15 7c 60 42 00    	call   *0x42607c
41b466:	50                   	push   %eax
41b467:	ff 15 a0 61 42 00    	call   *0x4261a0
41b46d:	89 85 84 f4 ff ff    	mov    %eax,-0xb7c(%ebp)
41b473:	85 c0                	test   %eax,%eax
41b475:	0f 84 c3 05 00 00    	je     0x41ba3e
41b47b:	89 b5 80 f4 ff ff    	mov    %esi,-0xb80(%ebp)
41b481:	b9 5e 60 69 ab       	mov    $0xab69605e,%ecx
41b486:	89 8d 40 fc ff ff    	mov    %ecx,-0x3c0(%ebp)
41b48c:	b9 7f 13 f1 07       	mov    $0x7f1137f,%ecx
41b491:	89 8d 44 fc ff ff    	mov    %ecx,-0x3bc(%ebp)
41b497:	8b c8                	mov    %eax,%ecx
41b499:	89 8d 70 f4 ff ff    	mov    %ecx,-0xb90(%ebp)
41b49f:	8a d3                	mov    %bl,%dl
41b4a1:	89 9d 48 f4 ff ff    	mov    %ebx,-0xbb8(%ebp)
41b4a7:	83 e7 07             	and    $0x7,%edi
41b4aa:	0f 84 12 01 00 00    	je     0x41b5c2
41b4b0:	89 9d 4c f4 ff ff    	mov    %ebx,-0xbb4(%ebp)
41b4b6:	8b c3                	mov    %ebx,%eax
41b4b8:	89 85 40 f4 ff ff    	mov    %eax,-0xbc0(%ebp)
41b4be:	85 ff                	test   %edi,%edi
41b4c0:	74 5b                	je     0x41b51d
41b4c2:	6a 38                	push   $0x38
41b4c4:	59                   	pop    %ecx
41b4c5:	0f b6 06             	movzbl (%esi),%eax
41b4c8:	46                   	inc    %esi
41b4c9:	83 bd 4c f4 ff ff 04 	cmpl   $0x4,-0xbb4(%ebp)
41b4d0:	7d 13                	jge    0x41b4e5
41b4d2:	83 c1 e0             	add    $0xffffffe0,%ecx
41b4d5:	d3 e0                	shl    %cl,%eax
41b4d7:	09 85 48 f4 ff ff    	or     %eax,-0xbb8(%ebp)
41b4dd:	8b 8d 08 f4 ff ff    	mov    -0xbf8(%ebp),%ecx
41b4e3:	eb 04                	jmp    0x41b4e9
41b4e5:	d3 e0                	shl    %cl,%eax
41b4e7:	0b d8                	or     %eax,%ebx
41b4e9:	8b 85 4c f4 ff ff    	mov    -0xbb4(%ebp),%eax
41b4ef:	83 e9 08             	sub    $0x8,%ecx
41b4f2:	40                   	inc    %eax
41b4f3:	89 8d 08 f4 ff ff    	mov    %ecx,-0xbf8(%ebp)
41b4f9:	89 85 4c f4 ff ff    	mov    %eax,-0xbb4(%ebp)
41b4ff:	3b c7                	cmp    %edi,%eax
41b501:	7c c2                	jl     0x41b4c5
41b503:	8b 8d 70 f4 ff ff    	mov    -0xb90(%ebp),%ecx
41b509:	89 9d 40 f4 ff ff    	mov    %ebx,-0xbc0(%ebp)
41b50f:	33 db                	xor    %ebx,%ebx
41b511:	8b 85 40 f4 ff ff    	mov    -0xbc0(%ebp),%eax
41b517:	89 b5 80 f4 ff ff    	mov    %esi,-0xb80(%ebp)
41b51d:	8b b5 48 f4 ff ff    	mov    -0xbb8(%ebp),%esi
41b523:	35 9c 89 9a 69       	xor    $0x699a899c,%eax
41b528:	81 f6 a5 65 2f 09    	xor    $0x92f65a5,%esi
41b52e:	89 85 44 f4 ff ff    	mov    %eax,-0xbbc(%ebp)
41b534:	89 b5 4c f4 ff ff    	mov    %esi,-0xbb4(%ebp)
41b53a:	89 b5 68 f4 ff ff    	mov    %esi,-0xb98(%ebp)
41b540:	89 9d 30 f4 ff ff    	mov    %ebx,-0xbd0(%ebp)
41b546:	85 ff                	test   %edi,%edi
41b548:	74 49                	je     0x41b593
41b54a:	8b f3                	mov    %ebx,%esi
41b54c:	8d 59 01             	lea    0x1(%ecx),%ebx
41b54f:	89 9d 70 f4 ff ff    	mov    %ebx,-0xb90(%ebp)
41b555:	83 fe 04             	cmp    $0x4,%esi
41b558:	7d 0f                	jge    0x41b569
41b55a:	c1 85 68 f4 ff ff 08 	roll   $0x8,-0xb98(%ebp)
41b561:	8b 9d 68 f4 ff ff    	mov    -0xb98(%ebp),%ebx
41b567:	eb 0d                	jmp    0x41b576
41b569:	c1 85 44 f4 ff ff 08 	roll   $0x8,-0xbbc(%ebp)
41b570:	8b 9d 44 f4 ff ff    	mov    -0xbbc(%ebp),%ebx
41b576:	88 19                	mov    %bl,(%ecx)
41b578:	46                   	inc    %esi
41b579:	8b 9d 70 f4 ff ff    	mov    -0xb90(%ebp),%ebx
41b57f:	8b cb                	mov    %ebx,%ecx
41b581:	3b f7                	cmp    %edi,%esi
41b583:	7c c7                	jl     0x41b54c
41b585:	8b b5 4c f4 ff ff    	mov    -0xbb4(%ebp),%esi
41b58b:	89 9d 70 f4 ff ff    	mov    %ebx,-0xb90(%ebp)
41b591:	33 db                	xor    %ebx,%ebx
41b593:	83 ff 04             	cmp    $0x4,%edi
41b596:	76 14                	jbe    0x41b5ac
41b598:	6a 08                	push   $0x8
41b59a:	59                   	pop    %ecx
41b59b:	2b cf                	sub    %edi,%ecx
41b59d:	c1 e1 03             	shl    $0x3,%ecx
41b5a0:	d3 e8                	shr    %cl,%eax
41b5a2:	d3 e0                	shl    %cl,%eax
41b5a4:	89 85 68 f4 ff ff    	mov    %eax,-0xb98(%ebp)
41b5aa:	eb 2b                	jmp    0x41b5d7
41b5ac:	89 9d 68 f4 ff ff    	mov    %ebx,-0xb98(%ebp)
41b5b2:	73 23                	jae    0x41b5d7
41b5b4:	6a 04                	push   $0x4
41b5b6:	59                   	pop    %ecx
41b5b7:	2b cf                	sub    %edi,%ecx
41b5b9:	c1 e1 03             	shl    $0x3,%ecx
41b5bc:	d3 ee                	shr    %cl,%esi
41b5be:	d3 e6                	shl    %cl,%esi
41b5c0:	eb 0f                	jmp    0x41b5d1
41b5c2:	83 8d 40 f4 ff ff ff 	orl    $0xffffffff,-0xbc0(%ebp)
41b5c9:	8b f3                	mov    %ebx,%esi
41b5cb:	89 9d 68 f4 ff ff    	mov    %ebx,-0xb98(%ebp)
41b5d1:	89 b5 4c f4 ff ff    	mov    %esi,-0xbb4(%ebp)
41b5d7:	8b 8d 60 f4 ff ff    	mov    -0xba0(%ebp),%ecx
41b5dd:	8b c1                	mov    %ecx,%eax
41b5df:	c1 e8 03             	shr    $0x3,%eax
41b5e2:	89 85 44 f4 ff ff    	mov    %eax,-0xbbc(%ebp)
41b5e8:	85 c0                	test   %eax,%eax
41b5ea:	0f 84 d0 03 00 00    	je     0x41b9c0
41b5f0:	0f b7 b5 42 fc ff ff 	movzwl -0x3be(%ebp),%esi
41b5f7:	bb 7f 13 f1 07       	mov    $0x7f1137f,%ebx
41b5fc:	0f b7 8d 46 fc ff ff 	movzwl -0x3ba(%ebp),%ecx
41b603:	bf 5e 60 69 ab       	mov    $0xab69605e,%edi
41b608:	0f b7 c3             	movzwl %bx,%eax
41b60b:	33 df                	xor    %edi,%ebx
41b60d:	89 85 34 f4 ff ff    	mov    %eax,-0xbcc(%ebp)
41b613:	0f b7 c7             	movzwl %di,%eax
41b616:	89 85 1c f4 ff ff    	mov    %eax,-0xbe4(%ebp)
41b61c:	8b 85 70 f4 ff ff    	mov    -0xb90(%ebp),%eax
41b622:	89 b5 20 f4 ff ff    	mov    %esi,-0xbe0(%ebp)
41b628:	83 c0 07             	add    $0x7,%eax
41b62b:	8b b5 80 f4 ff ff    	mov    -0xb80(%ebp),%esi
41b631:	83 c6 02             	add    $0x2,%esi
41b634:	89 9d 30 f4 ff ff    	mov    %ebx,-0xbd0(%ebp)
41b63a:	8b 9d 4c f4 ff ff    	mov    -0xbb4(%ebp),%ebx
41b640:	89 8d 08 f4 ff ff    	mov    %ecx,-0xbf8(%ebp)
41b646:	8b 8d 68 f4 ff ff    	mov    -0xb98(%ebp),%ecx
41b64c:	89 85 70 f4 ff ff    	mov    %eax,-0xb90(%ebp)
41b652:	89 b5 80 f4 ff ff    	mov    %esi,-0xb80(%ebp)
41b658:	0f b6 7e fe          	movzbl -0x2(%esi),%edi
41b65c:	0f b6 46 ff          	movzbl -0x1(%esi),%eax
41b660:	c1 e7 08             	shl    $0x8,%edi
41b663:	0b f8                	or     %eax,%edi
41b665:	0f b6 06             	movzbl (%esi),%eax
41b668:	c1 e7 08             	shl    $0x8,%edi
41b66b:	0b f8                	or     %eax,%edi
41b66d:	0f b6 46 01          	movzbl 0x1(%esi),%eax
41b671:	0f b6 76 02          	movzbl 0x2(%esi),%esi
41b675:	c1 e7 08             	shl    $0x8,%edi
41b678:	0b f8                	or     %eax,%edi
41b67a:	c1 e6 08             	shl    $0x8,%esi
41b67d:	8b 85 80 f4 ff ff    	mov    -0xb80(%ebp),%eax
41b683:	33 df                	xor    %edi,%ebx
41b685:	0f b6 40 03          	movzbl 0x3(%eax),%eax
41b689:	0b f0                	or     %eax,%esi
41b68b:	8b 85 80 f4 ff ff    	mov    -0xb80(%ebp),%eax
41b691:	c1 e6 08             	shl    $0x8,%esi
41b694:	0f b6 40 04          	movzbl 0x4(%eax),%eax
41b698:	0b f0                	or     %eax,%esi
41b69a:	8b 85 80 f4 ff ff    	mov    -0xb80(%ebp),%eax
41b6a0:	c1 e6 08             	shl    $0x8,%esi
41b6a3:	83 85 80 f4 ff ff 08 	addl   $0x8,-0xb80(%ebp)
41b6aa:	0f b6 40 05          	movzbl 0x5(%eax),%eax
41b6ae:	0b f0                	or     %eax,%esi
41b6b0:	8b 85 30 f4 ff ff    	mov    -0xbd0(%ebp),%eax
41b6b6:	33 ce                	xor    %esi,%ecx
41b6b8:	33 c1                	xor    %ecx,%eax
41b6ba:	33 c3                	xor    %ebx,%eax
41b6bc:	8b c8                	mov    %eax,%ecx
41b6be:	89 85 68 f4 ff ff    	mov    %eax,-0xb98(%ebp)
41b6c4:	81 e9 5e 60 69 ab    	sub    $0xab69605e,%ecx
41b6ca:	c1 c0 0a             	rol    $0xa,%eax
41b6cd:	c1 c1 05             	rol    $0x5,%ecx
41b6d0:	0f af 8d 34 f4 ff ff 	imul   -0xbcc(%ebp),%ecx
41b6d7:	03 c8                	add    %eax,%ecx
41b6d9:	33 d9                	xor    %ecx,%ebx
41b6db:	b9 7f 13 f1 07       	mov    $0x7f1137f,%ecx
41b6e0:	8b c3                	mov    %ebx,%eax
41b6e2:	c1 c0 02             	rol    $0x2,%eax
41b6e5:	8d 0c 19             	lea    (%ecx,%ebx,1),%ecx
41b6e8:	c1 c9 09             	ror    $0x9,%ecx
41b6eb:	0f af 8d 20 f4 ff ff 	imul   -0xbe0(%ebp),%ecx
41b6f2:	2b c8                	sub    %eax,%ecx
41b6f4:	8b 85 68 f4 ff ff    	mov    -0xb98(%ebp),%eax
41b6fa:	33 c1                	xor    %ecx,%eax
41b6fc:	8b c8                	mov    %eax,%ecx
41b6fe:	89 85 68 f4 ff ff    	mov    %eax,-0xb98(%ebp)
41b704:	2b 8d 34 f4 ff ff    	sub    -0xbcc(%ebp),%ecx
41b70a:	0f af 8d 1c f4 ff ff 	imul   -0xbe4(%ebp),%ecx
41b711:	c1 e8 0d             	shr    $0xd,%eax
41b714:	2b c8                	sub    %eax,%ecx
41b716:	33 d9                	xor    %ecx,%ebx
41b718:	8b 8d 20 f4 ff ff    	mov    -0xbe0(%ebp),%ecx
41b71e:	33 cb                	xor    %ebx,%ecx
41b720:	8b c3                	mov    %ebx,%eax
41b722:	c1 c1 06             	rol    $0x6,%ecx
41b725:	0f af 8d 08 f4 ff ff 	imul   -0xbf8(%ebp),%ecx
41b72c:	c1 c0 02             	rol    $0x2,%eax
41b72f:	2b c8                	sub    %eax,%ecx
41b731:	8b 85 68 f4 ff ff    	mov    -0xb98(%ebp),%eax
41b737:	33 c1                	xor    %ecx,%eax
41b739:	b9 5e 60 69 ab       	mov    $0xab69605e,%ecx
41b73e:	33 c8                	xor    %eax,%ecx
41b740:	89 85 68 f4 ff ff    	mov    %eax,-0xb98(%ebp)
41b746:	b8 7f 13 f1 07       	mov    $0x7f1137f,%eax
41b74b:	2b c1                	sub    %ecx,%eax
41b74d:	33 d8                	xor    %eax,%ebx
41b74f:	8b c3                	mov    %ebx,%eax