41b133:	57                   	push   %edi
41b134:	e8 97 fb ff ff       	call   0x41acd0
41b139:	59                   	pop    %ecx
41b13a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b13d:	5f                   	pop    %edi
41b13e:	5e                   	pop    %esi
41b13f:	33 cd                	xor    %ebp,%ecx
41b141:	5b                   	pop    %ebx
41b142:	e8 60 eb fe ff       	call   0x409ca7
41b147:	c9                   	leave
41b148:	c3                   	ret
41b149:	e8 ea f4 fe ff       	call   0x40a638
41b14e:	33 c0                	xor    %eax,%eax
41b150:	50                   	push   %eax
41b151:	50                   	push   %eax
41b152:	50                   	push   %eax
41b153:	50                   	push   %eax
41b154:	50                   	push   %eax
41b155:	e8 c1 22 ff ff       	call   0x40d41b
41b15a:	cc                   	int3
41b15b:	8b ff                	mov    %edi,%edi
41b15d:	55                   	push   %ebp
41b15e:	8b ec                	mov    %esp,%ebp
41b160:	81 ec e8 02 00 00    	sub    $0x2e8,%esp
41b166:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
41b16b:	33 c5                	xor    %ebp,%eax
41b16d:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b170:	53                   	push   %ebx
41b171:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41b174:	56                   	push   %esi
41b175:	8b 75 10             	mov    0x10(%ebp),%esi
41b178:	57                   	push   %edi
41b179:	8b 7d 08             	mov    0x8(%ebp),%edi
41b17c:	89 9d 20 fd ff ff    	mov    %ebx,-0x2e0(%ebp)
41b182:	e8 62 11 00 00       	call   0x41c2e9
41b187:	05 78 02 00 00       	add    $0x278,%eax
41b18c:	89 85 24 fd ff ff    	mov    %eax,-0x2dc(%ebp)
41b192:	8d 85 3c fd ff ff    	lea    -0x2c4(%ebp),%eax
41b198:	50                   	push   %eax
41b199:	6a 55                	push   $0x55
41b19b:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
41b1a1:	50                   	push   %eax
41b1a2:	68 83 00 00 00       	push   $0x83
41b1a7:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
41b1ad:	50                   	push   %eax
41b1ae:	56                   	push   %esi
41b1af:	e8 92 f6 ff ff       	call   0x41a846
41b1b4:	83 c4 18             	add    $0x18,%esp
41b1b7:	85 c0                	test   %eax,%eax
41b1b9:	0f 84 cb 02 00 00    	je     0x41b48a
41b1bf:	8d 73 02             	lea    0x2(%ebx),%esi
41b1c2:	c7 85 34 fd ff ff 04 	movl   $0x4,-0x2cc(%ebp)
41b1c9:	00 00 00
41b1cc:	c1 e6 04             	shl    $0x4,%esi
41b1cf:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
41b1d5:	89 b5 38 fd ff ff    	mov    %esi,-0x2c8(%ebp)
41b1db:	8b 14 3e             	mov    (%esi,%edi,1),%edx
41b1de:	8b ca                	mov    %edx,%ecx
41b1e0:	66 8b 30             	mov    (%eax),%si
41b1e3:	83 a5 44 fd ff ff 00 	andl   $0x0,-0x2bc(%ebp)
41b1ea:	66 3b 31             	cmp    (%ecx),%si
41b1ed:	8b b5 38 fd ff ff    	mov    -0x2c8(%ebp),%esi
41b1f3:	75 35                	jne    0x41b22a
41b1f5:	66 83 38 00          	cmpw   $0x0,(%eax)
41b1f9:	74 27                	je     0x41b222
41b1fb:	66 8b 70 02          	mov    0x2(%eax),%si
41b1ff:	66 3b 71 02          	cmp    0x2(%ecx),%si
41b203:	66 89 b5 42 fd ff ff 	mov    %si,-0x2be(%ebp)
41b20a:	8b b5 38 fd ff ff    	mov    -0x2c8(%ebp),%esi
41b210:	75 18                	jne    0x41b22a
41b212:	83 c0 04             	add    $0x4,%eax
41b215:	83 c1 04             	add    $0x4,%ecx
41b218:	66 83 bd 42 fd ff ff 	cmpw   $0x0,-0x2be(%ebp)
41b21f:	00
41b220:	75 be                	jne    0x41b1e0
41b222:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
41b228:	eb 05                	jmp    0x41b22f
41b22a:	1b c0                	sbb    %eax,%eax
41b22c:	83 c8 01             	or     $0x1,%eax
41b22f:	85 c0                	test   %eax,%eax
41b231:	75 07                	jne    0x41b23a
41b233:	8b c2                	mov    %edx,%eax
41b235:	e9 52 02 00 00       	jmp    0x41b48c
41b23a:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
41b240:	8d 51 02             	lea    0x2(%ecx),%edx
41b243:	66 8b 01             	mov    (%ecx),%ax
41b246:	83 c1 02             	add    $0x2,%ecx
41b249:	66 3b 85 44 fd ff ff 	cmp    -0x2bc(%ebp),%ax
41b250:	75 f1                	jne    0x41b243
41b252:	2b ca                	sub    %edx,%ecx
41b254:	d1 f9                	sar    $1,%ecx
41b256:	8d 41 01             	lea    0x1(%ecx),%eax
41b259:	89 85 40 fd ff ff    	mov    %eax,-0x2c0(%ebp)
41b25f:	8d 04 45 04 00 00 00 	lea    0x4(,%eax,2),%eax
41b266:	50                   	push   %eax
41b267:	e8 c4 b9 fe ff       	call   0x406c30
41b26c:	89 85 2c fd ff ff    	mov    %eax,-0x2d4(%ebp)
41b272:	59                   	pop    %ecx
41b273:	85 c0                	test   %eax,%eax
41b275:	0f 84 0f 02 00 00    	je     0x41b48a
41b27b:	8b 0c 3e             	mov    (%esi,%edi,1),%ecx
41b27e:	83 c0 04             	add    $0x4,%eax
41b281:	89 8d 30 fd ff ff    	mov    %ecx,-0x2d0(%ebp)
41b287:	8b 8c 9f a0 00 00 00 	mov    0xa0(%edi,%ebx,4),%ecx
41b28e:	89 8d 1c fd ff ff    	mov    %ecx,-0x2e4(%ebp)
41b294:	8b 4f 08             	mov    0x8(%edi),%ecx
41b297:	89 8d 18 fd ff ff    	mov    %ecx,-0x2e8(%ebp)
41b29d:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
41b2a3:	51                   	push   %ecx
41b2a4:	ff b5 40 fd ff ff    	push   -0x2c0(%ebp)
41b2aa:	89 85 28 fd ff ff    	mov    %eax,-0x2d8(%ebp)
41b2b0:	50                   	push   %eax
41b2b1:	e8 d2 77 ff ff       	call   0x412a88
41b2b6:	83 c4 0c             	add    $0xc,%esp
41b2b9:	85 c0                	test   %eax,%eax
41b2bb:	0f 85 49 02 00 00    	jne    0x41b50a
41b2c1:	66 83 bd f4 fe ff ff 	cmpw   $0x43,-0x10c(%ebp)
41b2c8:	43
41b2c9:	8b 85 28 fd ff ff    	mov    -0x2d8(%ebp),%eax
41b2cf:	89 04 3e             	mov    %eax,(%esi,%edi,1)
41b2d2:	75 12                	jne    0x41b2e6
41b2d4:	66 83 bd f6 fe ff ff 	cmpw   $0x0,-0x10a(%ebp)
41b2db:	00
41b2dc:	75 08                	jne    0x41b2e6
41b2de:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
41b2e4:	eb 0d                	jmp    0x41b2f3
41b2e6:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
41b2ec:	50                   	push   %eax
41b2ed:	e8 84 f2 ff ff       	call   0x41a576
41b2f2:	59                   	pop    %ecx
41b2f3:	89 84 9f a0 00 00 00 	mov    %eax,0xa0(%edi,%ebx,4)
41b2fa:	83 fb 02             	cmp    $0x2,%ebx
41b2fd:	0f 85 11 01 00 00    	jne    0x41b414
41b303:	8b b5 24 fd ff ff    	mov    -0x2dc(%ebp),%esi
41b309:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
41b30f:	8b 95 44 fd ff ff    	mov    -0x2bc(%ebp),%edx
41b315:	89 47 08             	mov    %eax,0x8(%edi)
41b318:	8b 46 20             	mov    0x20(%esi),%eax
41b31b:	8b 4e 24             	mov    0x24(%esi),%ecx
41b31e:	89 85 40 fd ff ff    	mov    %eax,-0x2c0(%ebp)
41b324:	89 8d 3c fd ff ff    	mov    %ecx,-0x2c4(%ebp)
41b32a:	8b 47 08             	mov    0x8(%edi),%eax
41b32d:	3b 04 d6             	cmp    (%esi,%edx,8),%eax
41b330:	74 34                	je     0x41b366
41b332:	8b 04 d6             	mov    (%esi,%edx,8),%eax
41b335:	8b 9d 40 fd ff ff    	mov    -0x2c0(%ebp),%ebx
41b33b:	8b 4c d6 04          	mov    0x4(%esi,%edx,8),%ecx
41b33f:	89 1c d6             	mov    %ebx,(%esi,%edx,8)
41b342:	8b 9d 3c fd ff ff    	mov    -0x2c4(%ebp),%ebx
41b348:	89 5c d6 04          	mov    %ebx,0x4(%esi,%edx,8)
41b34c:	42                   	inc    %edx
41b34d:	8b 9d 20 fd ff ff    	mov    -0x2e0(%ebp),%ebx
41b353:	89 85 40 fd ff ff    	mov    %eax,-0x2c0(%ebp)
41b359:	89 8d 3c fd ff ff    	mov    %ecx,-0x2c4(%ebp)
41b35f:	83 fa 05             	cmp    $0x5,%edx
41b362:	7c c6                	jl     0x41b32a
41b364:	eb 23                	jmp    0x41b389
41b366:	85 d2                	test   %edx,%edx
41b368:	74 1f                	je     0x41b389
41b36a:	8b 04 d6             	mov    (%esi,%edx,8),%eax
41b36d:	8b 4c d6 04          	mov    0x4(%esi,%edx,8),%ecx
41b371:	89 06                	mov    %eax,(%esi)
41b373:	8b 85 40 fd ff ff    	mov    -0x2c0(%ebp),%eax
41b379:	89 4e 04             	mov    %ecx,0x4(%esi)
41b37c:	89 04 d6             	mov    %eax,(%esi,%edx,8)
41b37f:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
41b385:	89 44 d6 04          	mov    %eax,0x4(%esi,%edx,8)
41b389:	83 fa 05             	cmp    $0x5,%edx
41b38c:	75 7c                	jne    0x41b40a
41b38e:	6a 01                	push   $0x1
41b390:	ff 77 08             	push   0x8(%edi)
41b393:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
41b399:	50                   	push   %eax
41b39a:	6a 7f                	push   $0x7f
41b39c:	68 b0 31 43 00       	push   $0x4331b0
41b3a1:	6a 01                	push   $0x1
41b3a3:	ff b5 44 fd ff ff    	push   -0x2bc(%ebp)
41b3a9:	e8 86 91 00 00       	call   0x424534
41b3ae:	83 c4 1c             	add    $0x1c,%esp
41b3b1:	85 c0                	test   %eax,%eax
41b3b3:	74 3c                	je     0x41b3f1
41b3b5:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
41b3bb:	b9 ff 01 00 00       	mov    $0x1ff,%ecx
41b3c0:	66 21 8c 45 f4 fd ff 	and    %cx,-0x20c(%ebp,%eax,2)
41b3c7:	ff
41b3c8:	40                   	inc    %eax
41b3c9:	83 f8 7f             	cmp    $0x7f,%eax
41b3cc:	72 ed                	jb     0x41b3bb
41b3ce:	68 fe 00 00 00       	push   $0xfe
41b3d3:	ff 35 40 d1 43 00    	push   0x43d140
41b3d9:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
41b3df:	50                   	push   %eax
41b3e0:	e8 9a 2a 01 00       	call   0x42de7f
41b3e5:	33 d2                	xor    %edx,%edx
41b3e7:	83 c4 0c             	add    $0xc,%esp
41b3ea:	85 c0                	test   %eax,%eax
41b3ec:	0f 94 c2             	sete   %dl
41b3ef:	eb 06                	jmp    0x41b3f7
41b3f1:	8b 95 44 fd ff ff    	mov    -0x2bc(%ebp),%edx
41b3f7:	8b 8d 34 fd ff ff    	mov    -0x2cc(%ebp),%ecx
41b3fd:	8b c6                	mov    %esi,%eax
41b3ff:	03 c8                	add    %eax,%ecx
41b401:	89 11                	mov    %edx,(%ecx)
41b403:	8b 47 08             	mov    0x8(%edi),%eax
41b406:	89 06                	mov    %eax,(%esi)
41b408:	eb 03                	jmp    0x41b40d
41b40a:	8d 4e 04             	lea    0x4(%esi),%ecx
41b40d:	8b 01                	mov    (%ecx),%eax
41b40f:	89 47 18             	mov    %eax,0x18(%edi)
41b412:	eb 1e                	jmp    0x41b432
41b414:	83 fb 01             	cmp    $0x1,%ebx
41b417:	75 0b                	jne    0x41b424
41b419:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
41b41f:	89 47 10             	mov    %eax,0x10(%edi)
41b422:	eb 0e                	jmp    0x41b432
41b424:	83 fb 05             	cmp    $0x5,%ebx
41b427:	75 09                	jne    0x41b432
41b429:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
41b42f:	89 47 14             	mov    %eax,0x14(%edi)
41b432:	6b c3 0c             	imul   $0xc,%ebx,%eax
41b435:	57                   	push   %edi
41b436:	8b b0 38 32 43 00    	mov    0x433238(%eax),%esi
41b43c:	8b ce                	mov    %esi,%ecx
41b43e:	ff 15 68 12 43 00    	call   *0x431268
41b444:	ff d6                	call   *%esi
41b446:	59                   	pop    %ecx
41b447:	8b 8d 30 fd ff ff    	mov    -0x2d0(%ebp),%ecx
41b44d:	85 c0                	test   %eax,%eax
41b44f:	74 4a                	je     0x41b49b
41b451:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
41b457:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
41b45a:	ff b4 9f a0 00 00 00 	push   0xa0(%edi,%ebx,4)
41b461:	e8 aa b7 fe ff       	call   0x406c10
41b466:	8b 8d 2c fd ff ff    	mov    -0x2d4(%ebp),%ecx
41b46c:	8b 85 1c fd ff ff    	mov    -0x2e4(%ebp),%eax
41b472:	51                   	push   %ecx
41b473:	89 84 9f a0 00 00 00 	mov    %eax,0xa0(%edi,%ebx,4)
41b47a:	e8 91 b7 fe ff       	call   0x406c10
41b47f:	8b 85 18 fd ff ff    	mov    -0x2e8(%ebp),%eax
41b485:	59                   	pop    %ecx
41b486:	59                   	pop    %ecx
41b487:	89 47 08             	mov    %eax,0x8(%edi)
41b48a:	33 c0                	xor    %eax,%eax
41b48c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b48f:	5f                   	pop    %edi
41b490:	5e                   	pop    %esi
41b491:	33 cd                	xor    %ebp,%ecx
41b493:	5b                   	pop    %ebx
41b494:	e8 0e e8 fe ff       	call   0x409ca7
41b499:	c9                   	leave
41b49a:	c3                   	ret
41b49b:	81 f9 18 d2 43 00    	cmp    $0x43d218,%ecx
41b4a1:	74 4a                	je     0x41b4ed
41b4a3:	8b f3                	mov    %ebx,%esi
41b4a5:	83 c9 ff             	or     $0xffffffff,%ecx
41b4a8:	03 f6                	add    %esi,%esi
41b4aa:	8b 44 f7 28          	mov    0x28(%edi,%esi,8),%eax
41b4ae:	f0 0f c1 08          	lock xadd %ecx,(%eax)
41b4b2:	75 39                	jne    0x41b4ed
41b4b4:	ff 74 f7 28          	push   0x28(%edi,%esi,8)
41b4b8:	e8 53 b7 fe ff       	call   0x406c10
41b4bd:	ff 74 f7 24          	push   0x24(%edi,%esi,8)
41b4c1:	e8 4a b7 fe ff       	call   0x406c10
41b4c6:	ff b4 9f a0 00 00 00 	push   0xa0(%edi,%ebx,4)
41b4cd:	e8 3e b7 fe ff       	call   0x406c10
41b4d2:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
41b4d8:	83 c4 0c             	add    $0xc,%esp
41b4db:	8b 8d 44 fd ff ff    	mov    -0x2bc(%ebp),%ecx
41b4e1:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
41b4e4:	89 8c 9f a0 00 00 00 	mov    %ecx,0xa0(%edi,%ebx,4)
41b4eb:	eb 06                	jmp    0x41b4f3
41b4ed:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
41b4f3:	8b 8d 2c fd ff ff    	mov    -0x2d4(%ebp),%ecx
41b4f9:	03 db                	add    %ebx,%ebx
41b4fb:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
41b501:	8b 04 38             	mov    (%eax,%edi,1),%eax
41b504:	89 4c df 28          	mov    %ecx,0x28(%edi,%ebx,8)
41b508:	eb 82                	jmp    0x41b48c
41b50a:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
41b510:	50                   	push   %eax
41b511:	50                   	push   %eax
41b512:	50                   	push   %eax
41b513:	50                   	push   %eax
41b514:	50                   	push   %eax
41b515:	e8 01 1f ff ff       	call   0x40d41b
41b51a:	cc                   	int3
41b51b:	8b ff                	mov    %edi,%edi
41b51d:	55                   	push   %ebp
41b51e:	8b ec                	mov    %esp,%ebp
41b520:	51                   	push   %ecx
41b521:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41b525:	8d 45 fc             	lea    -0x4(%ebp),%eax
41b528:	6a 02                	push   $0x2
41b52a:	50                   	push   %eax
41b52b:	68 04 10 00 20       	push   $0x20001004
41b530:	ff 75 08             	push   0x8(%ebp)
41b533:	e8 15 30 00 00       	call   0x41e54d
41b538:	85 c0                	test   %eax,%eax
41b53a:	74 07                	je     0x41b543
41b53c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41b53f:	85 c0                	test   %eax,%eax
41b541:	75 05                	jne    0x41b548
41b543:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
41b548:	c9                   	leave
41b549:	c3                   	ret
41b54a:	8b ff                	mov    %edi,%edi
41b54c:	55                   	push   %ebp
41b54d:	8b ec                	mov    %esp,%ebp
41b54f:	83 ec 44             	sub    $0x44,%esp
41b552:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
41b557:	33 c5                	xor    %ebp,%eax
41b559:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b55c:	8b 45 0c             	mov    0xc(%ebp),%eax
41b55f:	53                   	push   %ebx
41b560:	56                   	push   %esi
41b561:	8b 75 08             	mov    0x8(%ebp),%esi
41b564:	33 db                	xor    %ebx,%ebx
41b566:	57                   	push   %edi
41b567:	68 ca 01 00 00       	push   $0x1ca
41b56c:	53                   	push   %ebx
41b56d:	56                   	push   %esi
41b56e:	89 75 bc             	mov    %esi,-0x44(%ebp)
41b571:	89 45 c4             	mov    %eax,-0x3c(%ebp)
41b574:	e8 47 fe fe ff       	call   0x40b3c0
41b579:	8b 55 c4             	mov    -0x3c(%ebp),%edx
41b57c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
41b57f:	83 c4 0c             	add    $0xc,%esp
41b582:	89 4d c8             	mov    %ecx,-0x38(%ebp)
41b585:	8b fb                	mov    %ebx,%edi
41b587:	8b c3                	mov    %ebx,%eax
41b589:	89 45 c0             	mov    %eax,-0x40(%ebp)
41b58c:	83 ff 04             	cmp    $0x4,%edi
41b58f:	0f 83 7e 01 00 00    	jae    0x41b713
41b595:	83 f8 02             	cmp    $0x2,%eax
41b598:	74 14                	je     0x41b5ae
41b59a:	68 08 33 43 00       	push   $0x433308
41b59f:	52                   	push   %edx
41b5a0:	e8 36 8f 00 00       	call   0x4244db
41b5a5:	8b 55 c4             	mov    -0x3c(%ebp),%edx
41b5a8:	59                   	pop    %ecx
41b5a9:	59                   	pop    %ecx
41b5aa:	8b c8                	mov    %eax,%ecx
41b5ac:	eb 14                	jmp    0x41b5c2
41b5ae:	8b ca                	mov    %edx,%ecx
41b5b0:	8d 71 02             	lea    0x2(%ecx),%esi
41b5b3:	66 8b 01             	mov    (%ecx),%ax
41b5b6:	83 c1 02             	add    $0x2,%ecx
41b5b9:	66 3b c3             	cmp    %bx,%ax
41b5bc:	75 f5                	jne    0x41b5b3
41b5be:	2b ce                	sub    %esi,%ecx