5e0875:	66 3b 75 dc          	cmp    -0x24(%ebp),%si
5e0879:	72 a5                	jb     0x5e0820
5e087b:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5e087e:	66 3b f1             	cmp    %cx,%si
5e0881:	0f 82 f6 00 00 00    	jb     0x5e097d
5e0887:	66 3b 75 d4          	cmp    -0x2c(%ebp),%si
5e088b:	72 93                	jb     0x5e0820
5e088d:	8b 4d d0             	mov    -0x30(%ebp),%ecx
5e0890:	66 3b f1             	cmp    %cx,%si
5e0893:	0f 82 e4 00 00 00    	jb     0x5e097d
5e0899:	66 3b 75 cc          	cmp    -0x34(%ebp),%si
5e089d:	72 81                	jb     0x5e0820
5e089f:	8b 4d c8             	mov    -0x38(%ebp),%ecx
5e08a2:	66 3b f1             	cmp    %cx,%si
5e08a5:	0f 82 d2 00 00 00    	jb     0x5e097d
5e08ab:	66 3b 75 c4          	cmp    -0x3c(%ebp),%si
5e08af:	0f 82 6b ff ff ff    	jb     0x5e0820
5e08b5:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5e08b8:	66 3b f1             	cmp    %cx,%si
5e08bb:	0f 82 bc 00 00 00    	jb     0x5e097d
5e08c1:	66 3b 75 bc          	cmp    -0x44(%ebp),%si
5e08c5:	0f 82 55 ff ff ff    	jb     0x5e0820
5e08cb:	8b 4d b8             	mov    -0x48(%ebp),%ecx
5e08ce:	66 3b f1             	cmp    %cx,%si
5e08d1:	0f 82 a6 00 00 00    	jb     0x5e097d
5e08d7:	66 3b 75 b4          	cmp    -0x4c(%ebp),%si
5e08db:	0f 82 3f ff ff ff    	jb     0x5e0820
5e08e1:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5e08e4:	66 3b f1             	cmp    %cx,%si
5e08e7:	0f 82 90 00 00 00    	jb     0x5e097d
5e08ed:	66 3b 75 ac          	cmp    -0x54(%ebp),%si
5e08f1:	0f 82 29 ff ff ff    	jb     0x5e0820
5e08f7:	8b 4d a8             	mov    -0x58(%ebp),%ecx
5e08fa:	66 3b f1             	cmp    %cx,%si
5e08fd:	72 7e                	jb     0x5e097d
5e08ff:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
5e0903:	0f 82 17 ff ff ff    	jb     0x5e0820
5e0909:	8b 4d a0             	mov    -0x60(%ebp),%ecx
5e090c:	66 3b f1             	cmp    %cx,%si
5e090f:	72 6c                	jb     0x5e097d
5e0911:	66 3b 75 9c          	cmp    -0x64(%ebp),%si
5e0915:	0f 82 05 ff ff ff    	jb     0x5e0820
5e091b:	8b 4d 98             	mov    -0x68(%ebp),%ecx
5e091e:	66 3b f1             	cmp    %cx,%si
5e0921:	72 5a                	jb     0x5e097d
5e0923:	66 3b 75 94          	cmp    -0x6c(%ebp),%si
5e0927:	0f 82 f3 fe ff ff    	jb     0x5e0820
5e092d:	8b 4d 90             	mov    -0x70(%ebp),%ecx
5e0930:	66 3b f1             	cmp    %cx,%si
5e0933:	72 48                	jb     0x5e097d
5e0935:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
5e0939:	0f 82 e1 fe ff ff    	jb     0x5e0820
5e093f:	8b 4d 88             	mov    -0x78(%ebp),%ecx
5e0942:	66 3b f1             	cmp    %cx,%si
5e0945:	72 36                	jb     0x5e097d
5e0947:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
5e094b:	0f 82 cf fe ff ff    	jb     0x5e0820
5e0951:	8b 4d 80             	mov    -0x80(%ebp),%ecx
5e0954:	66 3b f1             	cmp    %cx,%si
5e0957:	72 24                	jb     0x5e097d
5e0959:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si
5e0960:	73 1b                	jae    0x5e097d
5e0962:	e9 b9 fe ff ff       	jmp    0x5e0820
5e0967:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
5e096e:	73 0d                	jae    0x5e097d
5e0970:	0f b7 c6             	movzwl %si,%eax
5e0973:	2d 10 ff 00 00       	sub    $0xff10,%eax
5e0978:	83 f8 ff             	cmp    $0xffffffff,%eax
5e097b:	75 25                	jne    0x5e09a2
5e097d:	0f b7 c6             	movzwl %si,%eax
5e0980:	83 f8 41             	cmp    $0x41,%eax
5e0983:	72 0a                	jb     0x5e098f
5e0985:	83 f8 5a             	cmp    $0x5a,%eax
5e0988:	77 05                	ja     0x5e098f
5e098a:	8d 48 9f             	lea    -0x61(%eax),%ecx
5e098d:	eb 08                	jmp    0x5e0997
5e098f:	8d 48 9f             	lea    -0x61(%eax),%ecx
5e0992:	83 f9 19             	cmp    $0x19,%ecx
5e0995:	77 4c                	ja     0x5e09e3
5e0997:	83 f9 19             	cmp    $0x19,%ecx
5e099a:	77 03                	ja     0x5e099f
5e099c:	83 c0 e0             	add    $0xffffffe0,%eax
5e099f:	83 c0 c9             	add    $0xffffffc9,%eax
5e09a2:	85 c0                	test   %eax,%eax
5e09a4:	75 3d                	jne    0x5e09e3
5e09a6:	0f b7 02             	movzwl (%edx),%eax
5e09a9:	8d 4a 02             	lea    0x2(%edx),%ecx
5e09ac:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5e09af:	83 f8 78             	cmp    $0x78,%eax
5e09b2:	74 1a                	je     0x5e09ce
5e09b4:	83 f8 58             	cmp    $0x58,%eax
5e09b7:	74 15                	je     0x5e09ce
5e09b9:	85 ff                	test   %edi,%edi
5e09bb:	75 06                	jne    0x5e09c3
5e09bd:	6a 08                	push   $0x8
5e09bf:	5f                   	pop    %edi
5e09c0:	89 7d 14             	mov    %edi,0x14(%ebp)
5e09c3:	50                   	push   %eax
5e09c4:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5e09c7:	e8 84 9d ff ff       	call   0x5da750
5e09cc:	eb 1f                	jmp    0x5e09ed
5e09ce:	85 ff                	test   %edi,%edi
5e09d0:	75 06                	jne    0x5e09d8
5e09d2:	6a 10                	push   $0x10
5e09d4:	5f                   	pop    %edi
5e09d5:	89 7d 14             	mov    %edi,0x14(%ebp)
5e09d8:	0f b7 31             	movzwl (%ecx),%esi
5e09db:	8d 51 02             	lea    0x2(%ecx),%edx
5e09de:	89 55 0c             	mov    %edx,0xc(%ebp)
5e09e1:	eb 0a                	jmp    0x5e09ed
5e09e3:	85 ff                	test   %edi,%edi
5e09e5:	75 06                	jne    0x5e09ed
5e09e7:	6a 0a                	push   $0xa
5e09e9:	5f                   	pop    %edi
5e09ea:	89 7d 14             	mov    %edi,0x14(%ebp)
5e09ed:	6a 30                	push   $0x30
5e09ef:	59                   	pop    %ecx
5e09f0:	83 c8 ff             	or     $0xffffffff,%eax
5e09f3:	33 d2                	xor    %edx,%edx
5e09f5:	f7 f7                	div    %edi
5e09f7:	8b f8                	mov    %eax,%edi
5e09f9:	66 3b f1             	cmp    %cx,%si
5e09fc:	0f 82 53 01 00 00    	jb     0x5e0b55
5e0a02:	6a 3a                	push   $0x3a
5e0a04:	58                   	pop    %eax
5e0a05:	66 3b f0             	cmp    %ax,%si
5e0a08:	73 0b                	jae    0x5e0a15
5e0a0a:	0f b7 ce             	movzwl %si,%ecx
5e0a0d:	83 e9 30             	sub    $0x30,%ecx
5e0a10:	e9 3b 01 00 00       	jmp    0x5e0b50
5e0a15:	b8 10 ff 00 00       	mov    $0xff10,%eax
5e0a1a:	66 3b f0             	cmp    %ax,%si
5e0a1d:	0f 83 1f 01 00 00    	jae    0x5e0b42
5e0a23:	8b 45 f8             	mov    -0x8(%ebp),%eax
5e0a26:	66 3b f0             	cmp    %ax,%si
5e0a29:	0f 82 26 01 00 00    	jb     0x5e0b55
5e0a2f:	66 3b 75 f4          	cmp    -0xc(%ebp),%si
5e0a33:	0f 82 12 01 00 00    	jb     0x5e0b4b
5e0a39:	8b 45 f0             	mov    -0x10(%ebp),%eax
5e0a3c:	66 3b f0             	cmp    %ax,%si
5e0a3f:	0f 82 10 01 00 00    	jb     0x5e0b55
5e0a45:	66 3b 75 ec          	cmp    -0x14(%ebp),%si
5e0a49:	0f 82 fc 00 00 00    	jb     0x5e0b4b
5e0a4f:	8b 45 e8             	mov    -0x18(%ebp),%eax
5e0a52:	66 3b f0             	cmp    %ax,%si
5e0a55:	0f 82 fa 00 00 00    	jb     0x5e0b55
5e0a5b:	66 3b 75 e4          	cmp    -0x1c(%ebp),%si
5e0a5f:	0f 82 e6 00 00 00    	jb     0x5e0b4b
5e0a65:	8b 45 e0             	mov    -0x20(%ebp),%eax
5e0a68:	66 3b f0             	cmp    %ax,%si
5e0a6b:	0f 82 e4 00 00 00    	jb     0x5e0b55
5e0a71:	66 3b 75 dc          	cmp    -0x24(%ebp),%si
5e0a75:	0f 82 d0 00 00 00    	jb     0x5e0b4b
5e0a7b:	8b 45 d8             	mov    -0x28(%ebp),%eax
5e0a7e:	66 3b f0             	cmp    %ax,%si
5e0a81:	0f 82 ce 00 00 00    	jb     0x5e0b55
5e0a87:	66 3b 75 d4          	cmp    -0x2c(%ebp),%si
5e0a8b:	0f 82 ba 00 00 00    	jb     0x5e0b4b
5e0a91:	8b 45 d0             	mov    -0x30(%ebp),%eax
5e0a94:	66 3b f0             	cmp    %ax,%si
5e0a97:	0f 82 b8 00 00 00    	jb     0x5e0b55
5e0a9d:	66 3b 75 cc          	cmp    -0x34(%ebp),%si
5e0aa1:	0f 82 a4 00 00 00    	jb     0x5e0b4b
5e0aa7:	8b 45 c8             	mov    -0x38(%ebp),%eax
5e0aaa:	66 3b f0             	cmp    %ax,%si
5e0aad:	0f 82 a2 00 00 00    	jb     0x5e0b55
5e0ab3:	66 3b 75 c4          	cmp    -0x3c(%ebp),%si
5e0ab7:	0f 82 8e 00 00 00    	jb     0x5e0b4b
5e0abd:	8b 45 c0             	mov    -0x40(%ebp),%eax
5e0ac0:	66 3b f0             	cmp    %ax,%si
5e0ac3:	0f 82 8c 00 00 00    	jb     0x5e0b55
5e0ac9:	66 3b 75 bc          	cmp    -0x44(%ebp),%si
5e0acd:	72 7c                	jb     0x5e0b4b
5e0acf:	8b 45 b8             	mov    -0x48(%ebp),%eax
5e0ad2:	66 3b f0             	cmp    %ax,%si
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