5e0ad5:	72 7e                	jb     0x5e0b55
5e0ad7:	66 3b 75 b4          	cmp    -0x4c(%ebp),%si
5e0adb:	72 6e                	jb     0x5e0b4b
5e0add:	8b 45 b0             	mov    -0x50(%ebp),%eax
5e0ae0:	66 3b f0             	cmp    %ax,%si
5e0ae3:	72 70                	jb     0x5e0b55
5e0ae5:	66 3b 75 ac          	cmp    -0x54(%ebp),%si
5e0ae9:	72 60                	jb     0x5e0b4b
5e0aeb:	8b 45 a8             	mov    -0x58(%ebp),%eax
5e0aee:	66 3b f0             	cmp    %ax,%si
5e0af1:	72 62                	jb     0x5e0b55
5e0af3:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
5e0af7:	72 52                	jb     0x5e0b4b
5e0af9:	8b 45 a0             	mov    -0x60(%ebp),%eax
5e0afc:	66 3b f0             	cmp    %ax,%si
5e0aff:	72 54                	jb     0x5e0b55
5e0b01:	66 3b 75 9c          	cmp    -0x64(%ebp),%si
5e0b05:	72 44                	jb     0x5e0b4b
5e0b07:	8b 45 98             	mov    -0x68(%ebp),%eax
5e0b0a:	66 3b f0             	cmp    %ax,%si
5e0b0d:	72 46                	jb     0x5e0b55
5e0b0f:	66 3b 75 94          	cmp    -0x6c(%ebp),%si
5e0b13:	72 36                	jb     0x5e0b4b
5e0b15:	8b 45 90             	mov    -0x70(%ebp),%eax
5e0b18:	66 3b f0             	cmp    %ax,%si
5e0b1b:	72 38                	jb     0x5e0b55
5e0b1d:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
5e0b21:	72 28                	jb     0x5e0b4b
5e0b23:	8b 45 88             	mov    -0x78(%ebp),%eax
5e0b26:	66 3b f0             	cmp    %ax,%si
5e0b29:	72 2a                	jb     0x5e0b55
5e0b2b:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
5e0b2f:	72 1a                	jb     0x5e0b4b
5e0b31:	8b 45 80             	mov    -0x80(%ebp),%eax
5e0b34:	66 3b f0             	cmp    %ax,%si
5e0b37:	72 1c                	jb     0x5e0b55
5e0b39:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si
5e0b40:	eb 07                	jmp    0x5e0b49
5e0b42:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
5e0b49:	73 0a                	jae    0x5e0b55
5e0b4b:	0f b7 ce             	movzwl %si,%ecx
5e0b4e:	2b c8                	sub    %eax,%ecx
5e0b50:	83 f9 ff             	cmp    $0xffffffff,%ecx
5e0b53:	75 2e                	jne    0x5e0b83
5e0b55:	0f b7 ce             	movzwl %si,%ecx
5e0b58:	83 f9 41             	cmp    $0x41,%ecx
5e0b5b:	72 05                	jb     0x5e0b62
5e0b5d:	83 f9 5a             	cmp    $0x5a,%ecx
5e0b60:	76 0b                	jbe    0x5e0b6d
5e0b62:	83 f9 61             	cmp    $0x61,%ecx
5e0b65:	72 19                	jb     0x5e0b80
5e0b67:	66 83 fe 7a          	cmp    $0x7a,%si
5e0b6b:	77 13                	ja     0x5e0b80
5e0b6d:	6a 19                	push   $0x19
5e0b6f:	8d 46 9f             	lea    -0x61(%esi),%eax
5e0b72:	5a                   	pop    %edx
5e0b73:	66 3b c2             	cmp    %dx,%ax
5e0b76:	77 03                	ja     0x5e0b7b
5e0b78:	83 c1 e0             	add    $0xffffffe0,%ecx
5e0b7b:	83 c1 c9             	add    $0xffffffc9,%ecx
5e0b7e:	eb 03                	jmp    0x5e0b83
5e0b80:	83 c9 ff             	or     $0xffffffff,%ecx
5e0b83:	8b 55 14             	mov    0x14(%ebp),%edx
5e0b86:	3b ca                	cmp    %edx,%ecx
5e0b88:	73 37                	jae    0x5e0bc1
5e0b8a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5e0b8d:	0f af c2             	imul   %edx,%eax
5e0b90:	6a 30                	push   $0x30
5e0b92:	8d 14 08             	lea    (%eax,%ecx,1),%edx
5e0b95:	3b d0                	cmp    %eax,%edx
5e0b97:	1b c9                	sbb    %ecx,%ecx
5e0b99:	f7 d9                	neg    %ecx
5e0b9b:	3b 7d fc             	cmp    -0x4(%ebp),%edi
5e0b9e:	89 55 fc             	mov    %edx,-0x4(%ebp)
5e0ba1:	1b c0                	sbb    %eax,%eax
5e0ba3:	f7 d8                	neg    %eax
5e0ba5:	0b c8                	or     %eax,%ecx
5e0ba7:	c1 e1 02             	shl    $0x2,%ecx
5e0baa:	83 c9 08             	or     $0x8,%ecx
5e0bad:	0b d9                	or     %ecx,%ebx
5e0baf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e0bb2:	0f b7 31             	movzwl (%ecx),%esi
5e0bb5:	83 c1 02             	add    $0x2,%ecx
5e0bb8:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5e0bbb:	59                   	pop    %ecx
5e0bbc:	e9 38 fe ff ff       	jmp    0x5e09f9
5e0bc1:	56                   	push   %esi
5e0bc2:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5e0bc5:	e8 86 9b ff ff       	call   0x5da750
5e0bca:	f6 c3 08             	test   $0x8,%bl
5e0bcd:	75 13                	jne    0x5e0be2
5e0bcf:	8b 45 10             	mov    0x10(%ebp),%eax
5e0bd2:	85 c0                	test   %eax,%eax
5e0bd4:	74 08                	je     0x5e0bde
5e0bd6:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
5e0bdc:	89 08                	mov    %ecx,(%eax)
5e0bde:	33 c0                	xor    %eax,%eax
5e0be0:	eb 65                	jmp    0x5e0c47
5e0be2:	8b 75 fc             	mov    -0x4(%ebp),%esi
5e0be5:	56                   	push   %esi
5e0be6:	53                   	push   %ebx
5e0be7:	e8 77 60 ff ff       	call   0x5d6c63
5e0bec:	59                   	pop    %ecx
5e0bed:	59                   	pop    %ecx
5e0bee:	84 c0                	test   %al,%al
5e0bf0:	74 40                	je     0x5e0c32
5e0bf2:	8b 45 08             	mov    0x8(%ebp),%eax
5e0bf5:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5e0bf9:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
5e0c00:	f6 c3 01             	test   $0x1,%bl
5e0c03:	75 05                	jne    0x5e0c0a
5e0c05:	83 ce ff             	or     $0xffffffff,%esi
5e0c08:	eb 2f                	jmp    0x5e0c39
5e0c0a:	8b 4d 10             	mov    0x10(%ebp),%ecx
5e0c0d:	f6 c3 02             	test   $0x2,%bl
5e0c10:	74 10                	je     0x5e0c22
5e0c12:	85 c9                	test   %ecx,%ecx
5e0c14:	74 05                	je     0x5e0c1b
5e0c16:	8b 45 0c             	mov    0xc(%ebp),%eax
5e0c19:	89 01                	mov    %eax,(%ecx)
5e0c1b:	b8 00 00 00 80       	mov    $0x80000000,%eax
5e0c20:	eb 25                	jmp    0x5e0c47
5e0c22:	85 c9                	test   %ecx,%ecx
5e0c24:	74 05                	je     0x5e0c2b
5e0c26:	8b 45 0c             	mov    0xc(%ebp),%eax
5e0c29:	89 01                	mov    %eax,(%ecx)
5e0c2b:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5e0c30:	eb 15                	jmp    0x5e0c47
5e0c32:	f6 c3 02             	test   $0x2,%bl
5e0c35:	74 02                	je     0x5e0c39
5e0c37:	f7 de                	neg    %esi
5e0c39:	8b 55 10             	mov    0x10(%ebp),%edx
5e0c3c:	85 d2                	test   %edx,%edx
5e0c3e:	74 05                	je     0x5e0c45
5e0c40:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e0c43:	89 0a                	mov    %ecx,(%edx)
5e0c45:	8b c6                	mov    %esi,%eax
5e0c47:	5f                   	pop    %edi
5e0c48:	5e                   	pop    %esi
5e0c49:	5b                   	pop    %ebx
5e0c4a:	c9                   	leave
5e0c4b:	c3                   	ret
5e0c4c:	8b ff                	mov    %edi,%edi
5e0c4e:	55                   	push   %ebp
5e0c4f:	8b ec                	mov    %esp,%ebp
5e0c51:	83 ec 28             	sub    $0x28,%esp
5e0c54:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5e0c57:	53                   	push   %ebx
5e0c58:	56                   	push   %esi
5e0c59:	57                   	push   %edi
5e0c5a:	e8 7c 9b ff ff       	call   0x5da7db
5e0c5f:	84 c0                	test   %al,%al
5e0c61:	74 2f                	je     0x5e0c92
5e0c63:	8b 75 14             	mov    0x14(%ebp),%esi
5e0c66:	85 f6                	test   %esi,%esi
5e0c68:	74 3d                	je     0x5e0ca7
5e0c6a:	83 fe 02             	cmp    $0x2,%esi
5e0c6d:	7c 05                	jl     0x5e0c74
5e0c6f:	83 fe 24             	cmp    $0x24,%esi
5e0c72:	7e 33                	jle    0x5e0ca7
5e0c74:	8b 45 08             	mov    0x8(%ebp),%eax
5e0c77:	50                   	push   %eax
5e0c78:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5e0c7c:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5e0c83:	33 c0                	xor    %eax,%eax
5e0c85:	50                   	push   %eax
5e0c86:	50                   	push   %eax
5e0c87:	50                   	push   %eax
5e0c88:	50                   	push   %eax
5e0c89:	50                   	push   %eax
5e0c8a:	e8 d4 54 ff ff       	call   0x5d6163
5e0c8f:	83 c4 18             	add    $0x18,%esp
5e0c92:	8b 4d 10             	mov    0x10(%ebp),%ecx
5e0c95:	85 c9                	test   %ecx,%ecx
5e0c97:	0f 84 f4 01 00 00    	je     0x5e0e91
5e0c9d:	8b 45 0c             	mov    0xc(%ebp),%eax
5e0ca0:	89 01                	mov    %eax,(%ecx)
5e0ca2:	e9 ea 01 00 00       	jmp    0x5e0e91
5e0ca7:	8b 45 0c             	mov    0xc(%ebp),%eax
5e0caa:	33 ff                	xor    %edi,%edi
5e0cac:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
5e0cb0:	89 45 d8             	mov    %eax,-0x28(%ebp)
5e0cb3:	8a 18                	mov    (%eax),%bl
5e0cb5:	40                   	inc    %eax
5e0cb6:	89 45 0c             	mov    %eax,0xc(%ebp)
5e0cb9:	8b 45 08             	mov    0x8(%ebp),%eax
5e0cbc:	88 5d f8             	mov    %bl,-0x8(%ebp)
5e0cbf:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
5e0cc3:	75 0a                	jne    0x5e0ccf
5e0cc5:	8b c8                	mov    %eax,%ecx
5e0cc7:	e8 b4 9a ff ff       	call   0x5da780
5e0ccc:	8b 45 08             	mov    0x8(%ebp),%eax
5e0ccf:	83 c0 0c             	add    $0xc,%eax
5e0cd2:	50                   	push   %eax
5e0cd3:	89 45 f4             	mov    %eax,-0xc(%ebp)
5e0cd6:	0f b6 c3             	movzbl %bl,%eax
5e0cd9:	6a 08                	push   $0x8
5e0cdb:	50                   	push   %eax
5e0cdc:	e8 51 ec ff ff       	call   0x5df932
5e0ce1:	83 c4 0c             	add    $0xc,%esp
5e0ce4:	85 c0                	test   %eax,%eax
5e0ce6:	74 25                	je     0x5e0d0d
5e0ce8:	8b 75 f4             	mov    -0xc(%ebp),%esi
5e0ceb:	8b 45 0c             	mov    0xc(%ebp),%eax
5e0cee:	56                   	push   %esi
5e0cef:	6a 08                	push   $0x8
5e0cf1:	8a 18                	mov    (%eax),%bl
5e0cf3:	40                   	inc    %eax
5e0cf4:	89 45 0c             	mov    %eax,0xc(%ebp)
5e0cf7:	0f b6 c3             	movzbl %bl,%eax
5e0cfa:	50                   	push   %eax
5e0cfb:	88 5d f8             	mov    %bl,-0x8(%ebp)
5e0cfe:	e8 2f ec ff ff       	call   0x5df932
5e0d03:	83 c4 0c             	add    $0xc,%esp
5e0d06:	85 c0                	test   %eax,%eax
5e0d08:	75 e1                	jne    0x5e0ceb
5e0d0a:	8b 75 14             	mov    0x14(%ebp),%esi
5e0d0d:	0f b6 45 18          	movzbl 0x18(%ebp),%eax
5e0d11:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e0d14:	80 fb 2d             	cmp    $0x2d,%bl
5e0d17:	75 08                	jne    0x5e0d21
5e0d19:	83 c8 02             	or     $0x2,%eax
5e0d1c:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e0d1f:	eb 05                	jmp    0x5e0d26
5e0d21:	80 fb 2b             	cmp    $0x2b,%bl
5e0d24:	75 0e                	jne    0x5e0d34
5e0d26:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e0d29:	8a 19                	mov    (%ecx),%bl
5e0d2b:	41                   	inc    %ecx
5e0d2c:	88 5d f8             	mov    %bl,-0x8(%ebp)
5e0d2f:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5e0d32:	eb 03                	jmp    0x5e0d37
5e0d34:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e0d37:	85 f6                	test   %esi,%esi
5e0d39:	74 05                	je     0x5e0d40
5e0d3b:	83 fe 10             	cmp    $0x10,%esi
5e0d3e:	75 72                	jne    0x5e0db2
5e0d40:	8a c3                	mov    %bl,%al
5e0d42:	2c 30                	sub    $0x30,%al
5e0d44:	3c 09                	cmp    $0x9,%al
5e0d46:	77 08                	ja     0x5e0d50
5e0d48:	0f be c3             	movsbl %bl,%eax
5e0d4b:	83 c0 d0             	add    $0xffffffd0,%eax
5e0d4e:	eb 1e                	jmp    0x5e0d6e
5e0d50:	8a c3                	mov    %bl,%al
5e0d52:	2c 61                	sub    $0x61,%al
5e0d54:	3c 19                	cmp    $0x19,%al
5e0d56:	77 08                	ja     0x5e0d60
5e0d58:	0f be c3             	movsbl %bl,%eax
5e0d5b:	83 c0 a9             	add    $0xffffffa9,%eax
5e0d5e:	eb 0e                	jmp    0x5e0d6e
5e0d60:	8a c3                	mov    %bl,%al
5e0d62:	2c 41                	sub    $0x41,%al
5e0d64:	3c 19                	cmp    $0x19,%al
5e0d66:	77 43                	ja     0x5e0dab
5e0d68:	0f be c3             	movsbl %bl,%eax
5e0d6b:	83 c0 c9             	add    $0xffffffc9,%eax
5e0d6e:	85 c0                	test   %eax,%eax
5e0d70:	75 39                	jne    0x5e0dab
5e0d72:	8a 01                	mov    (%ecx),%al
5e0d74:	41                   	inc    %ecx
5e0d75:	88 45 f4             	mov    %al,-0xc(%ebp)
5e0d78:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5e0d7b:	3c 78                	cmp    $0x78,%al
5e0d7d:	74 18                	je     0x5e0d97
5e0d7f:	3c 58                	cmp    $0x58,%al
5e0d81:	74 14                	je     0x5e0d97
5e0d83:	85 f6                	test   %esi,%esi
5e0d85:	75 03                	jne    0x5e0d8a
5e0d87:	6a 08                	push   $0x8
5e0d89:	5e                   	pop    %esi
5e0d8a:	ff 75 f4             	push   -0xc(%ebp)
5e0d8d:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5e0d90:	e8 92 99 ff ff       	call   0x5da727
5e0d95:	eb 1b                	jmp    0x5e0db2
5e0d97:	85 f6                	test   %esi,%esi
5e0d99:	75 03                	jne    0x5e0d9e
5e0d9b:	6a 10                	push   $0x10
5e0d9d:	5e                   	pop    %esi
5e0d9e:	8a 19                	mov    (%ecx),%bl
5e0da0:	8d 41 01             	lea    0x1(%ecx),%eax
5e0da3:	88 5d f8             	mov    %bl,-0x8(%ebp)
5e0da6:	89 45 0c             	mov    %eax,0xc(%ebp)
5e0da9:	eb 07                	jmp    0x5e0db2
5e0dab:	85 f6                	test   %esi,%esi
5e0dad:	75 03                	jne    0x5e0db2
5e0daf:	6a 0a                	push   $0xa
5e0db1:	5e                   	pop    %esi
5e0db2:	8b c6                	mov    %esi,%eax
5e0db4:	99                   	cltd
5e0db5:	8b ca                	mov    %edx,%ecx
5e0db7:	89 45 e8             	mov    %eax,-0x18(%ebp)
5e0dba:	51                   	push   %ecx
5e0dbb:	50                   	push   %eax
5e0dbc:	6a ff                	push   $0xffffffff
5e0dbe:	6a ff                	push   $0xffffffff
5e0dc0:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5e0dc3:	e8 58 07 ff ff       	call   0x5d1520
5e0dc8:	89 45 e0             	mov    %eax,-0x20(%ebp)
5e0dcb:	89 55 e4             	mov    %edx,-0x1c(%ebp)
5e0dce:	8a c3                	mov    %bl,%al
5e0dd0:	2c 30                	sub    $0x30,%al
5e0dd2:	3c 09                	cmp    $0x9,%al
5e0dd4:	77 08                	ja     0x5e0dde
5e0dd6:	0f be c3             	movsbl %bl,%eax
5e0dd9:	83 c0 d0             	add    $0xffffffd0,%eax
5e0ddc:	eb 23                	jmp    0x5e0e01
5e0dde:	8a c3                	mov    %bl,%al
5e0de0:	2c 61                	sub    $0x61,%al
5e0de2:	3c 19                	cmp    $0x19,%al
5e0de4:	77 08                	ja     0x5e0dee
5e0de6:	0f be c3             	movsbl %bl,%eax
5e0de9:	83 c0 a9             	add    $0xffffffa9,%eax
5e0dec:	eb 13                	jmp    0x5e0e01
5e0dee:	8a c3                	mov    %bl,%al
5e0df0:	2c 41                	sub    $0x41,%al
5e0df2:	3c 19                	cmp    $0x19,%al
5e0df4:	77 08                	ja     0x5e0dfe
5e0df6:	0f be c3             	movsbl %bl,%eax
5e0df9:	83 c0 c9             	add    $0xffffffc9,%eax
5e0dfc:	eb 03                	jmp    0x5e0e01
5e0dfe:	83 c8 ff             	or     $0xffffffff,%eax
5e0e01:	89 45 f4             	mov    %eax,-0xc(%ebp)
5e0e04:	3b c6                	cmp    %esi,%eax
5e0e06:	73 6b                	jae    0x5e0e73
5e0e08:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5e0e0b:	57                   	push   %edi
5e0e0c:	53                   	push   %ebx
5e0e0d:	ff 75 ec             	push   -0x14(%ebp)
5e0e10:	ff 75 e8             	push   -0x18(%ebp)
5e0e13:	e8 68 10 ff ff       	call   0x5d1e80
5e0e18:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5e0e1b:	89 45 f0             	mov    %eax,-0x10(%ebp)
5e0e1e:	33 c0                	xor    %eax,%eax
5e0e20:	03 4d f0             	add    -0x10(%ebp),%ecx
5e0e23:	89 55 dc             	mov    %edx,-0x24(%ebp)
5e0e26:	13 c2                	adc    %edx,%eax
5e0e28:	89 45 f4             	mov    %eax,-0xc(%ebp)
5e0e2b:	3b 7d e4             	cmp    -0x1c(%ebp),%edi
5e0e2e:	72 0c                	jb     0x5e0e3c
5e0e30:	77 05                	ja     0x5e0e37
5e0e32:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
5e0e35:	76 05                	jbe    0x5e0e3c
5e0e37:	33 d2                	xor    %edx,%edx
5e0e39:	42                   	inc    %edx
5e0e3a:	eb 02                	jmp    0x5e0e3e
5e0e3c:	33 d2                	xor    %edx,%edx
5e0e3e:	3b 45 dc             	cmp    -0x24(%ebp),%eax
5e0e41:	77 0c                	ja     0x5e0e4f
5e0e43:	72 05                	jb     0x5e0e4a