41634a:	8b 08                	mov    (%eax),%ecx
41634c:	8b 40 04             	mov    0x4(%eax),%eax
41634f:	33 ca                	xor    %edx,%ecx
416351:	89 4d f8             	mov    %ecx,-0x8(%ebp)
416354:	33 c2                	xor    %edx,%eax
416356:	8b ce                	mov    %esi,%ecx
416358:	d3 4d f8             	rorl   %cl,-0x8(%ebp)
41635b:	d3 c8                	ror    %cl,%eax
41635d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
416360:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
416363:	75 0b                	jne    0x416370
416365:	6a 20                	push   $0x20
416367:	59                   	pop    %ecx
416368:	3b 45 f0             	cmp    -0x10(%ebp),%eax
41636b:	74 a0                	je     0x41630d
41636d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
416370:	89 4d f4             	mov    %ecx,-0xc(%ebp)
416373:	8b f9                	mov    %ecx,%edi
416375:	89 45 f0             	mov    %eax,-0x10(%ebp)
416378:	8b d8                	mov    %eax,%ebx
41637a:	eb 8e                	jmp    0x41630a
41637c:	83 ff ff             	cmp    $0xffffffff,%edi
41637f:	74 0d                	je     0x41638e
416381:	57                   	push   %edi
416382:	e8 89 e9 ff ff       	call   0x414d10
416387:	8b 15 28 ba 43 00    	mov    0x43ba28,%edx
41638d:	59                   	pop    %ecx
41638e:	8b c2                	mov    %edx,%eax
416390:	33 d2                	xor    %edx,%edx
416392:	83 e0 1f             	and    $0x1f,%eax
416395:	6a 20                	push   $0x20
416397:	59                   	pop    %ecx
416398:	2b c8                	sub    %eax,%ecx
41639a:	d3 ca                	ror    %cl,%edx
41639c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41639f:	33 15 28 ba 43 00    	xor    0x43ba28,%edx
4163a5:	8b 01                	mov    (%ecx),%eax
4163a7:	8b 00                	mov    (%eax),%eax
4163a9:	89 10                	mov    %edx,(%eax)
4163ab:	8b 01                	mov    (%ecx),%eax
4163ad:	8b 00                	mov    (%eax),%eax
4163af:	89 50 04             	mov    %edx,0x4(%eax)
4163b2:	8b 01                	mov    (%ecx),%eax
4163b4:	8b 00                	mov    (%eax),%eax
4163b6:	89 50 08             	mov    %edx,0x8(%eax)
4163b9:	5f                   	pop    %edi
4163ba:	33 c0                	xor    %eax,%eax
4163bc:	5e                   	pop    %esi
4163bd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4163c0:	33 cd                	xor    %ebp,%ecx
4163c2:	5b                   	pop    %ebx
4163c3:	e8 98 0c ff ff       	call   0x407060
4163c8:	8b e5                	mov    %ebp,%esp
4163ca:	5d                   	pop    %ebp
4163cb:	c3                   	ret
4163cc:	8b ff                	mov    %edi,%edi
4163ce:	55                   	push   %ebp
4163cf:	8b ec                	mov    %esp,%ebp
4163d1:	83 ec 0c             	sub    $0xc,%esp
4163d4:	8b c1                	mov    %ecx,%eax
4163d6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4163d9:	56                   	push   %esi
4163da:	8b 00                	mov    (%eax),%eax
4163dc:	8b 30                	mov    (%eax),%esi
4163de:	85 f6                	test   %esi,%esi
4163e0:	75 08                	jne    0x4163ea
4163e2:	83 c8 ff             	or     $0xffffffff,%eax
4163e5:	e9 1e 01 00 00       	jmp    0x416508
4163ea:	a1 28 ba 43 00       	mov    0x43ba28,%eax
4163ef:	8b c8                	mov    %eax,%ecx
4163f1:	53                   	push   %ebx
4163f2:	8b 1e                	mov    (%esi),%ebx
4163f4:	83 e1 1f             	and    $0x1f,%ecx
4163f7:	57                   	push   %edi
4163f8:	8b 7e 04             	mov    0x4(%esi),%edi
4163fb:	33 d8                	xor    %eax,%ebx
4163fd:	8b 76 08             	mov    0x8(%esi),%esi
416400:	33 f8                	xor    %eax,%edi
416402:	33 f0                	xor    %eax,%esi
416404:	d3 cf                	ror    %cl,%edi
416406:	d3 ce                	ror    %cl,%esi
416408:	d3 cb                	ror    %cl,%ebx
41640a:	3b fe                	cmp    %esi,%edi
41640c:	0f 85 b4 00 00 00    	jne    0x4164c6
416412:	2b f3                	sub    %ebx,%esi
416414:	b8 00 02 00 00       	mov    $0x200,%eax
416419:	c1 fe 02             	sar    $0x2,%esi
41641c:	3b f0                	cmp    %eax,%esi
41641e:	77 02                	ja     0x416422
416420:	8b c6                	mov    %esi,%eax
416422:	8d 3c 30             	lea    (%eax,%esi,1),%edi
416425:	85 ff                	test   %edi,%edi
416427:	75 03                	jne    0x41642c
416429:	6a 20                	push   $0x20
41642b:	5f                   	pop    %edi
41642c:	3b fe                	cmp    %esi,%edi
41642e:	72 1d                	jb     0x41644d
416430:	6a 04                	push   $0x4
416432:	57                   	push   %edi
416433:	53                   	push   %ebx
416434:	e8 5a 92 00 00       	call   0x41f693
416439:	6a 00                	push   $0x0
41643b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41643e:	e8 cd e8 ff ff       	call   0x414d10
416443:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416446:	83 c4 10             	add    $0x10,%esp
416449:	85 c9                	test   %ecx,%ecx
41644b:	75 28                	jne    0x416475
41644d:	6a 04                	push   $0x4
41644f:	8d 7e 04             	lea    0x4(%esi),%edi
416452:	57                   	push   %edi
416453:	53                   	push   %ebx
416454:	e8 3a 92 00 00       	call   0x41f693
416459:	6a 00                	push   $0x0
41645b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41645e:	e8 ad e8 ff ff       	call   0x414d10
416463:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416466:	83 c4 10             	add    $0x10,%esp
416469:	85 c9                	test   %ecx,%ecx
41646b:	75 08                	jne    0x416475
41646d:	83 c8 ff             	or     $0xffffffff,%eax
416470:	e9 91 00 00 00       	jmp    0x416506
416475:	8d 04 b1             	lea    (%ecx,%esi,4),%eax
416478:	8b d9                	mov    %ecx,%ebx
41647a:	89 45 fc             	mov    %eax,-0x4(%ebp)
41647d:	8d 34 b9             	lea    (%ecx,%edi,4),%esi
416480:	a1 28 ba 43 00       	mov    0x43ba28,%eax
416485:	8b 7d fc             	mov    -0x4(%ebp),%edi
416488:	83 e0 1f             	and    $0x1f,%eax
41648b:	6a 20                	push   $0x20
41648d:	59                   	pop    %ecx
41648e:	2b c8                	sub    %eax,%ecx
416490:	33 c0                	xor    %eax,%eax
416492:	d3 c8                	ror    %cl,%eax
416494:	8b cf                	mov    %edi,%ecx
416496:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
41649c:	89 45 f4             	mov    %eax,-0xc(%ebp)
41649f:	8b c6                	mov    %esi,%eax
4164a1:	2b c7                	sub    %edi,%eax
4164a3:	83 c0 03             	add    $0x3,%eax
4164a6:	c1 e8 02             	shr    $0x2,%eax
4164a9:	3b f7                	cmp    %edi,%esi
4164ab:	1b d2                	sbb    %edx,%edx
4164ad:	f7 d2                	not    %edx
4164af:	23 d0                	and    %eax,%edx
4164b1:	89 55 fc             	mov    %edx,-0x4(%ebp)
4164b4:	74 10                	je     0x4164c6
4164b6:	8b 55 f4             	mov    -0xc(%ebp),%edx
4164b9:	33 c0                	xor    %eax,%eax
4164bb:	40                   	inc    %eax
4164bc:	89 11                	mov    %edx,(%ecx)
4164be:	8d 49 04             	lea    0x4(%ecx),%ecx
4164c1:	3b 45 fc             	cmp    -0x4(%ebp),%eax
4164c4:	75 f5                	jne    0x4164bb
4164c6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4164c9:	8b 40 04             	mov    0x4(%eax),%eax
4164cc:	ff 30                	push   (%eax)
4164ce:	e8 ba fd ff ff       	call   0x41628d
4164d3:	53                   	push   %ebx
4164d4:	89 07                	mov    %eax,(%edi)
4164d6:	e8 06 04 ff ff       	call   0x4068e1
4164db:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4164de:	8b 0b                	mov    (%ebx),%ecx
4164e0:	8b 09                	mov    (%ecx),%ecx
4164e2:	89 01                	mov    %eax,(%ecx)
4164e4:	8d 47 04             	lea    0x4(%edi),%eax
4164e7:	50                   	push   %eax
4164e8:	e8 f4 03 ff ff       	call   0x4068e1
4164ed:	8b 0b                	mov    (%ebx),%ecx
4164ef:	56                   	push   %esi
4164f0:	8b 09                	mov    (%ecx),%ecx
4164f2:	89 41 04             	mov    %eax,0x4(%ecx)
4164f5:	e8 e7 03 ff ff       	call   0x4068e1
4164fa:	8b 0b                	mov    (%ebx),%ecx
4164fc:	83 c4 10             	add    $0x10,%esp
4164ff:	8b 09                	mov    (%ecx),%ecx
416501:	89 41 08             	mov    %eax,0x8(%ecx)
416504:	33 c0                	xor    %eax,%eax
416506:	5f                   	pop    %edi
416507:	5b                   	pop    %ebx
416508:	5e                   	pop    %esi
416509:	8b e5                	mov    %ebp,%esp
41650b:	5d                   	pop    %ebp
41650c:	c3                   	ret
41650d:	8b ff                	mov    %edi,%edi
41650f:	55                   	push   %ebp
416510:	8b ec                	mov    %esp,%ebp
416512:	ff 75 08             	push   0x8(%ebp)
416515:	68 b8 9c 83 02       	push   $0x2839cb8
41651a:	e8 5e 00 00 00       	call   0x41657d
41651f:	59                   	pop    %ecx
416520:	59                   	pop    %ecx
416521:	5d                   	pop    %ebp
416522:	c3                   	ret
416523:	8b ff                	mov    %edi,%edi
416525:	55                   	push   %ebp
416526:	8b ec                	mov    %esp,%ebp
416528:	51                   	push   %ecx
416529:	8d 45 08             	lea    0x8(%ebp),%eax
41652c:	89 45 fc             	mov    %eax,-0x4(%ebp)
41652f:	8d 45 fc             	lea    -0x4(%ebp),%eax
416532:	50                   	push   %eax
416533:	6a 02                	push   $0x2
416535:	e8 03 fd ff ff       	call   0x41623d
41653a:	59                   	pop    %ecx
41653b:	59                   	pop    %ecx
41653c:	8b e5                	mov    %ebp,%esp
41653e:	5d                   	pop    %ebp
41653f:	c3                   	ret
416540:	8b ff                	mov    %edi,%edi
416542:	55                   	push   %ebp
416543:	8b ec                	mov    %esp,%ebp
416545:	56                   	push   %esi
416546:	8b 75 08             	mov    0x8(%ebp),%esi
416549:	85 f6                	test   %esi,%esi
41654b:	75 05                	jne    0x416552
41654d:	83 c8 ff             	or     $0xffffffff,%eax
416550:	eb 28                	jmp    0x41657a
416552:	8b 06                	mov    (%esi),%eax
416554:	3b 46 08             	cmp    0x8(%esi),%eax
416557:	75 1f                	jne    0x416578
416559:	a1 28 ba 43 00       	mov    0x43ba28,%eax
41655e:	83 e0 1f             	and    $0x1f,%eax
416561:	6a 20                	push   $0x20
416563:	59                   	pop    %ecx
416564:	2b c8                	sub    %eax,%ecx
416566:	33 c0                	xor    %eax,%eax
416568:	d3 c8                	ror    %cl,%eax
41656a:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
416570:	89 06                	mov    %eax,(%esi)
416572:	89 46 04             	mov    %eax,0x4(%esi)
416575:	89 46 08             	mov    %eax,0x8(%esi)
416578:	33 c0                	xor    %eax,%eax
41657a:	5e                   	pop    %esi
41657b:	5d                   	pop    %ebp
41657c:	c3                   	ret
41657d:	8b ff                	mov    %edi,%edi
41657f:	55                   	push   %ebp
416580:	8b ec                	mov    %esp,%ebp
416582:	51                   	push   %ecx
416583:	51                   	push   %ecx
416584:	8d 45 08             	lea    0x8(%ebp),%eax
416587:	89 45 f8             	mov    %eax,-0x8(%ebp)
41658a:	8d 45 0c             	lea    0xc(%ebp),%eax
41658d:	89 45 fc             	mov    %eax,-0x4(%ebp)
416590:	8d 45 f8             	lea    -0x8(%ebp),%eax
416593:	50                   	push   %eax
416594:	6a 02                	push   $0x2
416596:	e8 ca fc ff ff       	call   0x416265
41659b:	59                   	pop    %ecx
41659c:	59                   	pop    %ecx
41659d:	8b e5                	mov    %ebp,%esp
41659f:	5d                   	pop    %ebp
4165a0:	c3                   	ret
4165a1:	68 e0 bb 43 00       	push   $0x43bbe0
4165a6:	b9 d0 9f 83 02       	mov    $0x2839fd0,%ecx
4165ab:	e8 f1 00 00 00       	call   0x4166a1
4165b0:	b0 01                	mov    $0x1,%al
4165b2:	c3                   	ret
4165b3:	68 b8 9c 83 02       	push   $0x2839cb8
4165b8:	e8 83 ff ff ff       	call   0x416540
4165bd:	c7 04 24 c4 9c 83 02 	movl   $0x2839cc4,(%esp)
4165c4:	e8 77 ff ff ff       	call   0x416540
4165c9:	59                   	pop    %ecx
4165ca:	b0 01                	mov    $0x1,%al
4165cc:	c3                   	ret
4165cd:	b0 01                	mov    $0x1,%al
4165cf:	c3                   	ret
4165d0:	b0 01                	mov    $0x1,%al
4165d2:	c3                   	ret
4165d3:	e8 87 fb ff ff       	call   0x41615f
4165d8:	b0 01                	mov    $0x1,%al
4165da:	c3                   	ret
4165db:	b0 01                	mov    $0x1,%al
4165dd:	c3                   	ret
4165de:	b0 01                	mov    $0x1,%al
4165e0:	c3                   	ret
4165e1:	a1 28 ba 43 00       	mov    0x43ba28,%eax
4165e6:	56                   	push   %esi
4165e7:	6a 20                	push   $0x20
4165e9:	83 e0 1f             	and    $0x1f,%eax
4165ec:	33 f6                	xor    %esi,%esi
4165ee:	59                   	pop    %ecx
4165ef:	2b c8                	sub    %eax,%ecx
4165f1:	d3 ce                	ror    %cl,%esi
4165f3:	33 35 28 ba 43 00    	xor    0x43ba28,%esi
4165f9:	56                   	push   %esi
4165fa:	e8 54 56 ff ff       	call   0x40bc53
4165ff:	56                   	push   %esi
416600:	e8 0a f1 ff ff       	call   0x41570f
416605:	56                   	push   %esi
416606:	e8 c9 65 00 00       	call   0x41cbd4
41660b:	56                   	push   %esi
41660c:	e8 63 01 00 00       	call   0x416774
416611:	56                   	push   %esi
416612:	e8 4f f5 ff ff       	call   0x415b66
416617:	83 c4 14             	add    $0x14,%esp
41661a:	b0 01                	mov    $0x1,%al
41661c:	5e                   	pop    %esi
41661d:	c3                   	ret
41661e:	6a 00                	push   $0x0
416620:	e8 31 4b ff ff       	call   0x40b156
416625:	59                   	pop    %ecx
416626:	c3                   	ret
416627:	a1 68 c2 43 00       	mov    0x43c268,%eax
41662c:	83 c9 ff             	or     $0xffffffff,%ecx
41662f:	56                   	push   %esi
416630:	f0 0f c1 08          	lock xadd %ecx,(%eax)
416634:	75 1b                	jne    0x416651
416636:	a1 68 c2 43 00       	mov    0x43c268,%eax
41663b:	be 48 c0 43 00       	mov    $0x43c048,%esi
416640:	3b c6                	cmp    %esi,%eax
416642:	74 0d                	je     0x416651
416644:	50                   	push   %eax
416645:	e8 c6 e6 ff ff       	call   0x414d10
41664a:	59                   	pop    %ecx
41664b:	89 35 68 c2 43 00    	mov    %esi,0x43c268
416651:	ff 35 c8 9f 83 02    	push   0x2839fc8
416657:	e8 b4 e6 ff ff       	call   0x414d10
41665c:	ff 35 cc 9f 83 02    	push   0x2839fcc
416662:	33 f6                	xor    %esi,%esi
416664:	89 35 c8 9f 83 02    	mov    %esi,0x2839fc8
41666a:	e8 a1 e6 ff ff       	call   0x414d10
41666f:	ff 35 d8 a0 83 02    	push   0x283a0d8
416675:	89 35 cc 9f 83 02    	mov    %esi,0x2839fcc
41667b:	e8 90 e6 ff ff       	call   0x414d10
416680:	ff 35 dc a0 83 02    	push   0x283a0dc
416686:	89 35 d8 a0 83 02    	mov    %esi,0x283a0d8
41668c:	e8 7f e6 ff ff       	call   0x414d10
416691:	83 c4 10             	add    $0x10,%esp
416694:	89 35 dc a0 83 02    	mov    %esi,0x283a0dc
41669a:	b0 01                	mov    $0x1,%al
41669c:	5e                   	pop    %esi
41669d:	c3                   	ret
41669e:	b0 01                	mov    $0x1,%al
4166a0:	c3                   	ret
4166a1:	8b ff                	mov    %edi,%edi
4166a3:	55                   	push   %ebp
4166a4:	8b ec                	mov    %esp,%ebp
4166a6:	8d 41 04             	lea    0x4(%ecx),%eax
4166a9:	8b d0                	mov    %eax,%edx
4166ab:	2b d1                	sub    %ecx,%edx
4166ad:	83 c2 03             	add    $0x3,%edx
4166b0:	56                   	push   %esi
4166b1:	33 f6                	xor    %esi,%esi
4166b3:	c1 ea 02             	shr    $0x2,%edx
4166b6:	3b c1                	cmp    %ecx,%eax
4166b8:	1b c0                	sbb    %eax,%eax
4166ba:	f7 d0                	not    %eax
4166bc:	23 c2                	and    %edx,%eax