4133a5:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4133a8:	88 5d fe             	mov    %bl,-0x2(%ebp)
4133ab:	c7 45 d0 0c 00 00 00 	movl   $0xc,-0x30(%ebp)
4133b2:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
4133b5:	74 09                	je     0x4133c0
4133b7:	89 5d d8             	mov    %ebx,-0x28(%ebp)
4133ba:	c6 45 ff 10          	movb   $0x10,-0x1(%ebp)
4133be:	eb 0a                	jmp    0x4133ca
4133c0:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
4133c7:	88 5d ff             	mov    %bl,-0x1(%ebp)
4133ca:	8d 45 e0             	lea    -0x20(%ebp),%eax
4133cd:	50                   	push   %eax
4133ce:	e8 bb 32 00 00       	call   0x41668e
4133d3:	59                   	pop    %ecx
4133d4:	85 c0                	test   %eax,%eax
4133d6:	74 0d                	je     0x4133e5
4133d8:	53                   	push   %ebx
4133d9:	53                   	push   %ebx
4133da:	53                   	push   %ebx
4133db:	53                   	push   %ebx
4133dc:	53                   	push   %ebx
4133dd:	e8 1b 1d ff ff       	call   0x4050fd
4133e2:	83 c4 14             	add    $0x14,%esp
4133e5:	8b 4d 10             	mov    0x10(%ebp),%ecx
4133e8:	b8 00 80 00 00       	mov    $0x8000,%eax
4133ed:	85 c8                	test   %ecx,%eax
4133ef:	75 11                	jne    0x413402
4133f1:	f7 c1 00 40 07 00    	test   $0x74000,%ecx
4133f7:	75 05                	jne    0x4133fe
4133f9:	39 45 e0             	cmp    %eax,-0x20(%ebp)
4133fc:	74 04                	je     0x413402
4133fe:	80 4d ff 80          	orb    $0x80,-0x1(%ebp)
413402:	8b c1                	mov    %ecx,%eax
413404:	83 e0 03             	and    $0x3,%eax
413407:	2b c3                	sub    %ebx,%eax
413409:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
41340e:	bf 00 00 00 80       	mov    $0x80000000,%edi
413413:	74 47                	je     0x41345c
413415:	48                   	dec    %eax
413416:	74 2e                	je     0x413446
413418:	48                   	dec    %eax
413419:	74 26                	je     0x413441
41341b:	e8 c8 26 ff ff       	call   0x405ae8
413420:	89 18                	mov    %ebx,(%eax)
413422:	83 0e ff             	orl    $0xffffffff,(%esi)
413425:	e8 ab 26 ff ff       	call   0x405ad5
41342a:	6a 16                	push   $0x16
41342c:	5e                   	pop    %esi
41342d:	53                   	push   %ebx
41342e:	53                   	push   %ebx
41342f:	53                   	push   %ebx
413430:	53                   	push   %ebx
413431:	53                   	push   %ebx
413432:	89 30                	mov    %esi,(%eax)
413434:	e8 ec 1d ff ff       	call   0x405225
413439:	83 c4 14             	add    $0x14,%esp
41343c:	e9 00 05 00 00       	jmp    0x413941
413441:	89 55 f8             	mov    %edx,-0x8(%ebp)
413444:	eb 19                	jmp    0x41345f
413446:	f6 c1 08             	test   $0x8,%cl
413449:	74 08                	je     0x413453
41344b:	f7 c1 00 00 07 00    	test   $0x70000,%ecx
413451:	75 ee                	jne    0x413441
413453:	c7 45 f8 00 00 00 40 	movl   $0x40000000,-0x8(%ebp)
41345a:	eb 03                	jmp    0x41345f
41345c:	89 7d f8             	mov    %edi,-0x8(%ebp)
41345f:	8b 45 14             	mov    0x14(%ebp),%eax
413462:	6a 10                	push   $0x10
413464:	59                   	pop    %ecx
413465:	2b c1                	sub    %ecx,%eax
413467:	74 37                	je     0x4134a0
413469:	2b c1                	sub    %ecx,%eax
41346b:	74 2a                	je     0x413497
41346d:	2b c1                	sub    %ecx,%eax
41346f:	74 1d                	je     0x41348e
413471:	2b c1                	sub    %ecx,%eax
413473:	74 10                	je     0x413485
413475:	83 e8 40             	sub    $0x40,%eax
413478:	75 a1                	jne    0x41341b
41347a:	39 7d f8             	cmp    %edi,-0x8(%ebp)
41347d:	0f 94 c0             	sete   %al
413480:	89 45 f0             	mov    %eax,-0x10(%ebp)
413483:	eb 1e                	jmp    0x4134a3
413485:	c7 45 f0 03 00 00 00 	movl   $0x3,-0x10(%ebp)
41348c:	eb 15                	jmp    0x4134a3
41348e:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
413495:	eb 0c                	jmp    0x4134a3
413497:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
41349e:	eb 03                	jmp    0x4134a3
4134a0:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4134a3:	8b 45 10             	mov    0x10(%ebp),%eax
4134a6:	ba 00 07 00 00       	mov    $0x700,%edx
4134ab:	23 c2                	and    %edx,%eax
4134ad:	b9 00 04 00 00       	mov    $0x400,%ecx
4134b2:	3b c1                	cmp    %ecx,%eax
4134b4:	bf 00 01 00 00       	mov    $0x100,%edi
4134b9:	7f 3b                	jg     0x4134f6
4134bb:	74 30                	je     0x4134ed
4134bd:	3b c3                	cmp    %ebx,%eax
4134bf:	74 2c                	je     0x4134ed
4134c1:	3b c7                	cmp    %edi,%eax
4134c3:	74 1f                	je     0x4134e4
4134c5:	3d 00 02 00 00       	cmp    $0x200,%eax
4134ca:	0f 84 94 00 00 00    	je     0x413564
4134d0:	3d 00 03 00 00       	cmp    $0x300,%eax
4134d5:	0f 85 40 ff ff ff    	jne    0x41341b
4134db:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
4134e2:	eb 2f                	jmp    0x413513
4134e4:	c7 45 ec 04 00 00 00 	movl   $0x4,-0x14(%ebp)
4134eb:	eb 26                	jmp    0x413513
4134ed:	c7 45 ec 03 00 00 00 	movl   $0x3,-0x14(%ebp)
4134f4:	eb 1d                	jmp    0x413513
4134f6:	3d 00 05 00 00       	cmp    $0x500,%eax
4134fb:	74 0f                	je     0x41350c
4134fd:	3d 00 06 00 00       	cmp    $0x600,%eax
413502:	74 60                	je     0x413564
413504:	3b c2                	cmp    %edx,%eax
413506:	0f 85 0f ff ff ff    	jne    0x41341b
41350c:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
413513:	8b 45 10             	mov    0x10(%ebp),%eax
413516:	c7 45 f4 80 00 00 00 	movl   $0x80,-0xc(%ebp)
41351d:	85 c7                	test   %eax,%edi
41351f:	74 16                	je     0x413537
413521:	8b 0d 8c 09 43 00    	mov    0x43098c,%ecx
413527:	f7 d1                	not    %ecx
413529:	23 4d 18             	and    0x18(%ebp),%ecx
41352c:	84 c9                	test   %cl,%cl
41352e:	78 07                	js     0x413537
413530:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
413537:	a8 40                	test   $0x40,%al
413539:	74 12                	je     0x41354d
41353b:	81 4d f4 00 00 00 04 	orl    $0x4000000,-0xc(%ebp)
413542:	81 4d f8 00 00 01 00 	orl    $0x10000,-0x8(%ebp)
413549:	83 4d f0 04          	orl    $0x4,-0x10(%ebp)
41354d:	a9 00 10 00 00       	test   $0x1000,%eax
413552:	74 03                	je     0x413557
413554:	09 7d f4             	or     %edi,-0xc(%ebp)
413557:	a8 20                	test   $0x20,%al
413559:	74 12                	je     0x41356d
41355b:	81 4d f4 00 00 00 08 	orl    $0x8000000,-0xc(%ebp)
413562:	eb 14                	jmp    0x413578
413564:	c7 45 ec 05 00 00 00 	movl   $0x5,-0x14(%ebp)
41356b:	eb a6                	jmp    0x413513
41356d:	a8 10                	test   $0x10,%al
41356f:	74 07                	je     0x413578
413571:	81 4d f4 00 00 00 10 	orl    $0x10000000,-0xc(%ebp)
413578:	e8 82 1d 00 00       	call   0x4152ff
41357d:	89 06                	mov    %eax,(%esi)
41357f:	83 f8 ff             	cmp    $0xffffffff,%eax
413582:	75 1a                	jne    0x41359e
413584:	e8 5f 25 ff ff       	call   0x405ae8
413589:	89 18                	mov    %ebx,(%eax)
41358b:	83 0e ff             	orl    $0xffffffff,(%esi)
41358e:	e8 42 25 ff ff       	call   0x405ad5
413593:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
413599:	e9 8e 00 00 00       	jmp    0x41362c
41359e:	8b 45 08             	mov    0x8(%ebp),%eax
4135a1:	8b 3d 64 a1 41 00    	mov    0x41a164,%edi
4135a7:	53                   	push   %ebx
4135a8:	ff 75 f4             	push   -0xc(%ebp)
4135ab:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4135b1:	ff 75 ec             	push   -0x14(%ebp)
4135b4:	8d 45 d0             	lea    -0x30(%ebp),%eax
4135b7:	50                   	push   %eax
4135b8:	ff 75 f0             	push   -0x10(%ebp)
4135bb:	ff 75 f8             	push   -0x8(%ebp)
4135be:	ff 75 0c             	push   0xc(%ebp)
4135c1:	ff d7                	call   *%edi
4135c3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4135c6:	83 f8 ff             	cmp    $0xffffffff,%eax
4135c9:	75 6d                	jne    0x413638
4135cb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4135ce:	b8 00 00 00 c0       	mov    $0xc0000000,%eax
4135d3:	23 c8                	and    %eax,%ecx
4135d5:	3b c8                	cmp    %eax,%ecx
4135d7:	75 2b                	jne    0x413604
4135d9:	f6 45 10 01          	testb  $0x1,0x10(%ebp)
4135dd:	74 25                	je     0x413604
4135df:	81 65 f8 ff ff ff 7f 	andl   $0x7fffffff,-0x8(%ebp)
4135e6:	53                   	push   %ebx
4135e7:	ff 75 f4             	push   -0xc(%ebp)
4135ea:	8d 45 d0             	lea    -0x30(%ebp),%eax
4135ed:	ff 75 ec             	push   -0x14(%ebp)
4135f0:	50                   	push   %eax
4135f1:	ff 75 f0             	push   -0x10(%ebp)
4135f4:	ff 75 f8             	push   -0x8(%ebp)
4135f7:	ff 75 0c             	push   0xc(%ebp)
4135fa:	ff d7                	call   *%edi
4135fc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4135ff:	83 f8 ff             	cmp    $0xffffffff,%eax
413602:	75 34                	jne    0x413638
413604:	8b 36                	mov    (%esi),%esi
413606:	8b c6                	mov    %esi,%eax
413608:	c1 f8 05             	sar    $0x5,%eax
41360b:	8b 04 85 60 12 c7 00 	mov    0xc71260(,%eax,4),%eax
413612:	83 e6 1f             	and    $0x1f,%esi
413615:	c1 e6 06             	shl    $0x6,%esi
413618:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
41361c:	80 20 fe             	andb   $0xfe,(%eax)
41361f:	ff 15 98 a0 41 00    	call   *0x41a098
413625:	50                   	push   %eax
413626:	e8 d0 24 ff ff       	call   0x405afb
41362b:	59                   	pop    %ecx
41362c:	e8 a4 24 ff ff       	call   0x405ad5
413631:	8b 00                	mov    (%eax),%eax
413633:	e9 74 04 00 00       	jmp    0x413aac
413638:	ff 75 e4             	push   -0x1c(%ebp)
41363b:	ff 15 0c a1 41 00    	call   *0x41a10c
413641:	3b c3                	cmp    %ebx,%eax
413643:	75 44                	jne    0x413689
413645:	8b 36                	mov    (%esi),%esi
413647:	8b c6                	mov    %esi,%eax
413649:	c1 f8 05             	sar    $0x5,%eax
41364c:	8b 04 85 60 12 c7 00 	mov    0xc71260(,%eax,4),%eax
413653:	83 e6 1f             	and    $0x1f,%esi
413656:	c1 e6 06             	shl    $0x6,%esi
413659:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
41365d:	80 20 fe             	andb   $0xfe,(%eax)
413660:	ff 15 98 a0 41 00    	call   *0x41a098
413666:	8b f0                	mov    %eax,%esi
413668:	56                   	push   %esi
413669:	e8 8d 24 ff ff       	call   0x405afb
41366e:	59                   	pop    %ecx
41366f:	ff 75 e4             	push   -0x1c(%ebp)
413672:	ff 15 14 a1 41 00    	call   *0x41a114
413678:	3b f3                	cmp    %ebx,%esi
41367a:	75 b0                	jne    0x41362c
41367c:	e8 54 24 ff ff       	call   0x405ad5
413681:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
413687:	eb a3                	jmp    0x41362c
413689:	83 f8 02             	cmp    $0x2,%eax
41368c:	75 06                	jne    0x413694
41368e:	80 4d ff 40          	orb    $0x40,-0x1(%ebp)
413692:	eb 09                	jmp    0x41369d
413694:	83 f8 03             	cmp    $0x3,%eax
413697:	75 04                	jne    0x41369d
413699:	80 4d ff 08          	orb    $0x8,-0x1(%ebp)
41369d:	ff 75 e4             	push   -0x1c(%ebp)
4136a0:	ff 36                	push   (%esi)
4136a2:	e8 13 1a 00 00       	call   0x4150ba
4136a7:	8b 06                	mov    (%esi),%eax
4136a9:	8b d0                	mov    %eax,%edx
4136ab:	83 e0 1f             	and    $0x1f,%eax
4136ae:	c1 fa 05             	sar    $0x5,%edx
4136b1:	8b 14 95 60 12 c7 00 	mov    0xc71260(,%edx,4),%edx
4136b8:	59                   	pop    %ecx
4136b9:	c1 e0 06             	shl    $0x6,%eax
4136bc:	59                   	pop    %ecx
4136bd:	8a 4d ff             	mov    -0x1(%ebp),%cl
4136c0:	80 c9 01             	or     $0x1,%cl
4136c3:	88 4c 02 04          	mov    %cl,0x4(%edx,%eax,1)
4136c7:	8b 06                	mov    (%esi),%eax
4136c9:	8b d0                	mov    %eax,%edx
4136cb:	83 e0 1f             	and    $0x1f,%eax
4136ce:	c1 fa 05             	sar    $0x5,%edx
4136d1:	8b 14 95 60 12 c7 00 	mov    0xc71260(,%edx,4),%edx
4136d8:	c1 e0 06             	shl    $0x6,%eax
4136db:	8d 44 02 24          	lea    0x24(%edx,%eax,1),%eax
4136df:	80 20 80             	andb   $0x80,(%eax)
4136e2:	88 4d fd             	mov    %cl,-0x3(%ebp)
4136e5:	80 65 fd 48          	andb   $0x48,-0x3(%ebp)
4136e9:	88 4d ff             	mov    %cl,-0x1(%ebp)
4136ec:	0f 85 80 00 00 00    	jne    0x413772
4136f2:	f6 c1 80             	test   $0x80,%cl
4136f5:	0f 84 b1 02 00 00    	je     0x4139ac
4136fb:	f6 45 10 02          	testb  $0x2,0x10(%ebp)
4136ff:	74 71                	je     0x413772
413701:	6a 02                	push   $0x2
413703:	83 cf ff             	or     $0xffffffff,%edi
413706:	57                   	push   %edi
413707:	ff 36                	push   (%esi)
413709:	e8 22 89 ff ff       	call   0x40c030
41370e:	83 c4 0c             	add    $0xc,%esp
413711:	89 45 e8             	mov    %eax,-0x18(%ebp)
413714:	3b c7                	cmp    %edi,%eax
413716:	75 19                	jne    0x413731
413718:	e8 cb 23 ff ff       	call   0x405ae8
41371d:	81 38 83 00 00 00    	cmpl   $0x83,(%eax)
413723:	74 4d                	je     0x413772
413725:	ff 36                	push   (%esi)
413727:	e8 8c 8b ff ff       	call   0x40c2b8
41372c:	e9 fa fe ff ff       	jmp    0x41362b
413731:	6a 01                	push   $0x1
413733:	8d 45 fc             	lea    -0x4(%ebp),%eax
413736:	50                   	push   %eax
413737:	ff 36                	push   (%esi)
413739:	88 5d fc             	mov    %bl,-0x4(%ebp)
41373c:	e8 cf 28 00 00       	call   0x416010
413741:	83 c4 0c             	add    $0xc,%esp
413744:	85 c0                	test   %eax,%eax
413746:	75 1a                	jne    0x413762
413748:	80 7d fc 1a          	cmpb   $0x1a,-0x4(%ebp)
41374c:	75 14                	jne    0x413762
41374e:	8b 45 e8             	mov    -0x18(%ebp),%eax
413751:	99                   	cltd
413752:	52                   	push   %edx
413753:	50                   	push   %eax
413754:	ff 36                	push   (%esi)
413756:	e8 ff 26 00 00       	call   0x415e5a
41375b:	83 c4 0c             	add    $0xc,%esp
41375e:	3b c7                	cmp    %edi,%eax
413760:	74 c3                	je     0x413725
413762:	53                   	push   %ebx
413763:	53                   	push   %ebx
413764:	ff 36                	push   (%esi)
413766:	e8 c5 88 ff ff       	call   0x40c030
41376b:	83 c4 0c             	add    $0xc,%esp
41376e:	3b c7                	cmp    %edi,%eax
413770:	74 b3                	je     0x413725
413772:	f6 45 ff 80          	testb  $0x80,-0x1(%ebp)
413776:	0f 84 30 02 00 00    	je     0x4139ac
41377c:	bf 00 40 07 00       	mov    $0x74000,%edi
413781:	b9 00 40 00 00       	mov    $0x4000,%ecx
413786:	85 7d 10             	test   %edi,0x10(%ebp)
413789:	75 0f                	jne    0x41379a
41378b:	8b 45 e0             	mov    -0x20(%ebp),%eax
41378e:	23 c7                	and    %edi,%eax
413790:	75 05                	jne    0x413797
413792:	09 4d 10             	or     %ecx,0x10(%ebp)
413795:	eb 03                	jmp    0x41379a
413797:	09 45 10             	or     %eax,0x10(%ebp)
41379a:	8b 45 10             	mov    0x10(%ebp),%eax
41379d:	23 c7                	and    %edi,%eax
41379f:	3b c1                	cmp    %ecx,%eax
4137a1:	74 44                	je     0x4137e7
4137a3:	3d 00 00 01 00       	cmp    $0x10000,%eax
4137a8:	74 29                	je     0x4137d3
4137aa:	3d 00 40 01 00       	cmp    $0x14000,%eax
4137af:	74 22                	je     0x4137d3
4137b1:	3d 00 00 02 00       	cmp    $0x20000,%eax
4137b6:	74 29                	je     0x4137e1
4137b8:	3d 00 40 02 00       	cmp    $0x24000,%eax
4137bd:	74 22                	je     0x4137e1
4137bf:	3d 00 00 04 00       	cmp    $0x40000,%eax
4137c4:	74 07                	je     0x4137cd
4137c6:	3d 00 40 04 00       	cmp    $0x44000,%eax
4137cb:	75 1d                	jne    0x4137ea
4137cd:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
4137d1:	eb 17                	jmp    0x4137ea
4137d3:	8b 4d 10             	mov    0x10(%ebp),%ecx
4137d6:	b8 01 03 00 00       	mov    $0x301,%eax
4137db:	23 c8                	and    %eax,%ecx
4137dd:	3b c8                	cmp    %eax,%ecx
4137df:	75 09                	jne    0x4137ea
4137e1:	c6 45 fe 02          	movb   $0x2,-0x2(%ebp)
4137e5:	eb 03                	jmp    0x4137ea
4137e7:	88 5d fe             	mov    %bl,-0x2(%ebp)
4137ea:	f7 45 10 00 00 07 00 	testl  $0x70000,0x10(%ebp)
4137f1:	0f 84 b5 01 00 00    	je     0x4139ac
4137f7:	f6 45 ff 40          	testb  $0x40,-0x1(%ebp)