5e46f1:	56                   	push   %esi
5e46f2:	57                   	push   %edi
5e46f3:	85 d2                	test   %edx,%edx
5e46f5:	0f 84 ed 01 00 00    	je     0x5e48e8
5e46fb:	85 c0                	test   %eax,%eax
5e46fd:	75 2a                	jne    0x5e4729
5e46ff:	33 c0                	xor    %eax,%eax
5e4701:	c6 43 24 01          	movb   $0x1,0x24(%ebx)
5e4705:	53                   	push   %ebx
5e4706:	50                   	push   %eax
5e4707:	50                   	push   %eax
5e4708:	50                   	push   %eax
5e4709:	89 43 20             	mov    %eax,0x20(%ebx)
5e470c:	50                   	push   %eax
5e470d:	c6 43 1c 01          	movb   $0x1,0x1c(%ebx)
5e4711:	50                   	push   %eax
5e4712:	c7 43 18 16 00 00 00 	movl   $0x16,0x18(%ebx)
5e4719:	e8 45 1a ff ff       	call   0x5d6163
5e471e:	83 c4 18             	add    $0x18,%esp
5e4721:	83 c8 ff             	or     $0xffffffff,%eax
5e4724:	e9 c1 01 00 00       	jmp    0x5e48ea
5e4729:	8b c1                	mov    %ecx,%eax
5e472b:	8b f1                	mov    %ecx,%esi
5e472d:	83 e0 3f             	and    $0x3f,%eax
5e4730:	c1 fe 06             	sar    $0x6,%esi
5e4733:	6b f8 38             	imul   $0x38,%eax,%edi
5e4736:	89 75 ec             	mov    %esi,-0x14(%ebp)
5e4739:	8b 04 b5 a8 70 71 00 	mov    0x7170a8(,%esi,4),%eax
5e4740:	89 7d e8             	mov    %edi,-0x18(%ebp)
5e4743:	8a 44 07 29          	mov    0x29(%edi,%eax,1),%al
5e4747:	88 45 ff             	mov    %al,-0x1(%ebp)
5e474a:	3c 02                	cmp    $0x2,%al
5e474c:	74 04                	je     0x5e4752
5e474e:	3c 01                	cmp    $0x1,%al
5e4750:	75 08                	jne    0x5e475a
5e4752:	8b c2                	mov    %edx,%eax
5e4754:	f7 d0                	not    %eax
5e4756:	a8 01                	test   $0x1,%al
5e4758:	74 a5                	je     0x5e46ff
5e475a:	8b 55 ec             	mov    -0x14(%ebp),%edx
5e475d:	33 f6                	xor    %esi,%esi
5e475f:	8b 04 95 a8 70 71 00 	mov    0x7170a8(,%edx,4),%eax
5e4766:	f6 44 07 28 20       	testb  $0x20,0x28(%edi,%eax,1)
5e476b:	74 11                	je     0x5e477e
5e476d:	53                   	push   %ebx
5e476e:	6a 02                	push   $0x2
5e4770:	56                   	push   %esi
5e4771:	56                   	push   %esi
5e4772:	51                   	push   %ecx
5e4773:	e8 88 ac 00 00       	call   0x5ef400
5e4778:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5e477b:	83 c4 14             	add    $0x14,%esp
5e477e:	53                   	push   %ebx
5e477f:	8b fe                	mov    %esi,%edi
5e4781:	51                   	push   %ecx
5e4782:	89 7d dc             	mov    %edi,-0x24(%ebp)
5e4785:	e8 8e fa ff ff       	call   0x5e4218
5e478a:	59                   	pop    %ecx
5e478b:	59                   	pop    %ecx
5e478c:	84 c0                	test   %al,%al
5e478e:	74 47                	je     0x5e47d7
5e4790:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
5e4794:	2b c6                	sub    %esi,%eax
5e4796:	74 27                	je     0x5e47bf
5e4798:	83 e8 01             	sub    $0x1,%eax
5e479b:	74 09                	je     0x5e47a6
5e479d:	83 e8 01             	sub    $0x1,%eax
5e47a0:	0f 85 da 00 00 00    	jne    0x5e4880
5e47a6:	ff 75 f4             	push   -0xc(%ebp)
5e47a9:	8d 45 d0             	lea    -0x30(%ebp),%eax
5e47ac:	ff 75 f8             	push   -0x8(%ebp)
5e47af:	50                   	push   %eax
5e47b0:	e8 fb f9 ff ff       	call   0x5e41b0
5e47b5:	83 c4 0c             	add    $0xc,%esp
5e47b8:	8b f0                	mov    %eax,%esi
5e47ba:	e9 af 00 00 00       	jmp    0x5e486e
5e47bf:	53                   	push   %ebx
5e47c0:	ff 75 f4             	push   -0xc(%ebp)
5e47c3:	8d 45 d0             	lea    -0x30(%ebp),%eax
5e47c6:	ff 75 f8             	push   -0x8(%ebp)
5e47c9:	ff 75 f0             	push   -0x10(%ebp)
5e47cc:	50                   	push   %eax
5e47cd:	e8 17 f6 ff ff       	call   0x5e3de9
5e47d2:	83 c4 14             	add    $0x14,%esp
5e47d5:	eb e1                	jmp    0x5e47b8
5e47d7:	8b 55 ec             	mov    -0x14(%ebp),%edx
5e47da:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5e47dd:	8b 04 95 a8 70 71 00 	mov    0x7170a8(,%edx,4),%eax
5e47e4:	80 7c 08 28 00       	cmpb   $0x0,0x28(%eax,%ecx,1)
5e47e9:	7d 55                	jge    0x5e4840
5e47eb:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
5e47ef:	2b c6                	sub    %esi,%eax
5e47f1:	74 39                	je     0x5e482c
5e47f3:	83 e8 01             	sub    $0x1,%eax
5e47f6:	74 20                	je     0x5e4818
5e47f8:	83 e8 01             	sub    $0x1,%eax
5e47fb:	0f 85 85 00 00 00    	jne    0x5e4886
5e4801:	ff 75 f4             	push   -0xc(%ebp)
5e4804:	8d 45 d0             	lea    -0x30(%ebp),%eax
5e4807:	ff 75 f8             	push   -0x8(%ebp)
5e480a:	ff 75 f0             	push   -0x10(%ebp)
5e480d:	50                   	push   %eax
5e480e:	e8 5d fb ff ff       	call   0x5e4370
5e4813:	83 c4 10             	add    $0x10,%esp
5e4816:	eb a0                	jmp    0x5e47b8
5e4818:	ff 75 f4             	push   -0xc(%ebp)
5e481b:	8d 45 d0             	lea    -0x30(%ebp),%eax
5e481e:	ff 75 f8             	push   -0x8(%ebp)
5e4821:	ff 75 f0             	push   -0x10(%ebp)
5e4824:	50                   	push   %eax
5e4825:	e8 2f fc ff ff       	call   0x5e4459
5e482a:	eb e7                	jmp    0x5e4813
5e482c:	ff 75 f4             	push   -0xc(%ebp)
5e482f:	8d 45 d0             	lea    -0x30(%ebp),%eax
5e4832:	ff 75 f8             	push   -0x8(%ebp)
5e4835:	ff 75 f0             	push   -0x10(%ebp)
5e4838:	50                   	push   %eax
5e4839:	e8 57 fa ff ff       	call   0x5e4295
5e483e:	eb d3                	jmp    0x5e4813
5e4840:	8b 4c 08 18          	mov    0x18(%eax,%ecx,1),%ecx
5e4844:	8d 7d d0             	lea    -0x30(%ebp),%edi
5e4847:	33 c0                	xor    %eax,%eax
5e4849:	ab                   	stos   %eax,%es:(%edi)
5e484a:	56                   	push   %esi
5e484b:	ab                   	stos   %eax,%es:(%edi)
5e484c:	ab                   	stos   %eax,%es:(%edi)
5e484d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5e4850:	50                   	push   %eax
5e4851:	ff 75 f4             	push   -0xc(%ebp)
5e4854:	ff 75 f8             	push   -0x8(%ebp)
5e4857:	51                   	push   %ecx
5e4858:	ff 15 0c 21 60 00    	call   *0x60210c
5e485e:	85 c0                	test   %eax,%eax
5e4860:	75 09                	jne    0x5e486b
5e4862:	ff 15 58 21 60 00    	call   *0x602158
5e4868:	89 45 d0             	mov    %eax,-0x30(%ebp)
5e486b:	8d 75 d0             	lea    -0x30(%ebp),%esi
5e486e:	8d 7d dc             	lea    -0x24(%ebp),%edi
5e4871:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5e4872:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5e4873:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5e4874:	8b 45 e0             	mov    -0x20(%ebp),%eax
5e4877:	85 c0                	test   %eax,%eax
5e4879:	75 68                	jne    0x5e48e3
5e487b:	8b 7d dc             	mov    -0x24(%ebp),%edi
5e487e:	33 f6                	xor    %esi,%esi
5e4880:	8b 55 ec             	mov    -0x14(%ebp),%edx
5e4883:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5e4886:	85 ff                	test   %edi,%edi
5e4888:	74 2c                	je     0x5e48b6
5e488a:	6a 05                	push   $0x5
5e488c:	58                   	pop    %eax
5e488d:	3b f8                	cmp    %eax,%edi
5e488f:	75 17                	jne    0x5e48a8
5e4891:	c6 43 1c 01          	movb   $0x1,0x1c(%ebx)
5e4895:	c7 43 18 09 00 00 00 	movl   $0x9,0x18(%ebx)
5e489c:	c6 43 24 01          	movb   $0x1,0x24(%ebx)
5e48a0:	89 43 20             	mov    %eax,0x20(%ebx)
5e48a3:	e9 79 fe ff ff       	jmp    0x5e4721
5e48a8:	53                   	push   %ebx
5e48a9:	57                   	push   %edi
5e48aa:	e8 a2 63 ff ff       	call   0x5dac51
5e48af:	59                   	pop    %ecx
5e48b0:	59                   	pop    %ecx
5e48b1:	e9 6b fe ff ff       	jmp    0x5e4721
5e48b6:	8b 04 95 a8 70 71 00 	mov    0x7170a8(,%edx,4),%eax
5e48bd:	f6 44 08 28 40       	testb  $0x40,0x28(%eax,%ecx,1)
5e48c2:	74 08                	je     0x5e48cc
5e48c4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5e48c7:	80 38 1a             	cmpb   $0x1a,(%eax)
5e48ca:	74 1c                	je     0x5e48e8
5e48cc:	c6 43 1c 01          	movb   $0x1,0x1c(%ebx)
5e48d0:	c7 43 18 1c 00 00 00 	movl   $0x1c,0x18(%ebx)
5e48d7:	c6 43 24 01          	movb   $0x1,0x24(%ebx)
5e48db:	89 73 20             	mov    %esi,0x20(%ebx)
5e48de:	e9 3e fe ff ff       	jmp    0x5e4721
5e48e3:	2b 45 e4             	sub    -0x1c(%ebp),%eax
5e48e6:	eb 02                	jmp    0x5e48ea
5e48e8:	33 c0                	xor    %eax,%eax
5e48ea:	5f                   	pop    %edi
5e48eb:	5e                   	pop    %esi
5e48ec:	5b                   	pop    %ebx
5e48ed:	c9                   	leave
5e48ee:	c3                   	ret
5e48ef:	8b ff                	mov    %edi,%edi
5e48f1:	55                   	push   %ebp
5e48f2:	8b ec                	mov    %esp,%ebp
5e48f4:	5d                   	pop    %ebp
5e48f5:	e9 62 69 00 00       	jmp    0x5eb25c
5e48fa:	8b ff                	mov    %edi,%edi
5e48fc:	55                   	push   %ebp
5e48fd:	8b ec                	mov    %esp,%ebp
5e48ff:	5d                   	pop    %ebp
5e4900:	e9 db b0 00 00       	jmp    0x5ef9e0
5e4905:	cc                   	int3
5e4906:	cc                   	int3
5e4907:	cc                   	int3
5e4908:	cc                   	int3
5e4909:	cc                   	int3
5e490a:	cc                   	int3
5e490b:	cc                   	int3
5e490c:	cc                   	int3
5e490d:	cc                   	int3
5e490e:	cc                   	int3
5e490f:	cc                   	int3
5e4910:	8b 54 24 04          	mov    0x4(%esp),%edx
5e4914:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5e4918:	f7 c2 03 00 00 00    	test   $0x3,%edx
5e491e:	75 40                	jne    0x5e4960
5e4920:	8b 02                	mov    (%edx),%eax
5e4922:	3a 01                	cmp    (%ecx),%al
5e4924:	75 32                	jne    0x5e4958
5e4926:	84 c0                	test   %al,%al
5e4928:	74 26                	je     0x5e4950
5e492a:	3a 61 01             	cmp    0x1(%ecx),%ah
5e492d:	75 29                	jne    0x5e4958
5e492f:	84 e4                	test   %ah,%ah
5e4931:	74 1d                	je     0x5e4950
5e4933:	c1 e8 10             	shr    $0x10,%eax
5e4936:	3a 41 02             	cmp    0x2(%ecx),%al
5e4939:	75 1d                	jne    0x5e4958
5e493b:	84 c0                	test   %al,%al
5e493d:	74 11                	je     0x5e4950
5e493f:	3a 61 03             	cmp    0x3(%ecx),%ah
5e4942:	75 14                	jne    0x5e4958
5e4944:	83 c1 04             	add    $0x4,%ecx
5e4947:	83 c2 04             	add    $0x4,%edx
5e494a:	84 e4                	test   %ah,%ah
5e494c:	75 d2                	jne    0x5e4920
5e494e:	8b ff                	mov    %edi,%edi
5e4950:	33 c0                	xor    %eax,%eax
5e4952:	c3                   	ret
5e4953:	eb 03                	jmp    0x5e4958
5e4955:	cc                   	int3
5e4956:	cc                   	int3
5e4957:	cc                   	int3
5e4958:	1b c0                	sbb    %eax,%eax
5e495a:	83 c8 01             	or     $0x1,%eax
5e495d:	c3                   	ret
5e495e:	8b ff                	mov    %edi,%edi
5e4960:	f7 c2 01 00 00 00    	test   $0x1,%edx
5e4966:	74 18                	je     0x5e4980
5e4968:	8a 02                	mov    (%edx),%al
5e496a:	83 c2 01             	add    $0x1,%edx
5e496d:	3a 01                	cmp    (%ecx),%al
5e496f:	75 e7                	jne    0x5e4958
5e4971:	83 c1 01             	add    $0x1,%ecx
5e4974:	84 c0                	test   %al,%al
5e4976:	74 d8                	je     0x5e4950
5e4978:	f7 c2 02 00 00 00    	test   $0x2,%edx
5e497e:	74 a0                	je     0x5e4920
5e4980:	66 8b 02             	mov    (%edx),%ax
5e4983:	83 c2 02             	add    $0x2,%edx
5e4986:	3a 01                	cmp    (%ecx),%al
5e4988:	75 ce                	jne    0x5e4958
5e498a:	84 c0                	test   %al,%al
5e498c:	74 c2                	je     0x5e4950
5e498e:	3a 61 01             	cmp    0x1(%ecx),%ah
5e4991:	75 c5                	jne    0x5e4958
5e4993:	84 e4                	test   %ah,%ah
5e4995:	74 b9                	je     0x5e4950
5e4997:	83 c1 02             	add    $0x2,%ecx
5e499a:	eb 84                	jmp    0x5e4920
5e499c:	cc                   	int3
5e499d:	cc                   	int3
5e499e:	cc                   	int3
5e499f:	cc                   	int3
5e49a0:	8b ff                	mov    %edi,%edi
5e49a2:	55                   	push   %ebp
5e49a3:	8b ec                	mov    %esp,%ebp
5e49a5:	81 ec 18 01 00 00    	sub    $0x118,%esp
5e49ab:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5e49b0:	33 c5                	xor    %ebp,%eax
5e49b2:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e49b5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e49b8:	53                   	push   %ebx
5e49b9:	8b 5d 14             	mov    0x14(%ebp),%ebx
5e49bc:	56                   	push   %esi
5e49bd:	8b 75 08             	mov    0x8(%ebp),%esi
5e49c0:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
5e49c6:	89 9d f8 fe ff ff    	mov    %ebx,-0x108(%ebp)
5e49cc:	57                   	push   %edi
5e49cd:	8b 7d 10             	mov    0x10(%ebp),%edi
5e49d0:	89 bd 00 ff ff ff    	mov    %edi,-0x100(%ebp)
5e49d6:	85 f6                	test   %esi,%esi
5e49d8:	75 25                	jne    0x5e49ff
5e49da:	85 c9                	test   %ecx,%ecx
5e49dc:	74 21                	je     0x5e49ff
5e49de:	e8 a5 62 ff ff       	call   0x5dac88
5e49e3:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5e49e9:	e8 f2 17 ff ff       	call   0x5d61e0
5e49ee:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5e49f1:	5f                   	pop    %edi
5e49f2:	5e                   	pop    %esi
5e49f3:	33 cd                	xor    %ebp,%ecx
5e49f5:	5b                   	pop    %ebx
5e49f6:	e8 2b d0 fe ff       	call   0x5d1a26
5e49fb:	8b e5                	mov    %ebp,%esp
5e49fd:	5d                   	pop    %ebp
5e49fe:	c3                   	ret
5e49ff:	85 ff                	test   %edi,%edi
5e4a01:	74 db                	je     0x5e49de
5e4a03:	85 db                	test   %ebx,%ebx
5e4a05:	74 d7                	je     0x5e49de
5e4a07:	c7 85 e8 fe ff ff 00 	movl   $0x0,-0x118(%ebp)
5e4a0e:	00 00 00
5e4a11:	83 f9 02             	cmp    $0x2,%ecx
5e4a14:	72 d8                	jb     0x5e49ee
5e4a16:	49                   	dec    %ecx
5e4a17:	0f af cf             	imul   %edi,%ecx
5e4a1a:	03 ce                	add    %esi,%ecx
5e4a1c:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
5e4a22:	8b c1                	mov    %ecx,%eax
5e4a24:	33 d2                	xor    %edx,%edx
5e4a26:	2b c6                	sub    %esi,%eax
5e4a28:	f7 f7                	div    %edi
5e4a2a:	40                   	inc    %eax
5e4a2b:	83 f8 08             	cmp    $0x8,%eax
5e4a2e:	0f 87 b6 00 00 00    	ja     0x5e4aea
5e4a34:	3b ce                	cmp    %esi,%ecx
5e4a36:	0f 86 27 04 00 00    	jbe    0x5e4e63
5e4a3c:	8d 14 37             	lea    (%edi,%esi,1),%edx
5e4a3f:	89 95 f0 fe ff ff    	mov    %edx,-0x110(%ebp)
5e4a45:	8b c6                	mov    %esi,%eax
5e4a47:	8b f2                	mov    %edx,%esi
5e4a49:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
5e4a4f:	3b f1                	cmp    %ecx,%esi
5e4a51:	77 2f                	ja     0x5e4a82
5e4a53:	50                   	push   %eax
5e4a54:	56                   	push   %esi
5e4a55:	8b cb                	mov    %ebx,%ecx
5e4a57:	ff 15 64 23 60 00    	call   *0x602364
5e4a5d:	ff d3                	call   *%ebx
5e4a5f:	83 c4 08             	add    $0x8,%esp
5e4a62:	85 c0                	test   %eax,%eax
5e4a64:	7e 0a                	jle    0x5e4a70
5e4a66:	8b c6                	mov    %esi,%eax
5e4a68:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
5e4a6e:	eb 06                	jmp    0x5e4a76
5e4a70:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
5e4a76:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
5e4a7c:	03 f7                	add    %edi,%esi
5e4a7e:	3b f1                	cmp    %ecx,%esi
5e4a80:	76 d1                	jbe    0x5e4a53
5e4a82:	89 bd f4 fe ff ff    	mov    %edi,-0x10c(%ebp)
5e4a88:	8b d1                	mov    %ecx,%edx
5e4a8a:	3b c1                	cmp    %ecx,%eax
5e4a8c:	74 3b                	je     0x5e4ac9
5e4a8e:	2b c1                	sub    %ecx,%eax
5e4a90:	8b df                	mov    %edi,%ebx