42934e:	8d 73 02             	lea    0x2(%ebx),%esi
429351:	c7 85 34 fd ff ff 04 	movl   $0x4,-0x2cc(%ebp)
429358:	00 00 00
42935b:	c1 e6 04             	shl    $0x4,%esi
42935e:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
429364:	89 b5 38 fd ff ff    	mov    %esi,-0x2c8(%ebp)
42936a:	8b 14 3e             	mov    (%esi,%edi,1),%edx
42936d:	8b ca                	mov    %edx,%ecx
42936f:	66 8b 30             	mov    (%eax),%si
429372:	83 a5 44 fd ff ff 00 	andl   $0x0,-0x2bc(%ebp)
429379:	66 3b 31             	cmp    (%ecx),%si
42937c:	8b b5 38 fd ff ff    	mov    -0x2c8(%ebp),%esi
429382:	75 35                	jne    0x4293b9
429384:	66 83 38 00          	cmpw   $0x0,(%eax)
429388:	74 27                	je     0x4293b1
42938a:	66 8b 70 02          	mov    0x2(%eax),%si
42938e:	66 3b 71 02          	cmp    0x2(%ecx),%si
429392:	66 89 b5 42 fd ff ff 	mov    %si,-0x2be(%ebp)
429399:	8b b5 38 fd ff ff    	mov    -0x2c8(%ebp),%esi
42939f:	75 18                	jne    0x4293b9
4293a1:	83 c0 04             	add    $0x4,%eax
4293a4:	83 c1 04             	add    $0x4,%ecx
4293a7:	66 83 bd 42 fd ff ff 	cmpw   $0x0,-0x2be(%ebp)
4293ae:	00
4293af:	75 be                	jne    0x42936f
4293b1:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
4293b7:	eb 05                	jmp    0x4293be
4293b9:	1b c0                	sbb    %eax,%eax
4293bb:	83 c8 01             	or     $0x1,%eax
4293be:	85 c0                	test   %eax,%eax
4293c0:	75 07                	jne    0x4293c9
4293c2:	8b c2                	mov    %edx,%eax
4293c4:	e9 52 02 00 00       	jmp    0x42961b
4293c9:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
4293cf:	8d 51 02             	lea    0x2(%ecx),%edx
4293d2:	66 8b 01             	mov    (%ecx),%ax
4293d5:	83 c1 02             	add    $0x2,%ecx
4293d8:	66 3b 85 44 fd ff ff 	cmp    -0x2bc(%ebp),%ax
4293df:	75 f1                	jne    0x4293d2
4293e1:	2b ca                	sub    %edx,%ecx
4293e3:	d1 f9                	sar    $1,%ecx
4293e5:	8d 41 01             	lea    0x1(%ecx),%eax
4293e8:	89 85 40 fd ff ff    	mov    %eax,-0x2c0(%ebp)
4293ee:	8d 04 45 04 00 00 00 	lea    0x4(,%eax,2),%eax
4293f5:	50                   	push   %eax
4293f6:	e8 f9 14 00 00       	call   0x42a8f4
4293fb:	89 85 2c fd ff ff    	mov    %eax,-0x2d4(%ebp)
429401:	59                   	pop    %ecx
429402:	85 c0                	test   %eax,%eax
429404:	0f 84 0f 02 00 00    	je     0x429619
42940a:	8b 0c 3e             	mov    (%esi,%edi,1),%ecx
42940d:	83 c0 04             	add    $0x4,%eax
429410:	89 8d 30 fd ff ff    	mov    %ecx,-0x2d0(%ebp)
429416:	8b 8c 9f a0 00 00 00 	mov    0xa0(%edi,%ebx,4),%ecx
42941d:	89 8d 1c fd ff ff    	mov    %ecx,-0x2e4(%ebp)
429423:	8b 4f 08             	mov    0x8(%edi),%ecx
429426:	89 8d 18 fd ff ff    	mov    %ecx,-0x2e8(%ebp)
42942c:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
429432:	51                   	push   %ecx
429433:	ff b5 40 fd ff ff    	push   -0x2c0(%ebp)
429439:	89 85 28 fd ff ff    	mov    %eax,-0x2d8(%ebp)
42943f:	50                   	push   %eax
429440:	e8 21 a4 ff ff       	call   0x423866
429445:	83 c4 0c             	add    $0xc,%esp
429448:	85 c0                	test   %eax,%eax
42944a:	0f 85 49 02 00 00    	jne    0x429699
429450:	66 83 bd f4 fe ff ff 	cmpw   $0x43,-0x10c(%ebp)
429457:	43
429458:	8b 85 28 fd ff ff    	mov    -0x2d8(%ebp),%eax
42945e:	89 04 3e             	mov    %eax,(%esi,%edi,1)
429461:	75 12                	jne    0x429475
429463:	66 83 bd f6 fe ff ff 	cmpw   $0x0,-0x10a(%ebp)
42946a:	00
42946b:	75 08                	jne    0x429475
42946d:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
429473:	eb 0d                	jmp    0x429482
429475:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
42947b:	50                   	push   %eax
42947c:	e8 7f f2 ff ff       	call   0x428700
429481:	59                   	pop    %ecx
429482:	89 84 9f a0 00 00 00 	mov    %eax,0xa0(%edi,%ebx,4)
429489:	83 fb 02             	cmp    $0x2,%ebx
42948c:	0f 85 11 01 00 00    	jne    0x4295a3
429492:	8b b5 24 fd ff ff    	mov    -0x2dc(%ebp),%esi
429498:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
42949e:	8b 95 44 fd ff ff    	mov    -0x2bc(%ebp),%edx
4294a4:	89 47 08             	mov    %eax,0x8(%edi)
4294a7:	8b 46 20             	mov    0x20(%esi),%eax
4294aa:	8b 4e 24             	mov    0x24(%esi),%ecx
4294ad:	89 85 40 fd ff ff    	mov    %eax,-0x2c0(%ebp)
4294b3:	89 8d 3c fd ff ff    	mov    %ecx,-0x2c4(%ebp)
4294b9:	8b 47 08             	mov    0x8(%edi),%eax
4294bc:	3b 04 d6             	cmp    (%esi,%edx,8),%eax
4294bf:	74 34                	je     0x4294f5
4294c1:	8b 04 d6             	mov    (%esi,%edx,8),%eax
4294c4:	8b 9d 40 fd ff ff    	mov    -0x2c0(%ebp),%ebx
4294ca:	8b 4c d6 04          	mov    0x4(%esi,%edx,8),%ecx
4294ce:	89 1c d6             	mov    %ebx,(%esi,%edx,8)
4294d1:	8b 9d 3c fd ff ff    	mov    -0x2c4(%ebp),%ebx
4294d7:	89 5c d6 04          	mov    %ebx,0x4(%esi,%edx,8)
4294db:	42                   	inc    %edx
4294dc:	8b 9d 20 fd ff ff    	mov    -0x2e0(%ebp),%ebx
4294e2:	89 85 40 fd ff ff    	mov    %eax,-0x2c0(%ebp)
4294e8:	89 8d 3c fd ff ff    	mov    %ecx,-0x2c4(%ebp)
4294ee:	83 fa 05             	cmp    $0x5,%edx
4294f1:	7c c6                	jl     0x4294b9
4294f3:	eb 23                	jmp    0x429518
4294f5:	85 d2                	test   %edx,%edx
4294f7:	74 1f                	je     0x429518
4294f9:	8b 04 d6             	mov    (%esi,%edx,8),%eax
4294fc:	8b 4c d6 04          	mov    0x4(%esi,%edx,8),%ecx
429500:	89 06                	mov    %eax,(%esi)
429502:	8b 85 40 fd ff ff    	mov    -0x2c0(%ebp),%eax
429508:	89 4e 04             	mov    %ecx,0x4(%esi)
42950b:	89 04 d6             	mov    %eax,(%esi,%edx,8)
42950e:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
429514:	89 44 d6 04          	mov    %eax,0x4(%esi,%edx,8)
429518:	83 fa 05             	cmp    $0x5,%edx
42951b:	75 7c                	jne    0x429599
42951d:	6a 01                	push   $0x1
42951f:	ff 77 08             	push   0x8(%edi)
429522:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
429528:	50                   	push   %eax
429529:	6a 7f                	push   $0x7f
42952b:	68 88 18 44 00       	push   $0x441888
429530:	6a 01                	push   $0x1
429532:	ff b5 44 fd ff ff    	push   -0x2bc(%ebp)
429538:	e8 a4 6f 00 00       	call   0x4304e1
42953d:	83 c4 1c             	add    $0x1c,%esp
429540:	85 c0                	test   %eax,%eax
429542:	74 3c                	je     0x429580
429544:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
42954a:	b9 ff 01 00 00       	mov    $0x1ff,%ecx
42954f:	66 21 8c 45 f4 fd ff 	and    %cx,-0x20c(%ebp,%eax,2)
429556:	ff
429557:	40                   	inc    %eax
429558:	83 f8 7f             	cmp    $0x7f,%eax
42955b:	72 ed                	jb     0x42954a
42955d:	68 fe 00 00 00       	push   $0xfe
429562:	ff 35 a4 51 45 00    	push   0x4551a4
429568:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
42956e:	50                   	push   %eax
42956f:	e8 fc 27 ff ff       	call   0x41bd70
429574:	33 d2                	xor    %edx,%edx
429576:	83 c4 0c             	add    $0xc,%esp
429579:	85 c0                	test   %eax,%eax
42957b:	0f 94 c2             	sete   %dl
42957e:	eb 06                	jmp    0x429586
429580:	8b 95 44 fd ff ff    	mov    -0x2bc(%ebp),%edx
429586:	8b 8d 34 fd ff ff    	mov    -0x2cc(%ebp),%ecx
42958c:	8b c6                	mov    %esi,%eax
42958e:	03 c8                	add    %eax,%ecx
429590:	89 11                	mov    %edx,(%ecx)
429592:	8b 47 08             	mov    0x8(%edi),%eax
429595:	89 06                	mov    %eax,(%esi)
429597:	eb 03                	jmp    0x42959c
429599:	8d 4e 04             	lea    0x4(%esi),%ecx
42959c:	8b 01                	mov    (%ecx),%eax
42959e:	89 47 18             	mov    %eax,0x18(%edi)
4295a1:	eb 1e                	jmp    0x4295c1
4295a3:	83 fb 01             	cmp    $0x1,%ebx
4295a6:	75 0b                	jne    0x4295b3
4295a8:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
4295ae:	89 47 10             	mov    %eax,0x10(%edi)
4295b1:	eb 0e                	jmp    0x4295c1
4295b3:	83 fb 05             	cmp    $0x5,%ebx
4295b6:	75 09                	jne    0x4295c1
4295b8:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
4295be:	89 47 14             	mov    %eax,0x14(%edi)
4295c1:	6b c3 0c             	imul   $0xc,%ebx,%eax
4295c4:	57                   	push   %edi
4295c5:	8b b0 10 19 44 00    	mov    0x441910(%eax),%esi
4295cb:	8b ce                	mov    %esi,%ecx
4295cd:	ff 15 5c e2 43 00    	call   *0x43e25c
4295d3:	ff d6                	call   *%esi
4295d5:	59                   	pop    %ecx
4295d6:	8b 8d 30 fd ff ff    	mov    -0x2d0(%ebp),%ecx
4295dc:	85 c0                	test   %eax,%eax
4295de:	74 4a                	je     0x42962a
4295e0:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
4295e6:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
4295e9:	ff b4 9f a0 00 00 00 	push   0xa0(%edi,%ebx,4)
4295f0:	e8 c5 12 00 00       	call   0x42a8ba
4295f5:	8b 8d 2c fd ff ff    	mov    -0x2d4(%ebp),%ecx
4295fb:	8b 85 1c fd ff ff    	mov    -0x2e4(%ebp),%eax
429601:	51                   	push   %ecx
429602:	89 84 9f a0 00 00 00 	mov    %eax,0xa0(%edi,%ebx,4)
429609:	e8 ac 12 00 00       	call   0x42a8ba
42960e:	8b 85 18 fd ff ff    	mov    -0x2e8(%ebp),%eax
429614:	59                   	pop    %ecx
429615:	59                   	pop    %ecx
429616:	89 47 08             	mov    %eax,0x8(%edi)
429619:	33 c0                	xor    %eax,%eax
42961b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42961e:	5f                   	pop    %edi
42961f:	5e                   	pop    %esi
429620:	33 cd                	xor    %ebp,%ecx
429622:	5b                   	pop    %ebx
429623:	e8 82 05 ff ff       	call   0x419baa
429628:	c9                   	leave
429629:	c3                   	ret
42962a:	81 f9 70 52 45 00    	cmp    $0x455270,%ecx
429630:	74 4a                	je     0x42967c
429632:	8b f3                	mov    %ebx,%esi
429634:	83 c9 ff             	or     $0xffffffff,%ecx
429637:	03 f6                	add    %esi,%esi
429639:	8b 44 f7 28          	mov    0x28(%edi,%esi,8),%eax
42963d:	f0 0f c1 08          	lock xadd %ecx,(%eax)
429641:	75 39                	jne    0x42967c
429643:	ff 74 f7 28          	push   0x28(%edi,%esi,8)
429647:	e8 6e 12 00 00       	call   0x42a8ba
42964c:	ff 74 f7 24          	push   0x24(%edi,%esi,8)
429650:	e8 65 12 00 00       	call   0x42a8ba
429655:	ff b4 9f a0 00 00 00 	push   0xa0(%edi,%ebx,4)
42965c:	e8 59 12 00 00       	call   0x42a8ba
429661:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
429667:	83 c4 0c             	add    $0xc,%esp
42966a:	8b 8d 44 fd ff ff    	mov    -0x2bc(%ebp),%ecx
429670:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
429673:	89 8c 9f a0 00 00 00 	mov    %ecx,0xa0(%edi,%ebx,4)
42967a:	eb 06                	jmp    0x429682
42967c:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
429682:	8b 8d 2c fd ff ff    	mov    -0x2d4(%ebp),%ecx
429688:	03 db                	add    %ebx,%ebx
42968a:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
429690:	8b 04 38             	mov    (%eax,%edi,1),%eax
429693:	89 4c df 28          	mov    %ecx,0x28(%edi,%ebx,8)
429697:	eb 82                	jmp    0x42961b
429699:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
42969f:	50                   	push   %eax
4296a0:	50                   	push   %eax
4296a1:	50                   	push   %eax
4296a2:	50                   	push   %eax
4296a3:	50                   	push   %eax
4296a4:	e8 07 63 ff ff       	call   0x41f9b0
4296a9:	cc                   	int3
4296aa:	8b ff                	mov    %edi,%edi
4296ac:	55                   	push   %ebp
4296ad:	8b ec                	mov    %esp,%ebp
4296af:	51                   	push   %ecx
4296b0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4296b4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4296b7:	6a 02                	push   $0x2
4296b9:	50                   	push   %eax
4296ba:	68 04 10 00 20       	push   $0x20001004
4296bf:	ff 75 08             	push   0x8(%ebp)
4296c2:	e8 49 40 00 00       	call   0x42d710
4296c7:	85 c0                	test   %eax,%eax
4296c9:	74 07                	je     0x4296d2
4296cb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4296ce:	85 c0                	test   %eax,%eax
4296d0:	75 05                	jne    0x4296d7
4296d2:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
4296d7:	c9                   	leave
4296d8:	c3                   	ret
4296d9:	8b ff                	mov    %edi,%edi
4296db:	55                   	push   %ebp
4296dc:	8b ec                	mov    %esp,%ebp
4296de:	83 ec 44             	sub    $0x44,%esp
4296e1:	a1 14 50 45 00       	mov    0x455014,%eax
4296e6:	33 c5                	xor    %ebp,%eax
4296e8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4296eb:	8b 45 0c             	mov    0xc(%ebp),%eax
4296ee:	53                   	push   %ebx
4296ef:	56                   	push   %esi
4296f0:	8b 75 08             	mov    0x8(%ebp),%esi
4296f3:	33 db                	xor    %ebx,%ebx
4296f5:	57                   	push   %edi
4296f6:	68 ca 01 00 00       	push   $0x1ca
4296fb:	53                   	push   %ebx
4296fc:	56                   	push   %esi
4296fd:	89 75 bc             	mov    %esi,-0x44(%ebp)
429700:	89 45 c4             	mov    %eax,-0x3c(%ebp)
429703:	e8 08 25 ff ff       	call   0x41bc10
429708:	8b 55 c4             	mov    -0x3c(%ebp),%edx
42970b:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42970e:	83 c4 0c             	add    $0xc,%esp
429711:	89 4d c8             	mov    %ecx,-0x38(%ebp)
429714:	8b fb                	mov    %ebx,%edi
429716:	8b c3                	mov    %ebx,%eax
429718:	89 45 c0             	mov    %eax,-0x40(%ebp)
42971b:	83 ff 04             	cmp    $0x4,%edi
42971e:	0f 83 7e 01 00 00    	jae    0x4298a2
429724:	83 f8 02             	cmp    $0x2,%eax
429727:	74 14                	je     0x42973d
429729:	68 d8 19 44 00       	push   $0x4419d8
42972e:	52                   	push   %edx
42972f:	e8 aa a8 00 00       	call   0x433fde
429734:	8b 55 c4             	mov    -0x3c(%ebp),%edx
429737:	59                   	pop    %ecx
429738:	59                   	pop    %ecx
429739:	8b c8                	mov    %eax,%ecx
42973b:	eb 14                	jmp    0x429751
42973d:	8b ca                	mov    %edx,%ecx
42973f:	8d 71 02             	lea    0x2(%ecx),%esi
429742:	66 8b 01             	mov    (%ecx),%ax
429745:	83 c1 02             	add    $0x2,%ecx
429748:	66 3b c3             	cmp    %bx,%ax
42974b:	75 f5                	jne    0x429742
42974d:	2b ce                	sub    %esi,%ecx
42974f:	d1 f9                	sar    $1,%ecx
429751:	8b 45 c8             	mov    -0x38(%ebp),%eax
429754:	47                   	inc    %edi
429755:	8b 75 c8             	mov    -0x38(%ebp),%esi
429758:	83 45 c8 0c          	addl   $0xc,-0x38(%ebp)
42975c:	89 50 fc             	mov    %edx,-0x4(%eax)
42975f:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
429762:	89 08                	mov    %ecx,(%eax)
429764:	8b 45 c0             	mov    -0x40(%ebp),%eax
429767:	89 46 04             	mov    %eax,0x4(%esi)
42976a:	0f b7 02             	movzwl (%edx),%eax
42976d:	83 c2 02             	add    $0x2,%edx
429770:	8b 75 bc             	mov    -0x44(%ebp),%esi
429773:	89 55 c4             	mov    %edx,-0x3c(%ebp)
429776:	2b c3                	sub    %ebx,%eax
429778:	74 0f                	je     0x429789
42977a:	83 e8 2d             	sub    $0x2d,%eax
42977d:	74 97                	je     0x429716
42977f:	83 e8 01             	sub    $0x1,%eax
429782:	74 69                	je     0x4297ed
429784:	83 e8 31             	sub    $0x31,%eax
429787:	74 8d                	je     0x429716
429789:	83 ef 01             	sub    $0x1,%edi
42978c:	0f 84 02 01 00 00    	je     0x429894
429792:	83 ef 01             	sub    $0x1,%edi
429795:	0f 84 b3 00 00 00    	je     0x42984e
42979b:	83 ef 01             	sub    $0x1,%edi
42979e:	74 55                	je     0x4297f5
4297a0:	83 ef 01             	sub    $0x1,%edi
4297a3:	0f 85 f9 00 00 00    	jne    0x4298a2
4297a9:	8d 45 cc             	lea    -0x34(%ebp),%eax
4297ac:	50                   	push   %eax
4297ad:	56                   	push   %esi
4297ae:	e8 3f 01 00 00       	call   0x4298f2
4297b3:	59                   	pop    %ecx
4297b4:	59                   	pop    %ecx
4297b5:	84 c0                	test   %al,%al
4297b7:	0f 84 d3 00 00 00    	je     0x429890
4297bd:	8d 45 d8             	lea    -0x28(%ebp),%eax
4297c0:	50                   	push   %eax
4297c1:	56                   	push   %esi
4297c2:	e8 5b 02 00 00       	call   0x429a22
4297c7:	59                   	pop    %ecx
4297c8:	59                   	pop    %ecx
4297c9:	84 c0                	test   %al,%al
4297cb:	0f 84 bf 00 00 00    	je     0x429890
4297d1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4297d4:	50                   	push   %eax
4297d5:	56                   	push   %esi
4297d6:	e8 89 01 00 00       	call   0x429964