5d8740:	72 03                	jb     0x5d8745
5d8742:	8b 4d 24             	mov    0x24(%ebp),%ecx
5d8745:	8b 45 34             	mov    0x34(%ebp),%eax
5d8748:	2b c7                	sub    %edi,%eax
5d874a:	57                   	push   %edi
5d874b:	8d 04 41             	lea    (%ecx,%eax,2),%eax
5d874e:	50                   	push   %eax
5d874f:	ff 75 10             	push   0x10(%ebp)
5d8752:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
5d8758:	ff 75 0c             	push   0xc(%ebp)
5d875b:	50                   	push   %eax
5d875c:	e8 f7 fa ff ff       	call   0x5d8258
5d8761:	83 c4 14             	add    $0x14,%esp
5d8764:	e9 87 00 00 00       	jmp    0x5d87f0
5d8769:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
5d876d:	0f 86 88 00 00 00    	jbe    0x5d87fb
5d8773:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
5d8777:	8d 45 d8             	lea    -0x28(%ebp),%eax
5d877a:	72 03                	jb     0x5d877f
5d877c:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d877f:	6a 01                	push   $0x1
5d8781:	50                   	push   %eax
5d8782:	52                   	push   %edx
5d8783:	51                   	push   %ecx
5d8784:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
5d878a:	eb cf                	jmp    0x5d875b
5d878c:	83 7d bc 08          	cmpl   $0x8,-0x44(%ebp)
5d8790:	8d 45 a8             	lea    -0x58(%ebp),%eax
5d8793:	72 03                	jb     0x5d8798
5d8795:	8b 45 a8             	mov    -0x58(%ebp),%eax
5d8798:	ff 75 b8             	push   -0x48(%ebp)
5d879b:	50                   	push   %eax
5d879c:	52                   	push   %edx
5d879d:	51                   	push   %ecx
5d879e:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
5d87a4:	eb b5                	jmp    0x5d875b
5d87a6:	6a 01                	push   $0x1
5d87a8:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5d87ae:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
5d87b4:	52                   	push   %edx
5d87b5:	51                   	push   %ecx
5d87b6:	50                   	push   %eax
5d87b7:	e8 6b 06 00 00       	call   0x5d8e27
5d87bc:	83 c4 14             	add    $0x14,%esp
5d87bf:	8b 08                	mov    (%eax),%ecx
5d87c1:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5d87c4:	8b 50 04             	mov    0x4(%eax),%edx
5d87c7:	89 55 10             	mov    %edx,0x10(%ebp)
5d87ca:	81 bd 68 ff ff ff 00 	cmpl   $0x100,-0x98(%ebp)
5d87d1:	01 00 00
5d87d4:	75 25                	jne    0x5d87fb
5d87d6:	56                   	push   %esi
5d87d7:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5d87dd:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
5d87e3:	52                   	push   %edx
5d87e4:	51                   	push   %ecx
5d87e5:	50                   	push   %eax
5d87e6:	e8 3c 06 00 00       	call   0x5d8e27
5d87eb:	83 c4 14             	add    $0x14,%esp
5d87ee:	33 f6                	xor    %esi,%esi
5d87f0:	8b 08                	mov    (%eax),%ecx
5d87f2:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5d87f5:	8b 50 04             	mov    0x4(%eax),%edx
5d87f8:	89 55 10             	mov    %edx,0x10(%ebp)
5d87fb:	8b 45 84             	mov    -0x7c(%ebp),%eax
5d87fe:	40                   	inc    %eax
5d87ff:	89 45 84             	mov    %eax,-0x7c(%ebp)
5d8802:	83 f8 04             	cmp    $0x4,%eax
5d8805:	0f 82 04 fe ff ff    	jb     0x5d860f
5d880b:	8b 45 e8             	mov    -0x18(%ebp),%eax
5d880e:	83 f8 01             	cmp    $0x1,%eax
5d8811:	76 30                	jbe    0x5d8843
5d8813:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
5d8817:	8d 78 ff             	lea    -0x1(%eax),%edi
5d881a:	8d 45 d8             	lea    -0x28(%ebp),%eax
5d881d:	72 03                	jb     0x5d8822
5d881f:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d8822:	57                   	push   %edi
5d8823:	83 c0 02             	add    $0x2,%eax
5d8826:	50                   	push   %eax
5d8827:	52                   	push   %edx
5d8828:	51                   	push   %ecx
5d8829:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
5d882f:	50                   	push   %eax
5d8830:	e8 23 fa ff ff       	call   0x5d8258
5d8835:	83 c4 14             	add    $0x14,%esp
5d8838:	8b 08                	mov    (%eax),%ecx
5d883a:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5d883d:	8b 50 04             	mov    0x4(%eax),%edx
5d8840:	89 55 10             	mov    %edx,0x10(%ebp)
5d8843:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
5d8849:	56                   	push   %esi
5d884a:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5d8850:	8b b5 5c ff ff ff    	mov    -0xa4(%ebp),%esi
5d8856:	83 60 20 00          	andl   $0x0,0x20(%eax)
5d885a:	83 60 24 00          	andl   $0x0,0x24(%eax)
5d885e:	52                   	push   %edx
5d885f:	51                   	push   %ecx
5d8860:	56                   	push   %esi
5d8861:	e8 c1 05 00 00       	call   0x5d8e27
5d8866:	83 c4 14             	add    $0x14,%esp
5d8869:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5d886c:	e8 82 06 00 00       	call   0x5d8ef3
5d8871:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5d8874:	e8 7a 06 00 00       	call   0x5d8ef3
5d8879:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5d887c:	e8 ff c6 e6 ff       	call   0x444f80
5d8881:	8d 4d 24             	lea    0x24(%ebp),%ecx
5d8884:	e8 6a 06 00 00       	call   0x5d8ef3
5d8889:	8b c6                	mov    %esi,%eax
5d888b:	e8 1a 97 00 00       	call   0x5e1faa
5d8890:	c2 38 00             	ret    $0x38
5d8893:	68 e0 00 00 00       	push   $0xe0
5d8898:	b8 0d 16 66 00       	mov    $0x66160d,%eax
5d889d:	e8 4d 97 00 00       	call   0x5e1fef
5d88a2:	0f b7 4d 1c          	movzwl 0x1c(%ebp),%ecx
5d88a6:	8b 45 08             	mov    0x8(%ebp),%eax
5d88a9:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
5d88af:	0f b7 4d 3c          	movzwl 0x3c(%ebp),%ecx
5d88b3:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
5d88b9:	8b 45 18             	mov    0x18(%ebp),%eax
5d88bc:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
5d88c2:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
5d88c8:	ff 70 30             	push   0x30(%eax)
5d88cb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5d88cf:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5d88d5:	e8 76 10 e6 ff       	call   0x439950
5d88da:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
5d88de:	74 17                	je     0x5d88f7
5d88e0:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
5d88e6:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5d88ea:	50                   	push   %eax
5d88eb:	e8 84 8e ff ff       	call   0x5d1774
5d88f0:	8b f8                	mov    %eax,%edi
5d88f2:	89 7d 8c             	mov    %edi,-0x74(%ebp)
5d88f5:	eb 15                	jmp    0x5d890c
5d88f7:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
5d88fd:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
5d8901:	50                   	push   %eax
5d8902:	e8 02 8f ff ff       	call   0x5d1809
5d8907:	8b f8                	mov    %eax,%edi
5d8909:	89 45 8c             	mov    %eax,-0x74(%ebp)
5d890c:	59                   	pop    %ecx
5d890d:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5d8913:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5d8917:	e8 84 10 e6 ff       	call   0x4399a0
5d891c:	8b 07                	mov    (%edi),%eax
5d891e:	8b 70 14             	mov    0x14(%eax),%esi
5d8921:	8d 45 c0             	lea    -0x40(%ebp),%eax
5d8924:	50                   	push   %eax
5d8925:	8b ce                	mov    %esi,%ecx
5d8927:	ff 15 e0 24 68 00    	call   *0x6824e0
5d892d:	8b cf                	mov    %edi,%ecx
5d892f:	ff d6                	call   *%esi
5d8931:	8b cf                	mov    %edi,%ecx
5d8933:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5d8937:	e8 c1 47 00 00       	call   0x5dd0fd
5d893c:	99                   	cltd
5d893d:	8b f8                	mov    %eax,%edi
5d893f:	33 fa                	xor    %edx,%edi
5d8941:	2b fa                	sub    %edx,%edi
5d8943:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
5d8949:	39 7d 34             	cmp    %edi,0x34(%ebp)
5d894c:	77 19                	ja     0x5d8967
5d894e:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
5d8954:	8b c7                	mov    %edi,%eax
5d8956:	8d 4d 24             	lea    0x24(%ebp),%ecx
5d8959:	2b 45 34             	sub    0x34(%ebp),%eax
5d895c:	40                   	inc    %eax
5d895d:	50                   	push   %eax
5d895e:	6a 00                	push   $0x0
5d8960:	e8 ab 80 e6 ff       	call   0x440a10
5d8965:	eb 76                	jmp    0x5d89dd
5d8967:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
5d896b:	8d 45 c0             	lea    -0x40(%ebp),%eax
5d896e:	72 03                	jb     0x5d8973
5d8970:	8b 45 c0             	mov    -0x40(%ebp),%eax
5d8973:	80 38 7f             	cmpb   $0x7f,(%eax)
5d8976:	74 65                	je     0x5d89dd
5d8978:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
5d897c:	8d 45 c0             	lea    -0x40(%ebp),%eax
5d897f:	72 03                	jb     0x5d8984
5d8981:	8b 45 c0             	mov    -0x40(%ebp),%eax
5d8984:	80 38 00             	cmpb   $0x0,(%eax)
5d8987:	7e 54                	jle    0x5d89dd
5d8989:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d898c:	e8 a3 4a 00 00       	call   0x5dd434
5d8991:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
5d8995:	8d 7d c0             	lea    -0x40(%ebp),%edi
5d8998:	0f b7 c8             	movzwl %ax,%ecx
5d899b:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
5d899e:	72 03                	jb     0x5d89a3
5d89a0:	8b 7d c0             	mov    -0x40(%ebp),%edi
5d89a3:	8b 75 34             	mov    0x34(%ebp),%esi
5d89a6:	2b b5 7c ff ff ff    	sub    -0x84(%ebp),%esi
5d89ac:	8a 07                	mov    (%edi),%al
5d89ae:	3c 7f                	cmp    $0x7f,%al
5d89b0:	74 25                	je     0x5d89d7
5d89b2:	84 c0                	test   %al,%al
5d89b4:	7e 21                	jle    0x5d89d7
5d89b6:	0f be c0             	movsbl %al,%eax
5d89b9:	3b c6                	cmp    %esi,%eax
5d89bb:	73 1a                	jae    0x5d89d7
5d89bd:	51                   	push   %ecx
5d89be:	2b f0                	sub    %eax,%esi
5d89c0:	8d 4d 24             	lea    0x24(%ebp),%ecx
5d89c3:	6a 01                	push   $0x1
5d89c5:	56                   	push   %esi
5d89c6:	e8 45 80 e6 ff       	call   0x440a10
5d89cb:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
5d89cf:	7e 01                	jle    0x5d89d2
5d89d1:	47                   	inc    %edi
5d89d2:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
5d89d5:	eb d5                	jmp    0x5d89ac
5d89d7:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
5d89dd:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
5d89e1:	33 c0                	xor    %eax,%eax
5d89e3:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
5d89ea:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
5d89ee:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
5d89f2:	8b 45 8c             	mov    -0x74(%ebp),%eax
5d89f5:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
5d89f9:	8b 30                	mov    (%eax),%esi
5d89fb:	8d 45 84             	lea    -0x7c(%ebp),%eax
5d89fe:	50                   	push   %eax
5d89ff:	74 23                	je     0x5d8a24
5d8a01:	8b 76 2c             	mov    0x2c(%esi),%esi
5d8a04:	8b ce                	mov    %esi,%ecx
5d8a06:	ff 15 e0 24 68 00    	call   *0x6824e0
5d8a0c:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d8a0f:	ff d6                	call   *%esi
5d8a11:	8b 45 84             	mov    -0x7c(%ebp),%eax
5d8a14:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5d8a1a:	8b 45 8c             	mov    -0x74(%ebp),%eax
5d8a1d:	8b 00                	mov    (%eax),%eax
5d8a1f:	8b 70 20             	mov    0x20(%eax),%esi
5d8a22:	eb 21                	jmp    0x5d8a45
5d8a24:	8b 76 28             	mov    0x28(%esi),%esi
5d8a27:	8b ce                	mov    %esi,%ecx
5d8a29:	ff 15 e0 24 68 00    	call   *0x6824e0
5d8a2f:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d8a32:	ff d6                	call   *%esi
5d8a34:	8b 45 84             	mov    -0x7c(%ebp),%eax
5d8a37:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5d8a3d:	8b 45 8c             	mov    -0x74(%ebp),%eax
5d8a40:	8b 00                	mov    (%eax),%eax
5d8a42:	8b 70 1c             	mov    0x1c(%eax),%esi
5d8a45:	8d 45 90             	lea    -0x70(%ebp),%eax
5d8a48:	8b ce                	mov    %esi,%ecx
5d8a4a:	50                   	push   %eax
5d8a4b:	ff 15 e0 24 68 00    	call   *0x6824e0
5d8a51:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d8a54:	ff d6                	call   *%esi
5d8a56:	c6 45 84 00          	movb   $0x0,-0x7c(%ebp)
5d8a5a:	8d 45 90             	lea    -0x70(%ebp),%eax
5d8a5d:	ff 75 84             	push   -0x7c(%ebp)
5d8a60:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5d8a63:	50                   	push   %eax
5d8a64:	e8 95 f7 ff ff       	call   0x5d81fe
5d8a69:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5d8a6c:	e8 5f c5 e6 ff       	call   0x444fd0
5d8a71:	83 65 b8 00          	andl   $0x0,-0x48(%ebp)
5d8a75:	33 c0                	xor    %eax,%eax
5d8a77:	c7 45 bc 07 00 00 00 	movl   $0x7,-0x44(%ebp)
5d8a7e:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
5d8a82:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
5d8a88:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
5d8a8c:	f6 40 14 08          	testb  $0x8,0x14(%eax)
5d8a90:	74 34                	je     0x5d8ac6
5d8a92:	8b 45 8c             	mov    -0x74(%ebp),%eax
5d8a95:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5d8a98:	51                   	push   %ecx
5d8a99:	8b 00                	mov    (%eax),%eax
5d8a9b:	8b 70 18             	mov    0x18(%eax),%esi
5d8a9e:	8b ce                	mov    %esi,%ecx
5d8aa0:	ff 15 e0 24 68 00    	call   *0x6824e0
5d8aa6:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d8aa9:	ff d6                	call   *%esi
5d8aab:	c6 45 84 00          	movb   $0x0,-0x7c(%ebp)
5d8aaf:	8d 45 90             	lea    -0x70(%ebp),%eax
5d8ab2:	ff 75 84             	push   -0x7c(%ebp)
5d8ab5:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5d8ab8:	50                   	push   %eax
5d8ab9:	e8 40 f7 ff ff       	call   0x5d81fe
5d8abe:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5d8ac1:	e8 0a c5 e6 ff       	call   0x444fd0
5d8ac6:	32 d2                	xor    %dl,%dl
5d8ac8:	33 c9                	xor    %ecx,%ecx
5d8aca:	88 55 8b             	mov    %dl,-0x75(%ebp)
5d8acd:	33 f6                	xor    %esi,%esi
5d8acf:	0f be 84 35 74 ff ff 	movsbl -0x8c(%ebp,%esi,1),%eax
5d8ad6:	ff
5d8ad7:	83 e8 20             	sub    $0x20,%eax
5d8ada:	74 44                	je     0x5d8b20
5d8adc:	83 e8 04             	sub    $0x4,%eax
5d8adf:	74 3a                	je     0x5d8b1b
5d8ae1:	83 e8 07             	sub    $0x7,%eax
5d8ae4:	74 30                	je     0x5d8b16
5d8ae6:	83 e8 4b             	sub    $0x4b,%eax
5d8ae9:	74 08                	je     0x5d8af3
5d8aeb:	48                   	dec    %eax
5d8aec:	83 e8 01             	sub    $0x1,%eax
5d8aef:	74 30                	je     0x5d8b21
5d8af1:	eb 38                	jmp    0x5d8b2b
5d8af3:	39 7d 34             	cmp    %edi,0x34(%ebp)
5d8af6:	77 08                	ja     0x5d8b00
5d8af8:	8b d7                	mov    %edi,%edx
5d8afa:	2b 55 34             	sub    0x34(%ebp),%edx
5d8afd:	42                   	inc    %edx
5d8afe:	eb 02                	jmp    0x5d8b02
5d8b00:	33 d2                	xor    %edx,%edx
5d8b02:	33 c0                	xor    %eax,%eax
5d8b04:	3b c7                	cmp    %edi,%eax
5d8b06:	1b c0                	sbb    %eax,%eax
5d8b08:	f7 d8                	neg    %eax
5d8b0a:	03 45 34             	add    0x34(%ebp),%eax
5d8b0d:	03 c2                	add    %edx,%eax
5d8b0f:	8a 55 8b             	mov    -0x75(%ebp),%dl
5d8b12:	03 c8                	add    %eax,%ecx
5d8b14:	eb 15                	jmp    0x5d8b2b
5d8b16:	03 4d e8             	add    -0x18(%ebp),%ecx
5d8b19:	eb 10                	jmp    0x5d8b2b
5d8b1b:	03 4d b8             	add    -0x48(%ebp),%ecx
5d8b1e:	eb 0b                	jmp    0x5d8b2b
5d8b20:	41                   	inc    %ecx
5d8b21:	83 fe 03             	cmp    $0x3,%esi
5d8b24:	74 05                	je     0x5d8b2b
5d8b26:	b2 01                	mov    $0x1,%dl
5d8b28:	88 55 8b             	mov    %dl,-0x75(%ebp)
5d8b2b:	46                   	inc    %esi
5d8b2c:	83 fe 04             	cmp    $0x4,%esi
5d8b2f:	72 9e                	jb     0x5d8acf
5d8b31:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
5d8b37:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
5d8b3b:	7c 13                	jl     0x5d8b50
5d8b3d:	7f 06                	jg     0x5d8b45
5d8b3f:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
5d8b43:	76 0b                	jbe    0x5d8b50
5d8b45:	8b 70 20             	mov    0x20(%eax),%esi
5d8b48:	3b f1                	cmp    %ecx,%esi
5d8b4a:	76 04                	jbe    0x5d8b50
5d8b4c:	2b f1                	sub    %ecx,%esi
5d8b4e:	eb 02                	jmp    0x5d8b52
5d8b50:	33 f6                	xor    %esi,%esi
5d8b52:	8b 40 14             	mov    0x14(%eax),%eax
5d8b55:	25 c0 01 00 00       	and    $0x1c0,%eax
5d8b5a:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
5d8b60:	83 f8 40             	cmp    $0x40,%eax
5d8b63:	74 33                	je     0x5d8b98
5d8b65:	3d 00 01 00 00       	cmp    $0x100,%eax