5f29c0:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f29c3:	80 fb 2d             	cmp    $0x2d,%bl
5f29c6:	75 08                	jne    0x5f29d0
5f29c8:	83 c8 02             	or     $0x2,%eax
5f29cb:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f29ce:	eb 05                	jmp    0x5f29d5
5f29d0:	80 fb 2b             	cmp    $0x2b,%bl
5f29d3:	75 0d                	jne    0x5f29e2
5f29d5:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5f29d8:	e8 6b 30 00 00       	call   0x5f5a48
5f29dd:	8a d8                	mov    %al,%bl
5f29df:	88 5d f8             	mov    %bl,-0x8(%ebp)
5f29e2:	83 c9 ff             	or     $0xffffffff,%ecx
5f29e5:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5f29e8:	85 ff                	test   %edi,%edi
5f29ea:	74 05                	je     0x5f29f1
5f29ec:	83 ff 10             	cmp    $0x10,%edi
5f29ef:	75 7b                	jne    0x5f2a6c
5f29f1:	8a c3                	mov    %bl,%al
5f29f3:	2c 30                	sub    $0x30,%al
5f29f5:	3c 09                	cmp    $0x9,%al
5f29f7:	77 08                	ja     0x5f2a01
5f29f9:	0f be c3             	movsbl %bl,%eax
5f29fc:	83 c0 d0             	add    $0xffffffd0,%eax
5f29ff:	eb 22                	jmp    0x5f2a23
5f2a01:	8a c3                	mov    %bl,%al
5f2a03:	2c 61                	sub    $0x61,%al
5f2a05:	3c 19                	cmp    $0x19,%al
5f2a07:	77 08                	ja     0x5f2a11
5f2a09:	0f be c3             	movsbl %bl,%eax
5f2a0c:	83 c0 a9             	add    $0xffffffa9,%eax
5f2a0f:	eb 12                	jmp    0x5f2a23
5f2a11:	8a c3                	mov    %bl,%al
5f2a13:	2c 41                	sub    $0x41,%al
5f2a15:	3c 19                	cmp    $0x19,%al
5f2a17:	77 08                	ja     0x5f2a21
5f2a19:	0f be c3             	movsbl %bl,%eax
5f2a1c:	83 c0 c9             	add    $0xffffffc9,%eax
5f2a1f:	eb 02                	jmp    0x5f2a23
5f2a21:	8b c1                	mov    %ecx,%eax
5f2a23:	85 c0                	test   %eax,%eax
5f2a25:	74 09                	je     0x5f2a30
5f2a27:	85 ff                	test   %edi,%edi
5f2a29:	75 41                	jne    0x5f2a6c
5f2a2b:	6a 0a                	push   $0xa
5f2a2d:	5f                   	pop    %edi
5f2a2e:	eb 3c                	jmp    0x5f2a6c
5f2a30:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5f2a33:	e8 10 30 00 00       	call   0x5f5a48
5f2a38:	88 45 e0             	mov    %al,-0x20(%ebp)
5f2a3b:	3c 78                	cmp    $0x78,%al
5f2a3d:	74 18                	je     0x5f2a57
5f2a3f:	3c 58                	cmp    $0x58,%al
5f2a41:	74 14                	je     0x5f2a57
5f2a43:	85 ff                	test   %edi,%edi
5f2a45:	75 03                	jne    0x5f2a4a
5f2a47:	6a 08                	push   $0x8
5f2a49:	5f                   	pop    %edi
5f2a4a:	ff 75 e0             	push   -0x20(%ebp)
5f2a4d:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5f2a50:	e8 52 39 00 00       	call   0x5f63a7
5f2a55:	eb 12                	jmp    0x5f2a69
5f2a57:	85 ff                	test   %edi,%edi
5f2a59:	75 03                	jne    0x5f2a5e
5f2a5b:	6a 10                	push   $0x10
5f2a5d:	5f                   	pop    %edi
5f2a5e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5f2a61:	e8 e2 2f 00 00       	call   0x5f5a48
5f2a66:	88 45 f8             	mov    %al,-0x8(%ebp)
5f2a69:	83 c9 ff             	or     $0xffffffff,%ecx
5f2a6c:	53                   	push   %ebx
5f2a6d:	8b c7                	mov    %edi,%eax
5f2a6f:	99                   	cltd
5f2a70:	52                   	push   %edx
5f2a71:	50                   	push   %eax
5f2a72:	51                   	push   %ecx
5f2a73:	51                   	push   %ecx
5f2a74:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f2a77:	89 55 d4             	mov    %edx,-0x2c(%ebp)
5f2a7a:	e8 01 f4 fe ff       	call   0x5e1e80
5f2a7f:	89 5d dc             	mov    %ebx,-0x24(%ebp)
5f2a82:	5b                   	pop    %ebx
5f2a83:	90                   	nop
5f2a84:	89 4d d8             	mov    %ecx,-0x28(%ebp)
5f2a87:	33 db                	xor    %ebx,%ebx
5f2a89:	8a 4d f8             	mov    -0x8(%ebp),%cl
5f2a8c:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f2a8f:	89 55 e4             	mov    %edx,-0x1c(%ebp)
5f2a92:	8a c1                	mov    %cl,%al
5f2a94:	2c 30                	sub    $0x30,%al
5f2a96:	3c 09                	cmp    $0x9,%al
5f2a98:	77 08                	ja     0x5f2aa2
5f2a9a:	0f be d1             	movsbl %cl,%edx
5f2a9d:	83 c2 d0             	add    $0xffffffd0,%edx
5f2aa0:	eb 23                	jmp    0x5f2ac5
5f2aa2:	8a c1                	mov    %cl,%al
5f2aa4:	2c 61                	sub    $0x61,%al
5f2aa6:	3c 19                	cmp    $0x19,%al
5f2aa8:	77 08                	ja     0x5f2ab2
5f2aaa:	0f be d1             	movsbl %cl,%edx
5f2aad:	83 c2 a9             	add    $0xffffffa9,%edx
5f2ab0:	eb 13                	jmp    0x5f2ac5
5f2ab2:	8a c1                	mov    %cl,%al
5f2ab4:	2c 41                	sub    $0x41,%al
5f2ab6:	3c 19                	cmp    $0x19,%al
5f2ab8:	77 08                	ja     0x5f2ac2
5f2aba:	0f be d1             	movsbl %cl,%edx
5f2abd:	83 c2 c9             	add    $0xffffffc9,%edx
5f2ac0:	eb 03                	jmp    0x5f2ac5
5f2ac2:	83 ca ff             	or     $0xffffffff,%edx
5f2ac5:	89 55 f4             	mov    %edx,-0xc(%ebp)
5f2ac8:	83 fa ff             	cmp    $0xffffffff,%edx
5f2acb:	74 6d                	je     0x5f2b3a
5f2acd:	3b d7                	cmp    %edi,%edx
5f2acf:	73 69                	jae    0x5f2b3a
5f2ad1:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f2ad4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f2ad7:	83 c8 08             	or     $0x8,%eax
5f2ada:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f2add:	3b 75 e4             	cmp    -0x1c(%ebp),%esi
5f2ae0:	72 28                	jb     0x5f2b0a
5f2ae2:	77 05                	ja     0x5f2ae9
5f2ae4:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
5f2ae7:	72 21                	jb     0x5f2b0a
5f2ae9:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
5f2aec:	75 14                	jne    0x5f2b02
5f2aee:	3b 75 e4             	cmp    -0x1c(%ebp),%esi
5f2af1:	75 0f                	jne    0x5f2b02
5f2af3:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5f2af6:	3b 5d dc             	cmp    -0x24(%ebp),%ebx
5f2af9:	72 15                	jb     0x5f2b10
5f2afb:	77 05                	ja     0x5f2b02
5f2afd:	3b 55 d8             	cmp    -0x28(%ebp),%edx
5f2b00:	76 0e                	jbe    0x5f2b10
5f2b02:	83 c8 04             	or     $0x4,%eax
5f2b05:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f2b08:	eb 1e                	jmp    0x5f2b28
5f2b0a:	89 55 f4             	mov    %edx,-0xc(%ebp)
5f2b0d:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5f2b10:	56                   	push   %esi
5f2b11:	51                   	push   %ecx
5f2b12:	ff 75 d4             	push   -0x2c(%ebp)
5f2b15:	ff 75 d0             	push   -0x30(%ebp)
5f2b18:	e8 e3 ef fe ff       	call   0x5e1b00
5f2b1d:	03 45 f4             	add    -0xc(%ebp),%eax
5f2b20:	8b f2                	mov    %edx,%esi
5f2b22:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f2b25:	13 75 e0             	adc    -0x20(%ebp),%esi
5f2b28:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5f2b2b:	e8 18 2f 00 00       	call   0x5f5a48
5f2b30:	8a c8                	mov    %al,%cl
5f2b32:	88 4d f8             	mov    %cl,-0x8(%ebp)
5f2b35:	e9 58 ff ff ff       	jmp    0x5f2a92
5f2b3a:	ff 75 f8             	push   -0x8(%ebp)
5f2b3d:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5f2b40:	e8 62 38 00 00       	call   0x5f63a7
5f2b45:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f2b48:	a8 08                	test   $0x8,%al
5f2b4a:	75 15                	jne    0x5f2b61
5f2b4c:	ff 75 cc             	push   -0x34(%ebp)
5f2b4f:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5f2b52:	ff 75 c8             	push   -0x38(%ebp)
5f2b55:	e8 ce 32 00 00       	call   0x5f5e28
5f2b5a:	89 5d ec             	mov    %ebx,-0x14(%ebp)
5f2b5d:	8b f3                	mov    %ebx,%esi
5f2b5f:	eb 40                	jmp    0x5f2ba1
5f2b61:	8b 7d f0             	mov    -0x10(%ebp),%edi
5f2b64:	56                   	push   %esi
5f2b65:	57                   	push   %edi
5f2b66:	50                   	push   %eax
5f2b67:	e8 f2 a4 ff ff       	call   0x5ed05e
5f2b6c:	83 c4 0c             	add    $0xc,%esp
5f2b6f:	84 c0                	test   %al,%al
5f2b71:	74 33                	je     0x5f2ba6
5f2b73:	e8 81 a4 ff ff       	call   0x5ecff9
5f2b78:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
5f2b7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f2b81:	a8 01                	test   $0x1,%al
5f2b83:	75 09                	jne    0x5f2b8e
5f2b85:	83 c8 ff             	or     $0xffffffff,%eax
5f2b88:	8b f8                	mov    %eax,%edi
5f2b8a:	8b f0                	mov    %eax,%esi
5f2b8c:	eb 24                	jmp    0x5f2bb2
5f2b8e:	a8 02                	test   $0x2,%al
5f2b90:	74 0a                	je     0x5f2b9c
5f2b92:	89 5d ec             	mov    %ebx,-0x14(%ebp)
5f2b95:	be 00 00 00 80       	mov    $0x80000000,%esi
5f2b9a:	eb 05                	jmp    0x5f2ba1
5f2b9c:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
5f2ba1:	8b 55 ec             	mov    -0x14(%ebp),%edx
5f2ba4:	eb 0e                	jmp    0x5f2bb4
5f2ba6:	f6 45 fc 02          	testb  $0x2,-0x4(%ebp)
5f2baa:	74 06                	je     0x5f2bb2
5f2bac:	f7 df                	neg    %edi
5f2bae:	13 f3                	adc    %ebx,%esi
5f2bb0:	f7 de                	neg    %esi
5f2bb2:	8b d7                	mov    %edi,%edx
5f2bb4:	80 7d c4 00          	cmpb   $0x0,-0x3c(%ebp)
5f2bb8:	5b                   	pop    %ebx
5f2bb9:	74 0a                	je     0x5f2bc5
5f2bbb:	8b 45 b8             	mov    -0x48(%ebp),%eax
5f2bbe:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
5f2bc5:	33 c0                	xor    %eax,%eax
5f2bc7:	8b 7d 24             	mov    0x24(%ebp),%edi
5f2bca:	85 ff                	test   %edi,%edi
5f2bcc:	74 0a                	je     0x5f2bd8
5f2bce:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5f2bd1:	0b 4d 20             	or     0x20(%ebp),%ecx
5f2bd4:	75 02                	jne    0x5f2bd8
5f2bd6:	88 07                	mov    %al,(%edi)
5f2bd8:	8b c2                	mov    %edx,%eax
5f2bda:	8b d6                	mov    %esi,%edx
5f2bdc:	5f                   	pop    %edi
5f2bdd:	5e                   	pop    %esi
5f2bde:	c9                   	leave
5f2bdf:	c3                   	ret
5f2be0:	8b ff                	mov    %edi,%edi
5f2be2:	55                   	push   %ebp
5f2be3:	8b ec                	mov    %esp,%ebp
5f2be5:	83 ec 0c             	sub    $0xc,%esp
5f2be8:	d9 ee                	fldz
5f2bea:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f2bed:	56                   	push   %esi
5f2bee:	50                   	push   %eax
5f2bef:	83 ec 20             	sub    $0x20,%esp
5f2bf2:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
5f2bf6:	8b f1                	mov    %ecx,%esi
5f2bf8:	8d 45 ff             	lea    -0x1(%ebp),%eax
5f2bfb:	8b cc                	mov    %esp,%ecx
5f2bfd:	d9 5d f8             	fstps  -0x8(%ebp)
5f2c00:	50                   	push   %eax
5f2c01:	ff 76 34             	push   0x34(%esi)
5f2c04:	8d 46 08             	lea    0x8(%esi),%eax
5f2c07:	ff 76 30             	push   0x30(%esi)
5f2c0a:	50                   	push   %eax
5f2c0b:	51                   	push   %ecx
5f2c0c:	e8 c6 f2 ff ff       	call   0x5f1ed7
5f2c11:	83 c4 14             	add    $0x14,%esp
5f2c14:	ff 76 68             	push   0x68(%esi)
5f2c17:	e8 d9 f2 ff ff       	call   0x5f1ef5
5f2c1c:	83 c4 28             	add    $0x28,%esp
5f2c1f:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
5f2c23:	74 1c                	je     0x5f2c41
5f2c25:	83 f8 01             	cmp    $0x1,%eax
5f2c28:	74 17                	je     0x5f2c41
5f2c2a:	80 7e 2e 00          	cmpb   $0x0,0x2e(%esi)
5f2c2e:	74 04                	je     0x5f2c34
5f2c30:	b0 01                	mov    $0x1,%al
5f2c32:	eb 0f                	jmp    0x5f2c43
5f2c34:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f2c37:	8b ce                	mov    %esi,%ecx
5f2c39:	50                   	push   %eax
5f2c3a:	e8 60 03 00 00       	call   0x5f2f9f
5f2c3f:	eb 02                	jmp    0x5f2c43
5f2c41:	32 c0                	xor    %al,%al
5f2c43:	5e                   	pop    %esi
5f2c44:	c9                   	leave
5f2c45:	c3                   	ret
5f2c46:	8b ff                	mov    %edi,%edi
5f2c48:	55                   	push   %ebp
5f2c49:	8b ec                	mov    %esp,%ebp
5f2c4b:	83 ec 10             	sub    $0x10,%esp
5f2c4e:	d9 ee                	fldz
5f2c50:	8d 45 f0             	lea    -0x10(%ebp),%eax
5f2c53:	56                   	push   %esi
5f2c54:	50                   	push   %eax
5f2c55:	83 ec 20             	sub    $0x20,%esp
5f2c58:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
5f2c5c:	8b f1                	mov    %ecx,%esi
5f2c5e:	8d 45 ff             	lea    -0x1(%ebp),%eax
5f2c61:	8b cc                	mov    %esp,%ecx
5f2c63:	dd 5d f0             	fstpl  -0x10(%ebp)
5f2c66:	50                   	push   %eax
5f2c67:	ff 76 34             	push   0x34(%esi)
5f2c6a:	8d 46 08             	lea    0x8(%esi),%eax
5f2c6d:	ff 76 30             	push   0x30(%esi)
5f2c70:	50                   	push   %eax
5f2c71:	51                   	push   %ecx
5f2c72:	e8 60 f2 ff ff       	call   0x5f1ed7
5f2c77:	83 c4 14             	add    $0x14,%esp
5f2c7a:	ff 76 68             	push   0x68(%esi)
5f2c7d:	e8 ec f2 ff ff       	call   0x5f1f6e
5f2c82:	83 c4 28             	add    $0x28,%esp
5f2c85:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
5f2c89:	74 1c                	je     0x5f2ca7
5f2c8b:	83 f8 01             	cmp    $0x1,%eax
5f2c8e:	74 17                	je     0x5f2ca7
5f2c90:	80 7e 2e 00          	cmpb   $0x0,0x2e(%esi)
5f2c94:	74 04                	je     0x5f2c9a
5f2c96:	b0 01                	mov    $0x1,%al
5f2c98:	eb 0f                	jmp    0x5f2ca9
5f2c9a:	8d 45 f0             	lea    -0x10(%ebp),%eax
5f2c9d:	8b ce                	mov    %esi,%ecx
5f2c9f:	50                   	push   %eax
5f2ca0:	e8 2e 03 00 00       	call   0x5f2fd3
5f2ca5:	eb 02                	jmp    0x5f2ca9
5f2ca7:	32 c0                	xor    %al,%al
5f2ca9:	5e                   	pop    %esi
5f2caa:	c9                   	leave
5f2cab:	c3                   	ret
5f2cac:	8b ff                	mov    %edi,%edi
5f2cae:	55                   	push   %ebp
5f2caf:	8b ec                	mov    %esp,%ebp
5f2cb1:	83 ec 1c             	sub    $0x1c,%esp
5f2cb4:	53                   	push   %ebx
5f2cb5:	56                   	push   %esi
5f2cb6:	8b f1                	mov    %ecx,%esi
5f2cb8:	33 db                	xor    %ebx,%ebx
5f2cba:	57                   	push   %edi
5f2cbb:	38 5e 2e             	cmp    %bl,0x2e(%esi)
5f2cbe:	75 3c                	jne    0x5f2cfc
5f2cc0:	83 46 6c 04          	addl   $0x4,0x6c(%esi)
5f2cc4:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5f2cc7:	8b 59 fc             	mov    -0x4(%ecx),%ebx
5f2cca:	85 db                	test   %ebx,%ebx
5f2ccc:	75 19                	jne    0x5f2ce7
5f2cce:	e8 26 a3 ff ff       	call   0x5ecff9
5f2cd3:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f2cd9:	e8 41 a2 ff ff       	call   0x5ecf1f
5f2cde:	32 c0                	xor    %al,%al
5f2ce0:	5f                   	pop    %edi
5f2ce1:	5e                   	pop    %esi
5f2ce2:	5b                   	pop    %ebx
5f2ce3:	c9                   	leave
5f2ce4:	c2 08 00             	ret    $0x8
5f2ce7:	8b 06                	mov    (%esi),%eax
5f2ce9:	83 e0 01             	and    $0x1,%eax
5f2cec:	83 c8 00             	or     $0x0,%eax
5f2cef:	74 0b                	je     0x5f2cfc
5f2cf1:	8d 41 04             	lea    0x4(%ecx),%eax
5f2cf4:	89 46 6c             	mov    %eax,0x6c(%esi)
5f2cf7:	8b 78 fc             	mov    -0x4(%eax),%edi
5f2cfa:	eb 03                	jmp    0x5f2cff
5f2cfc:	83 cf ff             	or     $0xffffffff,%edi
5f2cff:	85 ff                	test   %edi,%edi
5f2d01:	75 21                	jne    0x5f2d24
5f2d03:	8b 06                	mov    (%esi),%eax
5f2d05:	83 e0 04             	and    $0x4,%eax
5f2d08:	0b c7                	or     %edi,%eax
5f2d0a:	74 0b                	je     0x5f2d17
5f2d0c:	8d 4e 08             	lea    0x8(%esi),%ecx
5f2d0f:	e8 6b 2d 00 00       	call   0x5f5a7f
5f2d14:	c6 03 00             	movb   $0x0,(%ebx)
5f2d17:	e8 dd a2 ff ff       	call   0x5ecff9
5f2d1c:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
5f2d22:	eb ba                	jmp    0x5f2cde
5f2d24:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5f2d28:	8b 46 30             	mov    0x30(%esi),%eax
5f2d2b:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f2d2e:	8b 46 34             	mov    0x34(%esi),%eax