41a104:	8b f7                	mov    %edi,%esi
41a106:	6a 40                	push   $0x40
41a108:	53                   	push   %ebx
41a109:	68 30 59 42 00       	push   $0x425930
41a10e:	88 1c 38             	mov    %bl,(%eax,%edi,1)
41a111:	e8 32 87 00 00       	call   0x422848
41a116:	83 c4 0c             	add    $0xc,%esp
41a119:	38 1f                	cmp    %bl,(%edi)
41a11b:	0f 84 44 01 00 00    	je     0x41a265
41a121:	bf 30 59 42 00       	mov    $0x425930,%edi
41a126:	8b ce                	mov    %esi,%ecx
41a128:	8b d6                	mov    %esi,%edx
41a12a:	8d 41 02             	lea    0x2(%ecx),%eax
41a12d:	89 85 6c f4 ff ff    	mov    %eax,-0xb94(%ebp)
41a133:	66 8b 01             	mov    (%ecx),%ax
41a136:	83 c1 02             	add    $0x2,%ecx
41a139:	66 3b c3             	cmp    %bx,%ax
41a13c:	75 f5                	jne    0x41a133
41a13e:	2b 8d 6c f4 ff ff    	sub    -0xb94(%ebp),%ecx
41a144:	57                   	push   %edi
41a145:	d1 f9                	sar    $1,%ecx
41a147:	52                   	push   %edx
41a148:	53                   	push   %ebx
41a149:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
41a14c:	ff 15 90 61 42 00    	call   *0x426190
41a152:	85 c0                	test   %eax,%eax
41a154:	0f 84 f7 00 00 00    	je     0x41a251
41a15a:	8b 07                	mov    (%edi),%eax
41a15c:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
41a161:	8b cb                	mov    %ebx,%ecx
41a163:	89 8d 6c f4 ff ff    	mov    %ecx,-0xb94(%ebp)
41a169:	66 39 10             	cmp    %dx,(%eax)
41a16c:	74 0d                	je     0x41a17b
41a16e:	b9 7b 00 00 c0       	mov    $0xc000007b,%ecx
41a173:	89 8d 6c f4 ff ff    	mov    %ecx,-0xb94(%ebp)
41a179:	eb 48                	jmp    0x41a1c3
41a17b:	8b 50 3c             	mov    0x3c(%eax),%edx
41a17e:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
41a184:	73 e8                	jae    0x41a16e
41a186:	03 17                	add    (%edi),%edx
41a188:	3b 17                	cmp    (%edi),%edx
41a18a:	72 e2                	jb     0x41a16e
41a18c:	81 3a 50 45 00 00    	cmpl   $0x4550,(%edx)
41a192:	75 da                	jne    0x41a16e
41a194:	0f b7 42 18          	movzwl 0x18(%edx),%eax
41a198:	66 3b 85 30 f3 ff ff 	cmp    -0xcd0(%ebp),%ax
41a19f:	74 10                	je     0x41a1b1
41a1a1:	66 3b 85 3c f3 ff ff 	cmp    -0xcc4(%ebp),%ax
41a1a8:	74 07                	je     0x41a1b1
41a1aa:	b9 0d 00 00 c0       	mov    $0xc000000d,%ecx
41a1af:	eb c2                	jmp    0x41a173
41a1b1:	8b 42 78             	mov    0x78(%edx),%eax
41a1b4:	89 47 08             	mov    %eax,0x8(%edi)
41a1b7:	8b 42 7c             	mov    0x7c(%edx),%eax
41a1ba:	89 47 0c             	mov    %eax,0xc(%edi)
41a1bd:	8b 42 50             	mov    0x50(%edx),%eax
41a1c0:	89 47 04             	mov    %eax,0x4(%edi)
41a1c3:	8b 46 02             	mov    0x2(%esi),%eax
41a1c6:	83 c6 06             	add    $0x6,%esi
41a1c9:	89 85 74 f4 ff ff    	mov    %eax,-0xb8c(%ebp)
41a1cf:	89 9d 54 f4 ff ff    	mov    %ebx,-0xbac(%ebp)
41a1d5:	85 c0                	test   %eax,%eax
41a1d7:	74 65                	je     0x41a23e
41a1d9:	8b d6                	mov    %esi,%edx
41a1db:	89 b5 64 f4 ff ff    	mov    %esi,-0xb9c(%ebp)
41a1e1:	8d 42 01             	lea    0x1(%edx),%eax
41a1e4:	89 85 78 f4 ff ff    	mov    %eax,-0xb88(%ebp)
41a1ea:	8a 02                	mov    (%edx),%al
41a1ec:	42                   	inc    %edx
41a1ed:	84 c0                	test   %al,%al
41a1ef:	75 f9                	jne    0x41a1ea
41a1f1:	2b 95 78 f4 ff ff    	sub    -0xb88(%ebp),%edx
41a1f7:	46                   	inc    %esi
41a1f8:	03 f2                	add    %edx,%esi
41a1fa:	85 c9                	test   %ecx,%ecx
41a1fc:	78 25                	js     0x41a223
41a1fe:	ff b5 64 f4 ff ff    	push   -0xb9c(%ebp)
41a204:	ff 37                	push   (%edi)
41a206:	ff 15 68 60 42 00    	call   *0x426068
41a20c:	85 c0                	test   %eax,%eax
41a20e:	74 39                	je     0x41a249
41a210:	8b 8d 2c f4 ff ff    	mov    -0xbd4(%ebp),%ecx
41a216:	89 04 8d 00 40 42 00 	mov    %eax,0x424000(,%ecx,4)
41a21d:	8b 8d 6c f4 ff ff    	mov    -0xb94(%ebp),%ecx
41a223:	8b 85 54 f4 ff ff    	mov    -0xbac(%ebp),%eax
41a229:	ff 85 2c f4 ff ff    	incl   -0xbd4(%ebp)
41a22f:	40                   	inc    %eax
41a230:	89 85 54 f4 ff ff    	mov    %eax,-0xbac(%ebp)
41a236:	3b 85 74 f4 ff ff    	cmp    -0xb8c(%ebp),%eax
41a23c:	72 9b                	jb     0x41a1d9
41a23e:	83 c7 10             	add    $0x10,%edi
41a241:	38 1e                	cmp    %bl,(%esi)
41a243:	0f 85 dd fe ff ff    	jne    0x41a126
41a249:	8b b5 6c f4 ff ff    	mov    -0xb94(%ebp),%esi
41a24f:	eb 16                	jmp    0x41a267
41a251:	be 7a 00 00 c0       	mov    $0xc000007a,%esi
41a256:	eb 0f                	jmp    0x41a267
41a258:	8b bd 28 f4 ff ff    	mov    -0xbd8(%ebp),%edi
41a25e:	be 7a 00 00 c0       	mov    $0xc000007a,%esi
41a263:	eb 08                	jmp    0x41a26d
41a265:	8b f3                	mov    %ebx,%esi
41a267:	8b bd 28 f4 ff ff    	mov    -0xbd8(%ebp),%edi
41a26d:	85 ff                	test   %edi,%edi
41a26f:	74 0f                	je     0x41a280
41a271:	ff 15 7c 60 42 00    	call   *0x42607c
41a277:	57                   	push   %edi
41a278:	53                   	push   %ebx
41a279:	50                   	push   %eax
41a27a:	ff 15 a4 61 42 00    	call   *0x4261a4
41a280:	85 f6                	test   %esi,%esi
41a282:	79 3c                	jns    0x41a2c0
41a284:	8b f3                	mov    %ebx,%esi
41a286:	8b 86 30 59 42 00    	mov    0x425930(%esi),%eax
41a28c:	85 c0                	test   %eax,%eax
41a28e:	74 07                	je     0x41a297
41a290:	50                   	push   %eax
41a291:	ff 15 ac 60 42 00    	call   *0x4260ac
41a297:	83 c6 10             	add    $0x10,%esi
41a29a:	83 fe 40             	cmp    $0x40,%esi
41a29d:	72 e7                	jb     0x41a286
41a29f:	6a 40                	push   $0x40
41a2a1:	53                   	push   %ebx
41a2a2:	68 30 59 42 00       	push   $0x425930
41a2a7:	e8 9c 85 00 00       	call   0x422848
41a2ac:	83 c4 0c             	add    $0xc,%esp
41a2af:	be 90 10 40 00       	mov    $0x401090,%esi
41a2b4:	bf 00 40 42 00       	mov    $0x424000,%edi
41a2b9:	6a 2e                	push   $0x2e
41a2bb:	59                   	pop    %ecx
41a2bc:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41a2be:	eb 0b                	jmp    0x41a2cb
41a2c0:	a1 24 5e 42 00       	mov    0x425e24,%eax
41a2c5:	40                   	inc    %eax
41a2c6:	a3 24 5e 42 00       	mov    %eax,0x425e24
41a2cb:	33 c0                	xor    %eax,%eax
41a2cd:	bf 28 5e 42 00       	mov    $0x425e28,%edi
41a2d2:	87 07                	xchg   %eax,(%edi)
41a2d4:	8b 85 58 f4 ff ff    	mov    -0xba8(%ebp),%eax
41a2da:	33 c9                	xor    %ecx,%ecx
41a2dc:	8b 35 68 40 42 00    	mov    0x424068,%esi
41a2e2:	41                   	inc    %ecx
41a2e3:	89 85 c4 fc ff ff    	mov    %eax,-0x33c(%ebp)
41a2e9:	8b 85 38 f4 ff ff    	mov    -0xbc8(%ebp),%eax
41a2ef:	89 85 dc fc ff ff    	mov    %eax,-0x324(%ebp)
41a2f5:	8d 85 c0 fc ff ff    	lea    -0x340(%ebp),%eax
41a2fb:	50                   	push   %eax
41a2fc:	6a 04                	push   $0x4
41a2fe:	68 21 20 00 00       	push   $0x2021
41a303:	89 8d c0 fc ff ff    	mov    %ecx,-0x340(%ebp)
41a309:	89 8d c8 fc ff ff    	mov    %ecx,-0x338(%ebp)
41a30f:	89 8d d4 fc ff ff    	mov    %ecx,-0x32c(%ebp)
41a315:	89 8d d0 fc ff ff    	mov    %ecx,-0x330(%ebp)
41a31b:	89 8d d8 fc ff ff    	mov    %ecx,-0x328(%ebp)
41a321:	8b ce                	mov    %esi,%ecx
41a323:	53                   	push   %ebx
41a324:	c7 85 cc fc ff ff 91 	movl   $0x9966f291,-0x334(%ebp)
41a32b:	f2 66 99
41a32e:	ff 15 78 64 42 00    	call   *0x426478
41a334:	ff d6                	call   *%esi
41a336:	33 db                	xor    %ebx,%ebx
41a338:	8d 4b 01             	lea    0x1(%ebx),%ecx
41a33b:	33 c0                	xor    %eax,%eax
41a33d:	f0 0f b1 0f          	lock cmpxchg %ecx,(%edi)
41a341:	85 c0                	test   %eax,%eax
41a343:	75 f3                	jne    0x41a338
41a345:	a1 24 5e 42 00       	mov    0x425e24,%eax
41a34a:	6a 00                	push   $0x0
41a34c:	5b                   	pop    %ebx
41a34d:	85 c0                	test   %eax,%eax
41a34f:	7e 49                	jle    0x41a39a
41a351:	83 e8 01             	sub    $0x1,%eax
41a354:	a3 24 5e 42 00       	mov    %eax,0x425e24
41a359:	75 3f                	jne    0x41a39a
41a35b:	8b f3                	mov    %ebx,%esi
41a35d:	8b 86 30 59 42 00    	mov    0x425930(%esi),%eax
41a363:	85 c0                	test   %eax,%eax
41a365:	74 07                	je     0x41a36e
41a367:	50                   	push   %eax
41a368:	ff 15 ac 60 42 00    	call   *0x4260ac
41a36e:	83 c6 10             	add    $0x10,%esi
41a371:	83 fe 40             	cmp    $0x40,%esi
41a374:	72 e7                	jb     0x41a35d
41a376:	6a 40                	push   $0x40
41a378:	53                   	push   %ebx
41a379:	68 30 59 42 00       	push   $0x425930
41a37e:	e8 c5 84 00 00       	call   0x422848
41a383:	83 c4 0c             	add    $0xc,%esp
41a386:	be 90 10 40 00       	mov    $0x401090,%esi
41a38b:	bf 00 40 42 00       	mov    $0x424000,%edi
41a390:	6a 2e                	push   $0x2e
41a392:	59                   	pop    %ecx
41a393:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41a395:	bf 28 5e 42 00       	mov    $0x425e28,%edi
41a39a:	33 c0                	xor    %eax,%eax
41a39c:	87 07                	xchg   %eax,(%edi)
41a39e:	ff b5 3c f4 ff ff    	push   -0xbc4(%ebp)
41a3a4:	8b 35 b0 40 42 00    	mov    0x4240b0,%esi
41a3aa:	8b ce                	mov    %esi,%ecx
41a3ac:	53                   	push   %ebx
41a3ad:	ff 15 78 64 42 00    	call   *0x426478
41a3b3:	ff d6                	call   *%esi
41a3b5:	8d 8d c0 f3 ff ff    	lea    -0xc40(%ebp),%ecx
41a3bb:	e8 c4 4b 00 00       	call   0x41ef84
41a3c0:	33 c0                	xor    %eax,%eax
41a3c2:	89 9d e8 f2 ff ff    	mov    %ebx,-0xd18(%ebp)
41a3c8:	8d bd d4 f2 ff ff    	lea    -0xd2c(%ebp),%edi
41a3ce:	8b f3                	mov    %ebx,%esi
41a3d0:	ab                   	stos   %eax,%es:(%edi)
41a3d1:	ab                   	stos   %eax,%es:(%edi)
41a3d2:	ab                   	stos   %eax,%es:(%edi)
41a3d3:	68 a0 00 00 00       	push   $0xa0
41a3d8:	6a 08                	push   $0x8
41a3da:	ff 15 7c 60 42 00    	call   *0x42607c
41a3e0:	50                   	push   %eax
41a3e1:	ff 15 a0 61 42 00    	call   *0x4261a0
41a3e7:	89 85 3c f4 ff ff    	mov    %eax,-0xbc4(%ebp)
41a3ed:	85 c0                	test   %eax,%eax
41a3ef:	0f 84 7a 19 00 00    	je     0x41bd6f
41a3f5:	6a 28                	push   $0x28
41a3f7:	59                   	pop    %ecx
41a3f8:	be e0 47 42 00       	mov    $0x4247e0,%esi
41a3fd:	89 85 38 f4 ff ff    	mov    %eax,-0xbc8(%ebp)
41a403:	8b f8                	mov    %eax,%edi
41a405:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41a407:	6a 08                	push   $0x8
41a409:	6a 08                	push   $0x8
41a40b:	ff 15 7c 60 42 00    	call   *0x42607c
41a411:	50                   	push   %eax
41a412:	ff 15 a0 61 42 00    	call   *0x4261a0
41a418:	8b f0                	mov    %eax,%esi
41a41a:	89 b5 58 f4 ff ff    	mov    %esi,-0xba8(%ebp)
41a420:	85 f6                	test   %esi,%esi
41a422:	0f 84 41 19 00 00    	je     0x41bd69
41a428:	8b 0d d8 47 42 00    	mov    0x4247d8,%ecx
41a42e:	8b fe                	mov    %esi,%edi
41a430:	89 0e                	mov    %ecx,(%esi)
41a432:	8b 0d dc 47 42 00    	mov    0x4247dc,%ecx
41a438:	89 4e 04             	mov    %ecx,0x4(%esi)
41a43b:	89 bd 2c f4 ff ff    	mov    %edi,-0xbd4(%ebp)
41a441:	0f 31                	rdtsc
41a443:	89 85 28 f4 ff ff    	mov    %eax,-0xbd8(%ebp)
41a449:	89 95 6c f4 ff ff    	mov    %edx,-0xb94(%ebp)
41a44f:	b8 c4 00 00 00       	mov    $0xc4,%eax
41a454:	50                   	push   %eax
41a455:	6a 08                	push   $0x8
41a457:	89 85 e4 f2 ff ff    	mov    %eax,-0xd1c(%ebp)
41a45d:	ff 15 7c 60 42 00    	call   *0x42607c
41a463:	50                   	push   %eax
41a464:	ff 15 a0 61 42 00    	call   *0x4261a0
41a46a:	8b d0                	mov    %eax,%edx
41a46c:	85 d2                	test   %edx,%edx
41a46e:	0f 84 82 19 00 00    	je     0x41bdf6
41a474:	89 95 e8 f2 ff ff    	mov    %edx,-0xd18(%ebp)
41a47a:	89 9d e0 f2 ff ff    	mov    %ebx,-0xd20(%ebp)
41a480:	8d 7a 04             	lea    0x4(%edx),%edi
41a483:	3b fa                	cmp    %edx,%edi
41a485:	0f 82 d0 18 00 00    	jb     0x41bd5b
41a48b:	8b 8d e4 f2 ff ff    	mov    -0xd1c(%ebp),%ecx
41a491:	8d 42 08             	lea    0x8(%edx),%eax
41a494:	03 ca                	add    %edx,%ecx
41a496:	3b c1                	cmp    %ecx,%eax
41a498:	0f 87 bd 18 00 00    	ja     0x41bd5b
41a49e:	6a 04                	push   $0x4
41a4a0:	58                   	pop    %eax
41a4a1:	89 02                	mov    %eax,(%edx)
41a4a3:	89 07                	mov    %eax,(%edi)
41a4a5:	8b bd e0 f2 ff ff    	mov    -0xd20(%ebp),%edi
41a4ab:	47                   	inc    %edi
41a4ac:	89 bd e0 f2 ff ff    	mov    %edi,-0xd20(%ebp)
41a4b2:	83 bd e8 f2 ff ff 00 	cmpl   $0x0,-0xd18(%ebp)
41a4b9:	75 25                	jne    0x41a4e0
41a4bb:	8b 85 e4 f2 ff ff    	mov    -0xd1c(%ebp),%eax
41a4c1:	8d 88 a4 00 00 00    	lea    0xa4(%eax),%ecx
41a4c7:	3b c8                	cmp    %eax,%ecx
41a4c9:	0f 82 8c 18 00 00    	jb     0x41bd5b
41a4cf:	8d 47 01             	lea    0x1(%edi),%eax
41a4d2:	89 8d e4 f2 ff ff    	mov    %ecx,-0xd1c(%ebp)
41a4d8:	89 85 e0 f2 ff ff    	mov    %eax,-0xd20(%ebp)
41a4de:	eb 73                	jmp    0x41a553
41a4e0:	8b 95 e8 f2 ff ff    	mov    -0xd18(%ebp),%edx
41a4e6:	8b cb                	mov    %ebx,%ecx
41a4e8:	85 ff                	test   %edi,%edi
41a4ea:	74 1f                	je     0x41a50b
41a4ec:	8b 02                	mov    (%edx),%eax
41a4ee:	83 c0 04             	add    $0x4,%eax
41a4f1:	83 f8 04             	cmp    $0x4,%eax
41a4f4:	0f 82 61 18 00 00    	jb     0x41bd5b
41a4fa:	03 c2                	add    %edx,%eax
41a4fc:	3b c2                	cmp    %edx,%eax
41a4fe:	0f 82 57 18 00 00    	jb     0x41bd5b
41a504:	41                   	inc    %ecx
41a505:	8b d0                	mov    %eax,%edx
41a507:	3b cf                	cmp    %edi,%ecx
41a509:	72 e1                	jb     0x41a4ec
41a50b:	8d 7a 04             	lea    0x4(%edx),%edi
41a50e:	3b fa                	cmp    %edx,%edi
41a510:	0f 82 45 18 00 00    	jb     0x41bd5b
41a516:	8b 8d e4 f2 ff ff    	mov    -0xd1c(%ebp),%ecx
41a51c:	8d 82 a4 00 00 00    	lea    0xa4(%edx),%eax
41a522:	03 8d e8 f2 ff ff    	add    -0xd18(%ebp),%ecx
41a528:	3b c1                	cmp    %ecx,%eax
41a52a:	0f 87 2b 18 00 00    	ja     0x41bd5b
41a530:	8b b5 3c f4 ff ff    	mov    -0xbc4(%ebp),%esi
41a536:	6a 28                	push   $0x28
41a538:	c7 02 a0 00 00 00    	movl   $0xa0,(%edx)
41a53e:	59                   	pop    %ecx
41a53f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41a541:	ff 85 e0 f2 ff ff    	incl   -0xd20(%ebp)
41a547:	8b 8d e4 f2 ff ff    	mov    -0xd1c(%ebp),%ecx
41a54d:	8b b5 58 f4 ff ff    	mov    -0xba8(%ebp),%esi
41a553:	83 bd e8 f2 ff ff 00 	cmpl   $0x0,-0xd18(%ebp)
41a55a:	75 13                	jne    0x41a56f
41a55c:	8d 41 0c             	lea    0xc(%ecx),%eax
41a55f:	3b c1                	cmp    %ecx,%eax
41a561:	0f 82 f4 17 00 00    	jb     0x41bd5b
41a567:	ff 85 e0 f2 ff ff    	incl   -0xd20(%ebp)
41a56d:	eb 7c                	jmp    0x41a5eb
41a56f:	83 bd e0 f2 ff ff 00 	cmpl   $0x0,-0xd20(%ebp)
41a576:	8b fb                	mov    %ebx,%edi
41a578:	8b 95 e8 f2 ff ff    	mov    -0xd18(%ebp),%edx
41a57e:	76 23                	jbe    0x41a5a3
41a580:	8b 02                	mov    (%edx),%eax
41a582:	83 c0 04             	add    $0x4,%eax
41a585:	83 f8 04             	cmp    $0x4,%eax
41a588:	0f 82 cd 17 00 00    	jb     0x41bd5b
41a58e:	03 c2                	add    %edx,%eax
41a590:	3b c2                	cmp    %edx,%eax
41a592:	0f 82 c3 17 00 00    	jb     0x41bd5b
41a598:	47                   	inc    %edi
41a599:	8b d0                	mov    %eax,%edx
41a59b:	3b bd e0 f2 ff ff    	cmp    -0xd20(%ebp),%edi
41a5a1:	72 dd                	jb     0x41a580
41a5a3:	8d 7a 04             	lea    0x4(%edx),%edi
41a5a6:	3b fa                	cmp    %edx,%edi
41a5a8:	0f 82 ad 17 00 00    	jb     0x41bd5b
41a5ae:	03 8d e8 f2 ff ff    	add    -0xd18(%ebp),%ecx
41a5b4:	8d 42 0c             	lea    0xc(%edx),%eax
41a5b7:	3b c1                	cmp    %ecx,%eax
41a5b9:	0f 87 9c 17 00 00    	ja     0x41bd5b
41a5bf:	c7 02 08 00 00 00    	movl   $0x8,(%edx)
41a5c5:	8b 06                	mov    (%esi),%eax
41a5c7:	89 07                	mov    %eax,(%edi)
41a5c9:	8b 46 04             	mov    0x4(%esi),%eax
41a5cc:	89 47 04             	mov    %eax,0x4(%edi)
41a5cf:	8b 85 e0 f2 ff ff    	mov    -0xd20(%ebp),%eax
41a5d5:	40                   	inc    %eax
41a5d6:	89 85 e0 f2 ff ff    	mov    %eax,-0xd20(%ebp)
41a5dc:	83 bd e8 f2 ff ff 00 	cmpl   $0x0,-0xd18(%ebp)
41a5e3:	75 19                	jne    0x41a5fe
41a5e5:	8b 85 e4 f2 ff ff    	mov    -0xd1c(%ebp),%eax