4034ae:	8b cb                	mov    %ebx,%ecx
4034b0:	e8 cf e5 ff ff       	call   0x401a84
4034b5:	eb 18                	jmp    0x4034cf
4034b7:	68 5c a4 42 00       	push   $0x42a45c
4034bc:	57                   	push   %edi
4034bd:	e8 3f 6f 01 00       	call   0x41a401
4034c2:	59                   	pop    %ecx
4034c3:	59                   	pop    %ecx
4034c4:	85 c0                	test   %eax,%eax
4034c6:	75 07                	jne    0x4034cf
4034c8:	c6 83 36 a2 00 00 01 	movb   $0x1,0xa236(%ebx)
4034cf:	80 7d 4b 00          	cmpb   $0x0,0x4b(%ebp)
4034d3:	0f 84 c5 00 00 00    	je     0x40359e
4034d9:	57                   	push   %edi
4034da:	8d 43 1e             	lea    0x1e(%ebx),%eax
4034dd:	50                   	push   %eax
4034de:	6a 1a                	push   $0x1a
4034e0:	e8 f4 2f 00 00       	call   0x4064d9
4034e5:	e9 b4 00 00 00       	jmp    0x40359e
4034ea:	8d bb 50 57 00 00    	lea    0x5750(%ebx),%edi
4034f0:	8b cf                	mov    %edi,%ecx
4034f2:	e8 a0 65 00 00       	call   0x409a97
4034f7:	6a 05                	push   $0x5
4034f9:	59                   	pop    %ecx
4034fa:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4034fc:	8d 4d 28             	lea    0x28(%ebp),%ecx
4034ff:	e8 a2 7f 00 00       	call   0x40b4a6
403504:	8a c8                	mov    %al,%cl
403506:	80 e1 01             	and    $0x1,%cl
403509:	88 8b 35 a2 00 00    	mov    %cl,0xa235(%ebx)
40350f:	8b c8                	mov    %eax,%ecx
403511:	c1 e9 02             	shr    $0x2,%ecx
403514:	80 e1 01             	and    $0x1,%cl
403517:	88 8b 34 a2 00 00    	mov    %cl,0xa234(%ebx)
40351d:	8b c8                	mov    %eax,%ecx
40351f:	c1 e9 04             	shr    $0x4,%ecx
403522:	80 e1 01             	and    $0x1,%cl
403525:	88 8b 37 a2 00 00    	mov    %cl,0xa237(%ebx)
40352b:	8b c8                	mov    %eax,%ecx
40352d:	c1 e9 03             	shr    $0x3,%ecx
403530:	80 e1 01             	and    $0x1,%cl
403533:	88 8b 3b a2 00 00    	mov    %cl,0xa23b(%ebx)
403539:	c6 83 38 a2 00 00 00 	movb   $0x0,0xa238(%ebx)
403540:	c6 83 3a a2 00 00 01 	movb   $0x1,0xa23a(%ebx)
403547:	a8 02                	test   $0x2,%al
403549:	74 10                	je     0x40355b
40354b:	8d 4d 28             	lea    0x28(%ebp),%ecx
40354e:	e8 53 7f 00 00       	call   0x40b4a6
403553:	89 83 58 a2 00 00    	mov    %eax,0xa258(%ebx)
403559:	eb 07                	jmp    0x403562
40355b:	83 a3 58 a2 00 00 00 	andl   $0x0,0xa258(%ebx)
403562:	80 bb 35 a2 00 00 00 	cmpb   $0x0,0xa235(%ebx)
403569:	74 0e                	je     0x403579
40356b:	83 bb 58 a2 00 00 00 	cmpl   $0x0,0xa258(%ebx)
403572:	75 05                	jne    0x403579
403574:	33 c0                	xor    %eax,%eax
403576:	40                   	inc    %eax
403577:	eb 02                	jmp    0x40357b
403579:	33 c0                	xor    %eax,%eax
40357b:	88 83 39 a2 00 00    	mov    %al,0xa239(%ebx)
403581:	8b 45 18             	mov    0x18(%ebp),%eax
403584:	0b 45 1c             	or     0x1c(%ebp),%eax
403587:	74 15                	je     0x40359e
403589:	8d 83 50 57 00 00    	lea    0x5750(%ebx),%eax
40358f:	50                   	push   %eax
403590:	ff 75 18             	push   0x18(%ebp)
403593:	8d 45 28             	lea    0x28(%ebp),%eax
403596:	50                   	push   %eax
403597:	8b cb                	mov    %ebx,%ecx
403599:	e8 47 f1 ff ff       	call   0x4026e5
40359e:	8b 83 2c a2 00 00    	mov    0xa22c(%ebx),%eax
4035a4:	3b 83 24 a2 00 00    	cmp    0xa224(%ebx),%eax
4035aa:	7f 10                	jg     0x4035bc
4035ac:	7c 24                	jl     0x4035d2
4035ae:	8b 83 28 a2 00 00    	mov    0xa228(%ebx),%eax
4035b4:	3b 83 20 a2 00 00    	cmp    0xa220(%ebx),%eax
4035ba:	76 16                	jbe    0x4035d2
4035bc:	83 7d 28 00          	cmpl   $0x0,0x28(%ebp)
4035c0:	8b 75 3c             	mov    0x3c(%ebp),%esi
4035c3:	74 09                	je     0x4035ce
4035c5:	ff 75 28             	push   0x28(%ebp)
4035c8:	e8 15 69 01 00       	call   0x419ee2
4035cd:	59                   	pop    %ecx
4035ce:	8b c6                	mov    %esi,%eax
4035d0:	eb 18                	jmp    0x4035ea
4035d2:	8b cb                	mov    %ebx,%ecx
4035d4:	e8 5e e6 ff ff       	call   0x401c37
4035d9:	83 7d 28 00          	cmpl   $0x0,0x28(%ebp)
4035dd:	74 09                	je     0x4035e8
4035df:	ff 75 28             	push   0x28(%ebp)
4035e2:	e8 fb 68 01 00       	call   0x419ee2
4035e7:	59                   	pop    %ecx
4035e8:	33 c0                	xor    %eax,%eax
4035ea:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4035ed:	5f                   	pop    %edi
4035ee:	5e                   	pop    %esi
4035ef:	5b                   	pop    %ebx
4035f0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4035f7:	83 c5 54             	add    $0x54,%ebp
4035fa:	c9                   	leave
4035fb:	c3                   	ret
4035fc:	51                   	push   %ecx
4035fd:	56                   	push   %esi
4035fe:	8b f1                	mov    %ecx,%esi
403600:	80 be 45 a2 00 00 00 	cmpb   $0x0,0xa245(%esi)
403607:	75 5d                	jne    0x403666
403609:	8b 06                	mov    (%esi),%eax
40360b:	ff 50 10             	call   *0x10(%eax)
40360e:	89 86 20 a2 00 00    	mov    %eax,0xa220(%esi)
403614:	8b 86 30 a2 00 00    	mov    0xa230(%esi),%eax
40361a:	48                   	dec    %eax
40361b:	48                   	dec    %eax
40361c:	89 96 24 a2 00 00    	mov    %edx,0xa224(%esi)
403622:	74 0c                	je     0x403630
403624:	48                   	dec    %eax
403625:	75 12                	jne    0x403639
403627:	8b ce                	mov    %esi,%ecx
403629:	e8 5b f8 ff ff       	call   0x402e89
40362e:	eb 0d                	jmp    0x40363d
403630:	8b ce                	mov    %esi,%ecx
403632:	e8 41 e6 ff ff       	call   0x401c78
403637:	eb 04                	jmp    0x40363d
403639:	8b 44 24 04          	mov    0x4(%esp),%eax
40363d:	85 c0                	test   %eax,%eax
40363f:	76 27                	jbe    0x403668
403641:	8b 8e 2c a2 00 00    	mov    0xa22c(%esi),%ecx
403647:	3b 8e 24 a2 00 00    	cmp    0xa224(%esi),%ecx
40364d:	7f 19                	jg     0x403668
40364f:	7c 0e                	jl     0x40365f
403651:	8b 8e 28 a2 00 00    	mov    0xa228(%esi),%ecx
403657:	3b 8e 20 a2 00 00    	cmp    0xa220(%esi),%ecx
40365d:	77 09                	ja     0x403668
40365f:	8b ce                	mov    %esi,%ecx
403661:	e8 d1 e5 ff ff       	call   0x401c37
403666:	33 c0                	xor    %eax,%eax
403668:	5e                   	pop    %esi
403669:	59                   	pop    %ecx
40366a:	c3                   	ret
40366b:	53                   	push   %ebx
40366c:	55                   	push   %ebp
40366d:	56                   	push   %esi
40366e:	57                   	push   %edi
40366f:	8b f1                	mov    %ecx,%esi
403671:	33 db                	xor    %ebx,%ebx
403673:	e8 84 ff ff ff       	call   0x4035fc
403678:	8b f8                	mov    %eax,%edi
40367a:	85 ff                	test   %edi,%edi
40367c:	74 39                	je     0x4036b7
40367e:	8b 6c 24 14          	mov    0x14(%esp),%ebp
403682:	83 fd 05             	cmp    $0x5,%ebp
403685:	74 09                	je     0x403690
403687:	83 be 24 57 00 00 05 	cmpl   $0x5,0x5724(%esi)
40368e:	74 27                	je     0x4036b7
403690:	43                   	inc    %ebx
403691:	f6 c3 7f             	test   $0x7f,%bl
403694:	75 05                	jne    0x40369b
403696:	e8 d9 d4 00 00       	call   0x410b74
40369b:	39 ae 24 57 00 00    	cmp    %ebp,0x5724(%esi)
4036a1:	74 1d                	je     0x4036c0
4036a3:	8b ce                	mov    %esi,%ecx
4036a5:	e8 16 da ff ff       	call   0x4010c0
4036aa:	8b ce                	mov    %esi,%ecx
4036ac:	e8 4b ff ff ff       	call   0x4035fc
4036b1:	8b f8                	mov    %eax,%edi
4036b3:	85 ff                	test   %edi,%edi
4036b5:	75 cb                	jne    0x403682
4036b7:	33 c0                	xor    %eax,%eax
4036b9:	5f                   	pop    %edi
4036ba:	5e                   	pop    %esi
4036bb:	5d                   	pop    %ebp
4036bc:	5b                   	pop    %ebx
4036bd:	c2 04 00             	ret    $0x4
4036c0:	8b c7                	mov    %edi,%eax
4036c2:	eb f5                	jmp    0x4036b9
4036c4:	56                   	push   %esi
4036c5:	57                   	push   %edi
4036c6:	8b f1                	mov    %ecx,%esi
4036c8:	eb 2c                	jmp    0x4036f6
4036ca:	8b 86 24 57 00 00    	mov    0x5724(%esi),%eax
4036d0:	83 f8 05             	cmp    $0x5,%eax
4036d3:	74 2c                	je     0x403701
4036d5:	83 f8 03             	cmp    $0x3,%eax
4036d8:	75 13                	jne    0x4036ed
4036da:	ff 74 24 0c          	push   0xc(%esp)
4036de:	8d 8e 08 7b 00 00    	lea    0x7b08(%esi),%ecx
4036e4:	e8 69 e4 ff ff       	call   0x401b52
4036e9:	84 c0                	test   %al,%al
4036eb:	75 1b                	jne    0x403708
4036ed:	8b ce                	mov    %esi,%ecx
4036ef:	e8 cc d9 ff ff       	call   0x4010c0
4036f4:	8b ce                	mov    %esi,%ecx
4036f6:	e8 01 ff ff ff       	call   0x4035fc
4036fb:	8b f8                	mov    %eax,%edi
4036fd:	85 ff                	test   %edi,%edi
4036ff:	75 c9                	jne    0x4036ca
403701:	33 c0                	xor    %eax,%eax
403703:	5f                   	pop    %edi
403704:	5e                   	pop    %esi
403705:	c2 04 00             	ret    $0x4
403708:	8b c7                	mov    %edi,%eax
40370a:	eb f7                	jmp    0x403703
40370c:	55                   	push   %ebp
40370d:	8b ec                	mov    %esp,%ebp
40370f:	83 e4 f0             	and    $0xfffffff0,%esp
403712:	8b 45 0c             	mov    0xc(%ebp),%eax
403715:	8b 55 08             	mov    0x8(%ebp),%edx
403718:	81 ec 84 00 00 00    	sub    $0x84,%esp
40371e:	f6 05 a0 05 43 00 01 	testb  $0x1,0x4305a0
403725:	53                   	push   %ebx
403726:	56                   	push   %esi
403727:	57                   	push   %edi
403728:	75 41                	jne    0x40376b
40372a:	83 0d a0 05 43 00 01 	orl    $0x1,0x4305a0
403731:	b9 67 e6 09 6a       	mov    $0x6a09e667,%ecx
403736:	be 85 ae 67 bb       	mov    $0xbb67ae85,%esi
40373b:	bf 72 f3 6e 3c       	mov    $0x3c6ef372,%edi
403740:	bb 3a f5 4f a5       	mov    $0xa54ff53a,%ebx
403745:	66 0f 6e c3          	movd   %ebx,%xmm0
403749:	66 0f 6e cf          	movd   %edi,%xmm1
40374d:	66 0f 6e de          	movd   %esi,%xmm3
403751:	66 0f 6e d1          	movd   %ecx,%xmm2
403755:	66 0f 62 d8          	punpckldq %xmm0,%xmm3
403759:	66 0f 62 d1          	punpckldq %xmm1,%xmm2
40375d:	66 0f 62 d3          	punpckldq %xmm3,%xmm2
403761:	66 0f 7f 15 90 05 43 	movdqa %xmm2,0x430590
403768:	00
403769:	eb 08                	jmp    0x403773
40376b:	66 0f 6f 15 90 05 43 	movdqa 0x430590,%xmm2
403772:	00
403773:	f6 05 a0 05 43 00 02 	testb  $0x2,0x4305a0
40377a:	75 41                	jne    0x4037bd
40377c:	83 0d a0 05 43 00 02 	orl    $0x2,0x4305a0
403783:	b9 7f 52 0e 51       	mov    $0x510e527f,%ecx
403788:	be 8c 68 05 9b       	mov    $0x9b05688c,%esi
40378d:	bf ab d9 83 1f       	mov    $0x1f83d9ab,%edi
403792:	bb 19 cd e0 5b       	mov    $0x5be0cd19,%ebx
403797:	66 0f 6e c3          	movd   %ebx,%xmm0
40379b:	66 0f 6e df          	movd   %edi,%xmm3
40379f:	66 0f 6e e6          	movd   %esi,%xmm4
4037a3:	66 0f 6e c9          	movd   %ecx,%xmm1
4037a7:	66 0f 62 e0          	punpckldq %xmm0,%xmm4
4037ab:	66 0f 62 cb          	punpckldq %xmm3,%xmm1
4037af:	66 0f 62 cc          	punpckldq %xmm4,%xmm1
4037b3:	66 0f 7f 0d 80 05 43 	movdqa %xmm1,0x430580
4037ba:	00
4037bb:	eb 08                	jmp    0x4037c5
4037bd:	66 0f 6f 0d 80 05 43 	movdqa 0x430580,%xmm1
4037c4:	00
4037c5:	8b 8a f4 00 00 00    	mov    0xf4(%edx),%ecx
4037cb:	66 0f 6f 01          	movdqa (%ecx),%xmm0
4037cf:	66 0f 6f 61 10       	movdqa 0x10(%ecx),%xmm4
4037d4:	8b 8a f8 00 00 00    	mov    0xf8(%edx),%ecx
4037da:	66 0f 6f 19          	movdqa (%ecx),%xmm3
4037de:	8b 48 18             	mov    0x18(%eax),%ecx
4037e1:	8b 50 10             	mov    0x10(%eax),%edx
4037e4:	8b 70 08             	mov    0x8(%eax),%esi
4037e7:	8b 38                	mov    (%eax),%edi
4037e9:	8b 58 1c             	mov    0x1c(%eax),%ebx
4037ec:	66 0f ef cb          	pxor   %xmm3,%xmm1
4037f0:	66 0f 6e ea          	movd   %edx,%xmm5
4037f4:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4037f8:	8b 58 14             	mov    0x14(%eax),%ebx
4037fb:	66 0f 6e d9          	movd   %ecx,%xmm3
4037ff:	66 0f 6e f6          	movd   %esi,%xmm6
403803:	66 0f 6e ff          	movd   %edi,%xmm7
403807:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
40380b:	8b 58 0c             	mov    0xc(%eax),%ebx
40380e:	66 0f 7f 44 24 40    	movdqa %xmm0,0x40(%esp)
403814:	89 5c 24 24          	mov    %ebx,0x24(%esp)
403818:	8b 58 04             	mov    0x4(%eax),%ebx
40381b:	66 0f 62 f3          	punpckldq %xmm3,%xmm6
40381f:	66 0f 62 fd          	punpckldq %xmm5,%xmm7
403823:	66 0f 62 fe          	punpckldq %xmm6,%xmm7
403827:	66 0f fe c7          	paddd  %xmm7,%xmm0
40382b:	66 0f fe c4          	paddd  %xmm4,%xmm0
40382f:	66 0f ef c8          	pxor   %xmm0,%xmm1
403833:	66 0f 6f d9          	movdqa %xmm1,%xmm3
403837:	66 0f 72 f3 10       	pslld  $0x10,%xmm3
40383c:	66 0f 72 d1 10       	psrld  $0x10,%xmm1
403841:	66 0f ef cb          	pxor   %xmm3,%xmm1
403845:	66 0f fe d1          	paddd  %xmm1,%xmm2
403849:	66 0f 7f 54 24 70    	movdqa %xmm2,0x70(%esp)
40384f:	89 5c 24 10          	mov    %ebx,0x10(%esp)
403853:	8b 5c 24 14          	mov    0x14(%esp),%ebx
403857:	66 0f 6f dc          	movdqa %xmm4,%xmm3
40385b:	66 0f ef da          	pxor   %xmm2,%xmm3
40385f:	66 0f 6f d3          	movdqa %xmm3,%xmm2
403863:	66 0f 72 f3 14       	pslld  $0x14,%xmm3
403868:	66 0f 72 d2 0c       	psrld  $0xc,%xmm2
40386d:	66 0f ef d3          	pxor   %xmm3,%xmm2
403871:	66 0f 6e db          	movd   %ebx,%xmm3
403875:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
403879:	66 0f 6e eb          	movd   %ebx,%xmm5
40387d:	8b 5c 24 24          	mov    0x24(%esp),%ebx
403881:	66 0f 6e f3          	movd   %ebx,%xmm6
403885:	8b 5c 24 10          	mov    0x10(%esp),%ebx
403889:	66 0f 6e fb          	movd   %ebx,%xmm7
40388d:	8b 58 38             	mov    0x38(%eax),%ebx
403890:	89 5c 24 30          	mov    %ebx,0x30(%esp)
403894:	8b 58 30             	mov    0x30(%eax),%ebx
403897:	66 0f 62 f3          	punpckldq %xmm3,%xmm6
40389b:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
40389f:	8b 58 28             	mov    0x28(%eax),%ebx
4038a2:	66 0f 62 fd          	punpckldq %xmm5,%xmm7
4038a6:	66 0f 62 fe          	punpckldq %xmm6,%xmm7
4038aa:	66 0f fe c7          	paddd  %xmm7,%xmm0
4038ae:	66 0f fe c2          	paddd  %xmm2,%xmm0
4038b2:	66 0f ef c8          	pxor   %xmm0,%xmm1
4038b6:	66 0f 6f d9          	movdqa %xmm1,%xmm3
4038ba:	66 0f 72 f1 18       	pslld  $0x18,%xmm1
4038bf:	66 0f 72 d3 08       	psrld  $0x8,%xmm3
4038c4:	66 0f ef d9          	pxor   %xmm1,%xmm3
4038c8:	66 0f 6f 4c 24 70    	movdqa 0x70(%esp),%xmm1
4038ce:	66 0f fe cb          	paddd  %xmm3,%xmm1
4038d2:	66 0f 6f e9          	movdqa %xmm1,%xmm5
4038d6:	66 0f ef d5          	pxor   %xmm5,%xmm2
4038da:	66 0f 6f ca          	movdqa %xmm2,%xmm1
4038de:	89 5c 24 38          	mov    %ebx,0x38(%esp)
4038e2:	8b 58 20             	mov    0x20(%eax),%ebx
4038e5:	66 0f 72 d1 07       	psrld  $0x7,%xmm1
4038ea:	66 0f 72 f2 19       	pslld  $0x19,%xmm2
4038ef:	66 0f ef ca          	pxor   %xmm2,%xmm1
4038f3:	66 0f 70 d3 93       	pshufd $0x93,%xmm3,%xmm2
4038f8:	66 0f 70 dd 4e       	pshufd $0x4e,%xmm5,%xmm3
4038fd:	89 5c 24 18          	mov    %ebx,0x18(%esp)
403901:	8b 5c 24 30          	mov    0x30(%esp),%ebx
403905:	66 0f 7f 5c 24 70    	movdqa %xmm3,0x70(%esp)
40390b:	66 0f 70 c9 39       	pshufd $0x39,%xmm1,%xmm1
403910:	66 0f 6e db          	movd   %ebx,%xmm3
403914:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
403918:	66 0f 6e eb          	movd   %ebx,%xmm5
40391c:	8b 5c 24 38          	mov    0x38(%esp),%ebx
403920:	66 0f 6e f3          	movd   %ebx,%xmm6
403924:	8b 5c 24 18          	mov    0x18(%esp),%ebx
403928:	66 0f 6e fb          	movd   %ebx,%xmm7
40392c:	8b 58 3c             	mov    0x3c(%eax),%ebx
40392f:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
403933:	8b 58 34             	mov    0x34(%eax),%ebx
403936:	66 0f 62 f3          	punpckldq %xmm3,%xmm6
40393a:	89 5c 24 20          	mov    %ebx,0x20(%esp)
40393e:	8b 58 2c             	mov    0x2c(%eax),%ebx
403941:	8b 40 24             	mov    0x24(%eax),%eax
403944:	66 0f 62 fd          	punpckldq %xmm5,%xmm7
403948:	66 0f 6e 6c 24 20    	movd   0x20(%esp),%xmm5
40394e:	66 0f 62 fe          	punpckldq %xmm6,%xmm7
403952:	66 0f fe c7          	paddd  %xmm7,%xmm0
403956:	66 0f fe c1          	paddd  %xmm1,%xmm0
40395a:	66 0f 6f d8          	movdqa %xmm0,%xmm3
40395e:	66 0f ef d3          	pxor   %xmm3,%xmm2
403962:	66 0f 6f c2          	movdqa %xmm2,%xmm0