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
5f2d31:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f2d34:	89 5d e8             	mov    %ebx,-0x18(%ebp)
5f2d37:	89 7d fc             	mov    %edi,-0x4(%ebp)
5f2d3a:	74 0b                	je     0x5f2d47
5f2d3c:	83 ff ff             	cmp    $0xffffffff,%edi
5f2d3f:	74 06                	je     0x5f2d47
5f2d41:	8d 47 ff             	lea    -0x1(%edi),%eax
5f2d44:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f2d47:	33 d2                	xor    %edx,%edx
5f2d49:	33 c9                	xor    %ecx,%ecx
5f2d4b:	8b 45 f0             	mov    -0x10(%ebp),%eax
5f2d4e:	0b 45 ec             	or     -0x14(%ebp),%eax
5f2d51:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f2d54:	89 55 f4             	mov    %edx,-0xc(%ebp)
5f2d57:	74 0a                	je     0x5f2d63
5f2d59:	3b 55 f0             	cmp    -0x10(%ebp),%edx
5f2d5c:	75 05                	jne    0x5f2d63
5f2d5e:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
5f2d61:	74 65                	je     0x5f2dc8
5f2d63:	8d 4e 08             	lea    0x8(%esi),%ecx
5f2d66:	e8 14 2d 00 00       	call   0x5f5a7f
5f2d6b:	50                   	push   %eax
5f2d6c:	ff 75 08             	push   0x8(%ebp)
5f2d6f:	8b ce                	mov    %esi,%ecx
5f2d71:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f2d74:	e8 3a 2d 00 00       	call   0x5f5ab3
5f2d79:	84 c0                	test   %al,%al
5f2d7b:	74 39                	je     0x5f2db6
5f2d7d:	80 7e 2e 00          	cmpb   $0x0,0x2e(%esi)
5f2d81:	75 17                	jne    0x5f2d9a
5f2d83:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f2d86:	85 c0                	test   %eax,%eax
5f2d88:	74 1e                	je     0x5f2da8
5f2d8a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5f2d8d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5f2d90:	88 11                	mov    %dl,(%ecx)
5f2d92:	41                   	inc    %ecx
5f2d93:	48                   	dec    %eax
5f2d94:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5f2d97:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f2d9a:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f2d9d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f2da0:	83 c2 01             	add    $0x1,%edx
5f2da3:	83 d1 00             	adc    $0x0,%ecx
5f2da6:	eb a3                	jmp    0x5f2d4b
5f2da8:	83 ff ff             	cmp    $0xffffffff,%edi
5f2dab:	0f 84 66 ff ff ff    	je     0x5f2d17
5f2db1:	e9 5e ff ff ff       	jmp    0x5f2d14
5f2db6:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5f2db9:	8d 4e 08             	lea    0x8(%esi),%ecx
5f2dbc:	52                   	push   %edx
5f2dbd:	e8 2c 36 00 00       	call   0x5f63ee
5f2dc2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f2dc5:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f2dc8:	8b c2                	mov    %edx,%eax
5f2dca:	0b c1                	or     %ecx,%eax
5f2dcc:	0f 84 0c ff ff ff    	je     0x5f2cde
5f2dd2:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5f2dd6:	75 18                	jne    0x5f2df0
5f2dd8:	3b 55 f0             	cmp    -0x10(%ebp),%edx
5f2ddb:	75 05                	jne    0x5f2de2
5f2ddd:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
5f2de0:	74 0e                	je     0x5f2df0
5f2de2:	8b 06                	mov    (%esi),%eax
5f2de4:	83 e0 04             	and    $0x4,%eax
5f2de7:	83 c8 00             	or     $0x0,%eax
5f2dea:	0f 84 ee fe ff ff    	je     0x5f2cde
5f2df0:	80 7e 2e 00          	cmpb   $0x0,0x2e(%esi)
5f2df4:	75 0c                	jne    0x5f2e02
5f2df6:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5f2dfa:	74 06                	je     0x5f2e02
5f2dfc:	8b 45 e8             	mov    -0x18(%ebp),%eax
5f2dff:	c6 00 00             	movb   $0x0,(%eax)
5f2e02:	b0 01                	mov    $0x1,%al
5f2e04:	e9 d7 fe ff ff       	jmp    0x5f2ce0
5f2e09:	8b ff                	mov    %edi,%edi
5f2e0b:	55                   	push   %ebp
5f2e0c:	8b ec                	mov    %esp,%ebp
5f2e0e:	83 ec 1c             	sub    $0x1c,%esp
5f2e11:	53                   	push   %ebx
5f2e12:	56                   	push   %esi
5f2e13:	8b f1                	mov    %ecx,%esi
5f2e15:	33 db                	xor    %ebx,%ebx
5f2e17:	57                   	push   %edi
5f2e18:	38 5e 2e             	cmp    %bl,0x2e(%esi)
5f2e1b:	75 3c                	jne    0x5f2e59
5f2e1d:	83 46 6c 04          	addl   $0x4,0x6c(%esi)
5f2e21:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5f2e24:	8b 59 fc             	mov    -0x4(%ecx),%ebx
5f2e27:	85 db                	test   %ebx,%ebx
5f2e29:	75 19                	jne    0x5f2e44
5f2e2b:	e8 c9 a1 ff ff       	call   0x5ecff9
5f2e30:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f2e36:	e8 e4 a0 ff ff       	call   0x5ecf1f
5f2e3b:	32 c0                	xor    %al,%al
5f2e3d:	5f                   	pop    %edi
5f2e3e:	5e                   	pop    %esi
5f2e3f:	5b                   	pop    %ebx
5f2e40:	c9                   	leave
5f2e41:	c2 08 00             	ret    $0x8
5f2e44:	8b 06                	mov    (%esi),%eax
5f2e46:	83 e0 01             	and    $0x1,%eax
5f2e49:	83 c8 00             	or     $0x0,%eax
5f2e4c:	74 0b                	je     0x5f2e59
5f2e4e:	8d 41 04             	lea    0x4(%ecx),%eax
5f2e51:	89 46 6c             	mov    %eax,0x6c(%esi)
5f2e54:	8b 78 fc             	mov    -0x4(%eax),%edi
5f2e57:	eb 03                	jmp    0x5f2e5c
5f2e59:	83 cf ff             	or     $0xffffffff,%edi
5f2e5c:	85 ff                	test   %edi,%edi
5f2e5e:	75 23                	jne    0x5f2e83
5f2e60:	8b 06                	mov    (%esi),%eax
5f2e62:	83 e0 04             	and    $0x4,%eax
5f2e65:	0b c7                	or     %edi,%eax
5f2e67:	74 0d                	je     0x5f2e76
5f2e69:	8d 4e 08             	lea    0x8(%esi),%ecx
5f2e6c:	e8 0e 2c 00 00       	call   0x5f5a7f
5f2e71:	33 c0                	xor    %eax,%eax
5f2e73:	66 89 03             	mov    %ax,(%ebx)
5f2e76:	e8 7e a1 ff ff       	call   0x5ecff9
5f2e7b:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
5f2e81:	eb b8                	jmp    0x5f2e3b
5f2e83:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5f2e87:	8b 46 30             	mov    0x30(%esi),%eax
5f2e8a:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f2e8d:	8b 46 34             	mov    0x34(%esi),%eax
5f2e90:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f2e93:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
5f2e96:	89 7d f4             	mov    %edi,-0xc(%ebp)
5f2e99:	74 0b                	je     0x5f2ea6
5f2e9b:	83 ff ff             	cmp    $0xffffffff,%edi
5f2e9e:	74 06                	je     0x5f2ea6
5f2ea0:	8d 47 ff             	lea    -0x1(%edi),%eax
5f2ea3:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f2ea6:	33 d2                	xor    %edx,%edx
5f2ea8:	33 c9                	xor    %ecx,%ecx
5f2eaa:	8b 45 f0             	mov    -0x10(%ebp),%eax
5f2ead:	0b 45 ec             	or     -0x14(%ebp),%eax
5f2eb0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5f2eb3:	89 55 f8             	mov    %edx,-0x8(%ebp)
5f2eb6:	74 0a                	je     0x5f2ec2
5f2eb8:	3b 55 f0             	cmp    -0x10(%ebp),%edx
5f2ebb:	75 05                	jne    0x5f2ec2
5f2ebd:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
5f2ec0:	74 6b                	je     0x5f2f2d
5f2ec2:	8d 4e 08             	lea    0x8(%esi),%ecx
5f2ec5:	e8 b5 2b 00 00       	call   0x5f5a7f
5f2eca:	50                   	push   %eax
5f2ecb:	ff 75 08             	push   0x8(%ebp)
5f2ece:	8b ce                	mov    %esi,%ecx
5f2ed0:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f2ed3:	e8 db 2b 00 00       	call   0x5f5ab3
5f2ed8:	84 c0                	test   %al,%al
5f2eda:	74 40                	je     0x5f2f1c
5f2edc:	80 7e 2e 00          	cmpb   $0x0,0x2e(%esi)
5f2ee0:	75 1e                	jne    0x5f2f00
5f2ee2:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
5f2ee6:	74 26                	je     0x5f2f0e
5f2ee8:	ff 75 e8             	push   -0x18(%ebp)
5f2eeb:	8d 45 f4             	lea    -0xc(%ebp),%eax
5f2eee:	8b ce                	mov    %esi,%ecx
5f2ef0:	50                   	push   %eax
5f2ef1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5f2ef4:	50                   	push   %eax
5f2ef5:	57                   	push   %edi
5f2ef6:	53                   	push   %ebx
5f2ef7:	e8 70 35 00 00       	call   0x5f646c
5f2efc:	84 c0                	test   %al,%al
5f2efe:	74 27                	je     0x5f2f27
5f2f00:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f2f03:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f2f06:	83 c2 01             	add    $0x1,%edx
5f2f09:	83 d1 00             	adc    $0x0,%ecx
5f2f0c:	eb 9c                	jmp    0x5f2eaa
5f2f0e:	83 ff ff             	cmp    $0xffffffff,%edi