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)
4137fb:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4137fe:	0f 85 a8 01 00 00    	jne    0x4139ac
413804:	8b 45 f8             	mov    -0x8(%ebp),%eax
413807:	b9 00 00 00 c0       	mov    $0xc0000000,%ecx
41380c:	23 c1                	and    %ecx,%eax
41380e:	3d 00 00 00 40       	cmp    $0x40000000,%eax
413813:	0f 84 b7 00 00 00    	je     0x4138d0
413819:	3d 00 00 00 80       	cmp    $0x80000000,%eax
41381e:	74 77                	je     0x413897
413820:	3b c1                	cmp    %ecx,%eax
413822:	0f 85 84 01 00 00    	jne    0x4139ac
413828:	8b 45 ec             	mov    -0x14(%ebp),%eax
41382b:	3b c3                	cmp    %ebx,%eax
41382d:	0f 86 79 01 00 00    	jbe    0x4139ac
413833:	83 f8 02             	cmp    $0x2,%eax
413836:	76 0e                	jbe    0x413846
413838:	83 f8 04             	cmp    $0x4,%eax
41383b:	76 30                	jbe    0x41386d
41383d:	83 f8 05             	cmp    $0x5,%eax
413840:	0f 85 66 01 00 00    	jne    0x4139ac
413846:	0f be 45 fe          	movsbl -0x2(%ebp),%eax
41384a:	33 ff                	xor    %edi,%edi
41384c:	48                   	dec    %eax
41384d:	0f 84 26 01 00 00    	je     0x413979
413853:	48                   	dec    %eax
413854:	0f 85 52 01 00 00    	jne    0x4139ac
41385a:	c7 45 e8 ff fe 00 00 	movl   $0xfeff,-0x18(%ebp)
413861:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
413868:	e9 1a 01 00 00       	jmp    0x413987
41386d:	6a 02                	push   $0x2
41386f:	53                   	push   %ebx
413870:	53                   	push   %ebx
413871:	ff 36                	push   (%esi)
413873:	e8 16 e9 ff ff       	call   0x41218e
413878:	83 c4 10             	add    $0x10,%esp
41387b:	0b c2                	or     %edx,%eax
41387d:	74 c7                	je     0x413846
41387f:	53                   	push   %ebx
413880:	53                   	push   %ebx
413881:	53                   	push   %ebx
413882:	ff 36                	push   (%esi)
413884:	e8 05 e9 ff ff       	call   0x41218e
413889:	23 c2                	and    %edx,%eax
41388b:	83 c4 10             	add    $0x10,%esp
41388e:	83 f8 ff             	cmp    $0xffffffff,%eax
413891:	0f 84 8e fe ff ff    	je     0x413725
413897:	6a 03                	push   $0x3
413899:	8d 45 e8             	lea    -0x18(%ebp),%eax
41389c:	50                   	push   %eax
41389d:	ff 36                	push   (%esi)
41389f:	e8 6c 27 00 00       	call   0x416010
4138a4:	83 c4 0c             	add    $0xc,%esp
4138a7:	83 f8 ff             	cmp    $0xffffffff,%eax
4138aa:	0f 84 75 fe ff ff    	je     0x413725
4138b0:	83 f8 02             	cmp    $0x2,%eax
4138b3:	74 6b                	je     0x413920
4138b5:	83 f8 03             	cmp    $0x3,%eax
4138b8:	0f 85 ad 00 00 00    	jne    0x41396b
4138be:	81 7d e8 ef bb bf 00 	cmpl   $0xbfbbef,-0x18(%ebp)
4138c5:	75 59                	jne    0x413920
4138c7:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
4138cb:	e9 dc 00 00 00       	jmp    0x4139ac
4138d0:	8b 45 ec             	mov    -0x14(%ebp),%eax
4138d3:	3b c3                	cmp    %ebx,%eax
4138d5:	0f 86 d1 00 00 00    	jbe    0x4139ac
4138db:	83 f8 02             	cmp    $0x2,%eax
4138de:	0f 86 62 ff ff ff    	jbe    0x413846
4138e4:	83 f8 04             	cmp    $0x4,%eax
4138e7:	0f 87 50 ff ff ff    	ja     0x41383d
4138ed:	6a 02                	push   $0x2
4138ef:	53                   	push   %ebx
4138f0:	53                   	push   %ebx
4138f1:	ff 36                	push   (%esi)
4138f3:	e8 96 e8 ff ff       	call   0x41218e
4138f8:	83 c4 10             	add    $0x10,%esp
4138fb:	0b c2                	or     %edx,%eax
4138fd:	0f 84 43 ff ff ff    	je     0x413846
413903:	53                   	push   %ebx
413904:	53                   	push   %ebx
413905:	53                   	push   %ebx
413906:	ff 36                	push   (%esi)
413908:	e8 81 e8 ff ff       	call   0x41218e
41390d:	83 c4 10             	add    $0x10,%esp
413910:	23 c2                	and    %edx,%eax
413912:	83 f8 ff             	cmp    $0xffffffff,%eax
413915:	0f 85 91 00 00 00    	jne    0x4139ac
41391b:	e9 05 fe ff ff       	jmp    0x413725
413920:	8b 45 e8             	mov    -0x18(%ebp),%eax
413923:	25 ff ff 00 00       	and    $0xffff,%eax
413928:	3d fe ff 00 00       	cmp    $0xfffe,%eax
41392d:	75 19                	jne    0x413948
41392f:	ff 36                	push   (%esi)
413931:	e8 82 89 ff ff       	call   0x40c2b8
413936:	59                   	pop    %ecx
413937:	e8 99 21 ff ff       	call   0x405ad5
41393c:	6a 16                	push   $0x16
41393e:	5e                   	pop    %esi
41393f:	89 30                	mov    %esi,(%eax)
413941:	8b c6                	mov    %esi,%eax
413943:	e9 64 01 00 00       	jmp    0x413aac
413948:	3d ff fe 00 00       	cmp    $0xfeff,%eax
41394d:	75 1c                	jne    0x41396b
41394f:	53                   	push   %ebx
413950:	6a 02                	push   $0x2
413952:	ff 36                	push   (%esi)
413954:	e8 d7 86 ff ff       	call   0x40c030
413959:	83 c4 0c             	add    $0xc,%esp
41395c:	83 f8 ff             	cmp    $0xffffffff,%eax
41395f:	0f 84 c0 fd ff ff    	je     0x413725
413965:	c6 45 fe 02          	movb   $0x2,-0x2(%ebp)
413969:	eb 41                	jmp    0x4139ac
41396b:	53                   	push   %ebx
41396c:	53                   	push   %ebx
41396d:	ff 36                	push   (%esi)
41396f:	e8 bc 86 ff ff       	call   0x40c030
413974:	83 c4 0c             	add    $0xc,%esp
413977:	eb 99                	jmp    0x413912
413979:	c7 45 e8 ef bb bf 00 	movl   $0xbfbbef,-0x18(%ebp)
413980:	c7 45 ec 03 00 00 00 	movl   $0x3,-0x14(%ebp)
413987:	8b 45 ec             	mov    -0x14(%ebp),%eax
41398a:	2b c7                	sub    %edi,%eax
41398c:	50                   	push   %eax
41398d:	8d 44 3d e8          	lea    -0x18(%ebp,%edi,1),%eax
413991:	50                   	push   %eax
413992:	ff 36                	push   (%esi)
413994:	e8 c6 f0 ff ff       	call   0x412a5f
413999:	83 c4 0c             	add    $0xc,%esp
41399c:	83 f8 ff             	cmp    $0xffffffff,%eax
41399f:	0f 84 80 fd ff ff    	je     0x413725
4139a5:	03 f8                	add    %eax,%edi
4139a7:	39 7d ec             	cmp    %edi,-0x14(%ebp)
4139aa:	7f db                	jg     0x413987
4139ac:	8b 06                	mov    (%esi),%eax
4139ae:	8b c8                	mov    %eax,%ecx
4139b0:	c1 f9 05             	sar    $0x5,%ecx
4139b3:	8b 0c 8d 60 12 c7 00 	mov    0xc71260(,%ecx,4),%ecx
4139ba:	83 e0 1f             	and    $0x1f,%eax
4139bd:	c1 e0 06             	shl    $0x6,%eax
4139c0:	8d 44 01 24          	lea    0x24(%ecx,%eax,1),%eax
4139c4:	8a 08                	mov    (%eax),%cl
4139c6:	32 4d fe             	xor    -0x2(%ebp),%cl
4139c9:	80 e1 7f             	and    $0x7f,%cl
4139cc:	30 08                	xor    %cl,(%eax)
4139ce:	8b 06                	mov    (%esi),%eax
4139d0:	8b c8                	mov    %eax,%ecx
4139d2:	c1 f9 05             	sar    $0x5,%ecx
4139d5:	8b 0c 8d 60 12 c7 00 	mov    0xc71260(,%ecx,4),%ecx
4139dc:	83 e0 1f             	and    $0x1f,%eax
4139df:	c1 e0 06             	shl    $0x6,%eax
4139e2:	8d 44 01 24          	lea    0x24(%ecx,%eax,1),%eax
4139e6:	8b 4d 10             	mov    0x10(%ebp),%ecx
4139e9:	8a 10                	mov    (%eax),%dl
4139eb:	c1 e9 10             	shr    $0x10,%ecx
4139ee:	c0 e1 07             	shl    $0x7,%cl
4139f1:	80 e2 7f             	and    $0x7f,%dl
4139f4:	0a ca                	or     %dl,%cl
4139f6:	88 08                	mov    %cl,(%eax)
4139f8:	38 5d fd             	cmp    %bl,-0x3(%ebp)
4139fb:	75 21                	jne    0x413a1e
4139fd:	f6 45 10 08          	testb  $0x8,0x10(%ebp)
413a01:	74 1b                	je     0x413a1e
413a03:	8b 06                	mov    (%esi),%eax
413a05:	8b c8                	mov    %eax,%ecx
413a07:	83 e0 1f             	and    $0x1f,%eax
413a0a:	c1 f9 05             	sar    $0x5,%ecx
413a0d:	8b 0c 8d 60 12 c7 00 	mov    0xc71260(,%ecx,4),%ecx
413a14:	c1 e0 06             	shl    $0x6,%eax
413a17:	8d 44 01 04          	lea    0x4(%ecx,%eax,1),%eax
413a1b:	80 08 20             	orb    $0x20,(%eax)
413a1e:	8b 7d f8             	mov    -0x8(%ebp),%edi
413a21:	b8 00 00 00 c0       	mov    $0xc0000000,%eax
413a26:	8b cf                	mov    %edi,%ecx
413a28:	23 c8                	and    %eax,%ecx
413a2a:	3b c8                	cmp    %eax,%ecx
413a2c:	75 7c                	jne    0x413aaa